diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0abb342f..320b88b8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,7 +54,7 @@ jobs: - run: msbuild tools\windows\sp\sp.sln /p:Configuration=Release /p:Platform=x64 /m - shell: bash run: | - for t in tools/windows/sp/build/vs/Release/bin/*.exe; do + for t in tools/windows/sp/build/vs/Release/bin/*.exe tools/windows/sp/build/vs/Release/bin/spn/*.exe; do echo "=== $t ===" "$t" || exit 1 done diff --git a/sp/sp_test.h b/sp/sp_test.h index aad15ac2..3e9348f3 100644 --- a/sp/sp_test.h +++ b/sp/sp_test.h @@ -152,20 +152,27 @@ typedef struct { #if defined(__ELF__) || defined(SP_WASM) || (defined(SP_TCC) && defined(SP_LINUX)) #define SP_TEST_AUTOREG 1 - #define __sp_test_section __attribute__((used, section("sp_test"))) + #if SP_HAS_ATTRIBUTE(retain) + #define __sp_test_section __attribute__((used, retain, section("sp_test"))) + #else + #define __sp_test_section __attribute__((used, section("sp_test"))) + #endif #define __sp_test_ptr_const const + #define __sp_test_keep(ID) #elif defined(SP_MACOS) #define SP_TEST_AUTOREG 1 #define __sp_test_section __attribute__((used, section("__DATA,sp_test"), no_sanitize("address"))) #define __sp_test_ptr_const const + #define __sp_test_keep(ID) #elif defined(SP_WIN32) && defined(SP_GNUC) #define SP_TEST_AUTOREG 1 // The pointer must be const: lld's MinGW driver only merges and $-sorts // same-named section chunks with identical flags, and the anchors are const - #define __sp_test_section __attribute__((used, section("sp_test$m"))) + #define __sp_test_section __declspec(dllexport) __attribute__((used, section("sp_test$m"))) #define __sp_test_ptr_const const + #define __sp_test_keep(ID) #elif defined(SP_WIN32) && defined(SP_MSVC) #define SP_TEST_AUTOREG 1 @@ -176,6 +183,7 @@ typedef struct { #pragma section("sp_test$z", read) #define __sp_test_section __declspec(allocate("sp_test$m")) #define __sp_test_ptr_const + #define __sp_test_keep(ID) __pragma(comment(linker, "/include:" sp_mstr(ID))) #else #define SP_TEST_AUTOREG 0 #endif @@ -189,9 +197,10 @@ typedef struct { __VA_ARGS__ \ } \ }; \ - static __sp_test_section const sp_test_entry_t* __sp_test_ptr_const ID = &sp_mcat(ID, _v) + __sp_test_keep(ID) \ + SP_EXTERN_C __sp_test_section const sp_test_entry_t* __sp_test_ptr_const ID = &sp_mcat(ID, _v) - #define sp_test_reg(SUITE, ...) __sp_test_reg(sp_mcat(sp_test_reg_, __COUNTER__), SUITE, __VA_ARGS__) + #define sp_test_reg(SUITE, NAME, ...) __sp_test_reg(sp_mcat(sp_mcat(sp_test_reg_, SUITE), sp_mcat(_, NAME)), SUITE, __VA_ARGS__) #define __sp_test_reg_suite(ID, SUITE, ...) \ static const sp_test_entry_t sp_mcat(ID, _v) = { \ @@ -201,13 +210,14 @@ typedef struct { __VA_ARGS__ \ } \ }; \ - static __sp_test_section const sp_test_entry_t* __sp_test_ptr_const ID = &sp_mcat(ID, _v) + __sp_test_keep(ID) \ + SP_EXTERN_C __sp_test_section const sp_test_entry_t* __sp_test_ptr_const ID = &sp_mcat(ID, _v) - #define sp_test_suite(SUITE, ...) __sp_test_reg_suite(sp_mcat(sp_test_suite_reg_, __COUNTER__), SUITE, __VA_ARGS__) + #define sp_test_suite(SUITE, ...) __sp_test_reg_suite(sp_mcat(sp_test_suite_reg_, SUITE), SUITE, __VA_ARGS__) #define sp_test(SUITE, NAME, ...) \ static sp_err_t __sp_test_fn(SUITE, NAME)(sp_test_t* t); \ - sp_test_reg(SUITE, \ + sp_test_reg(SUITE, NAME, \ .name = #NAME, \ .kind = SP_TEST_DECL_FN, \ .fn = __sp_test_fn(SUITE, NAME), \ @@ -234,7 +244,7 @@ typedef struct { #define sp_test_each(SUITE, NAME, TYPE, ARR, ...) \ __sp_test_each_def(SUITE, NAME, TYPE, ARR) \ __sp_test_each_name_check(ARR); \ - sp_test_reg(SUITE, \ + sp_test_reg(SUITE, NAME, \ .name = #NAME, \ .kind = SP_TEST_DECL_EACH, \ .each = { \ @@ -251,7 +261,7 @@ typedef struct { #define sp_test_each_anon(SUITE, NAME, TYPE, ARR, ...) \ __sp_test_each_def(SUITE, NAME, TYPE, ARR) \ - sp_test_reg(SUITE, \ + sp_test_reg(SUITE, NAME, \ .name = #NAME, \ .kind = SP_TEST_DECL_EACH, \ .each = { \ @@ -268,7 +278,7 @@ typedef struct { sp_static_assert(sizeof(TYPE) == sizeof((ARR)[0]), sp_test_each_row_type_mismatch); \ __sp_test_each_name_check(ARR); \ __sp_test_each_thunk_def(SUITE, NAME, TYPE, FN) \ - sp_test_reg(SUITE, \ + sp_test_reg(SUITE, NAME, \ .name = #NAME, \ .kind = SP_TEST_DECL_EACH, \ .each = { \ @@ -285,7 +295,7 @@ typedef struct { #define sp_test_sweep(SUITE, NAME, TYPE, ...) \ static sp_err_t __sp_test_fn(SUITE, NAME)(sp_test_t* t, TYPE* it); \ __sp_test_each_thunk_def(SUITE, NAME, TYPE, __sp_test_fn(SUITE, NAME)) \ - sp_test_reg(SUITE, \ + sp_test_reg(SUITE, NAME, \ .name = #NAME, \ .kind = SP_TEST_DECL_SWEEP, \ .sweep = { \ @@ -299,7 +309,7 @@ typedef struct { #define __sp_test_unsupported() \ sp_static_assert(false, no_sp_test_autoreg_for_this_object_format__pass_entries_to_sp_test_main) - #define sp_test_reg(SUITE, ...) __sp_test_unsupported() + #define sp_test_reg(SUITE, NAME, ...) __sp_test_unsupported() #define sp_test_suite(SUITE, ...) __sp_test_unsupported() #define sp_test(SUITE, NAME, ...) __sp_test_unsupported(); static sp_err_t __sp_test_fn(SUITE, NAME)(sp_test_t* t) #define sp_test_each(SUITE, NAME, TYPE, ARR, ...) __sp_test_unsupported(); static sp_err_t __sp_test_fn(SUITE, NAME)(sp_test_t* t, TYPE* it) diff --git a/test/msvc/sdk.c b/test/msvc/sdk.c index 12bbf65e..8ca6f6fb 100644 --- a/test/msvc/sdk.c +++ b/test/msvc/sdk.c @@ -54,7 +54,7 @@ sp_test_each(msvc, sdk_new, test_t, tests) { c8 buf [SP_MSVC_PATH_MAX] = sp_zero; sp_expect_str_eq_c(t, sp_msvc_sdk_path_buf(buf, sizeof(buf), &sdk, SP_MSVC_SDK_PATH_LIB_UM).value, it->expect.lib_um); - c8 small [8] = sp_zero; - sp_expect_eq(t, sp_msvc_sdk_path_buf(small, sizeof(small), &sdk, SP_MSVC_SDK_PATH_LIB_UM).err, SP_ERR_IO_NO_SPACE); + c8 tiny [8] = sp_zero; + sp_expect_eq(t, sp_msvc_sdk_path_buf(tiny, sizeof(tiny), &sdk, SP_MSVC_SDK_PATH_LIB_UM).err, SP_ERR_IO_NO_SPACE); return SP_OK; } diff --git a/tools/windows/sp/tls.vcxproj b/tools/windows/sp/qsort.vcxproj similarity index 75% rename from tools/windows/sp/tls.vcxproj rename to tools/windows/sp/qsort.vcxproj index 82391359..d7bf5119 100644 --- a/tools/windows/sp/tls.vcxproj +++ b/tools/windows/sp/qsort.vcxproj @@ -13,24 +13,18 @@ 17.0 Win32Proj - {E1D4B7A9-6A0C-4F2B-8D3E-9B5C1A7F4D21} - tls - tls + {21A5F3D1-2C70-4A11-9F8B-1A2B3C4D5E68} + qsort + qsort 10.0 - tls - ..\..\..\test\tls.c - ..\..\..\sp.h;..\..\..\sp\sp_tls.h;..\..\..\test\tools\utest.h + qsort + ..\..\..\test\qsort.c + ..\..\..\sp.h;..\..\..\test\tools\utest.h - SP_TLS_WITH_MBEDTLS - $(MSBuildThisFileDirectory)..\..\vendor\mbedtls\include;$(MSBuildThisFileDirectory)..\..\vendor\mbedtls\library - ws2_32.lib;crypt32.lib;advapi32.lib;bcrypt.lib + + + - - - Level1 - false - - Debug diff --git a/tools/windows/sp/sp.props b/tools/windows/sp/sp.props index a800eac8..47eaccc7 100644 --- a/tools/windows/sp/sp.props +++ b/tools/windows/sp/sp.props @@ -46,7 +46,7 @@ Console true - shell32.lib;ws2_32.lib;$(SpAdditionalDependencies);%(AdditionalDependencies) + shell32.lib;ws2_32.lib;crypt32.lib;advapi32.lib;bcrypt.lib;$(SpAdditionalDependencies);%(AdditionalDependencies) true diff --git a/tools/windows/sp/sp.sln b/tools/windows/sp/sp.sln index 2a66bdea..3e71bb24 100644 --- a/tools/windows/sp/sp.sln +++ b/tools/windows/sp/sp.sln @@ -78,6 +78,32 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "prompt_fancy", "examples\pr EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cli", "examples\cli.vcxproj", "{10000014-0014-4014-8014-000000000014}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qsort", "qsort.vcxproj", "{21A5F3D1-2C70-4A11-9F8B-1A2B3C4D5E68}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "term", "term.vcxproj", "{21A5F3D1-2C70-4A11-9F8B-1A2B3C4D5E69}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "spn", "spn", "{FFFFFFFF-EEEE-DDDD-CCCC-AAAAAAAAAAAA}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "amalgamation", "spn\amalgamation.vcxproj", "{20000001-0001-4001-8001-000000000001}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "meta", "spn\meta.vcxproj", "{20000002-0002-4002-8002-000000000002}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sys", "spn\sys.vcxproj", "{20000003-0003-4003-8003-000000000003}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "atomic", "spn\atomic.vcxproj", "{20000004-0004-4004-8004-000000000004}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fs", "spn\fs.vcxproj", "{20000005-0005-4005-8005-000000000005}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msvct", "spn\msvct.vcxproj", "{20000006-0006-4006-8006-000000000006}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sync", "spn\sync.vcxproj", "{20000007-0007-4007-8007-000000000007}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mem", "spn\mem.vcxproj", "{20000008-0008-4008-8008-000000000008}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "http", "spn\http.vcxproj", "{20000009-0009-4009-8009-000000000009}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tls", "spn\tls.vcxproj", "{20000010-0010-4010-8010-000000000010}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -232,6 +258,54 @@ Global {CB96468E-6F42-4AD6-BD41-CBD668979062}.Debug|x64.Build.0 = Debug|x64 {CB96468E-6F42-4AD6-BD41-CBD668979062}.Release|x64.ActiveCfg = Release|x64 {CB96468E-6F42-4AD6-BD41-CBD668979062}.Release|x64.Build.0 = Release|x64 + {21A5F3D1-2C70-4A11-9F8B-1A2B3C4D5E68}.Debug|x64.ActiveCfg = Debug|x64 + {21A5F3D1-2C70-4A11-9F8B-1A2B3C4D5E68}.Debug|x64.Build.0 = Debug|x64 + {21A5F3D1-2C70-4A11-9F8B-1A2B3C4D5E68}.Release|x64.ActiveCfg = Release|x64 + {21A5F3D1-2C70-4A11-9F8B-1A2B3C4D5E68}.Release|x64.Build.0 = Release|x64 + {21A5F3D1-2C70-4A11-9F8B-1A2B3C4D5E69}.Debug|x64.ActiveCfg = Debug|x64 + {21A5F3D1-2C70-4A11-9F8B-1A2B3C4D5E69}.Debug|x64.Build.0 = Debug|x64 + {21A5F3D1-2C70-4A11-9F8B-1A2B3C4D5E69}.Release|x64.ActiveCfg = Release|x64 + {21A5F3D1-2C70-4A11-9F8B-1A2B3C4D5E69}.Release|x64.Build.0 = Release|x64 + {20000001-0001-4001-8001-000000000001}.Debug|x64.ActiveCfg = Debug|x64 + {20000001-0001-4001-8001-000000000001}.Debug|x64.Build.0 = Debug|x64 + {20000001-0001-4001-8001-000000000001}.Release|x64.ActiveCfg = Release|x64 + {20000001-0001-4001-8001-000000000001}.Release|x64.Build.0 = Release|x64 + {20000002-0002-4002-8002-000000000002}.Debug|x64.ActiveCfg = Debug|x64 + {20000002-0002-4002-8002-000000000002}.Debug|x64.Build.0 = Debug|x64 + {20000002-0002-4002-8002-000000000002}.Release|x64.ActiveCfg = Release|x64 + {20000002-0002-4002-8002-000000000002}.Release|x64.Build.0 = Release|x64 + {20000003-0003-4003-8003-000000000003}.Debug|x64.ActiveCfg = Debug|x64 + {20000003-0003-4003-8003-000000000003}.Debug|x64.Build.0 = Debug|x64 + {20000003-0003-4003-8003-000000000003}.Release|x64.ActiveCfg = Release|x64 + {20000003-0003-4003-8003-000000000003}.Release|x64.Build.0 = Release|x64 + {20000004-0004-4004-8004-000000000004}.Debug|x64.ActiveCfg = Debug|x64 + {20000004-0004-4004-8004-000000000004}.Debug|x64.Build.0 = Debug|x64 + {20000004-0004-4004-8004-000000000004}.Release|x64.ActiveCfg = Release|x64 + {20000004-0004-4004-8004-000000000004}.Release|x64.Build.0 = Release|x64 + {20000005-0005-4005-8005-000000000005}.Debug|x64.ActiveCfg = Debug|x64 + {20000005-0005-4005-8005-000000000005}.Debug|x64.Build.0 = Debug|x64 + {20000005-0005-4005-8005-000000000005}.Release|x64.ActiveCfg = Release|x64 + {20000005-0005-4005-8005-000000000005}.Release|x64.Build.0 = Release|x64 + {20000006-0006-4006-8006-000000000006}.Debug|x64.ActiveCfg = Debug|x64 + {20000006-0006-4006-8006-000000000006}.Debug|x64.Build.0 = Debug|x64 + {20000006-0006-4006-8006-000000000006}.Release|x64.ActiveCfg = Release|x64 + {20000006-0006-4006-8006-000000000006}.Release|x64.Build.0 = Release|x64 + {20000007-0007-4007-8007-000000000007}.Debug|x64.ActiveCfg = Debug|x64 + {20000007-0007-4007-8007-000000000007}.Debug|x64.Build.0 = Debug|x64 + {20000007-0007-4007-8007-000000000007}.Release|x64.ActiveCfg = Release|x64 + {20000007-0007-4007-8007-000000000007}.Release|x64.Build.0 = Release|x64 + {20000008-0008-4008-8008-000000000008}.Debug|x64.ActiveCfg = Debug|x64 + {20000008-0008-4008-8008-000000000008}.Debug|x64.Build.0 = Debug|x64 + {20000008-0008-4008-8008-000000000008}.Release|x64.ActiveCfg = Release|x64 + {20000008-0008-4008-8008-000000000008}.Release|x64.Build.0 = Release|x64 + {20000009-0009-4009-8009-000000000009}.Debug|x64.ActiveCfg = Debug|x64 + {20000009-0009-4009-8009-000000000009}.Debug|x64.Build.0 = Debug|x64 + {20000009-0009-4009-8009-000000000009}.Release|x64.ActiveCfg = Release|x64 + {20000009-0009-4009-8009-000000000009}.Release|x64.Build.0 = Release|x64 + {20000010-0010-4010-8010-000000000010}.Debug|x64.ActiveCfg = Debug|x64 + {20000010-0010-4010-8010-000000000010}.Debug|x64.Build.0 = Debug|x64 + {20000010-0010-4010-8010-000000000010}.Release|x64.ActiveCfg = Release|x64 + {20000010-0010-4010-8010-000000000010}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -251,5 +325,15 @@ Global {10000012-0012-4012-8012-000000000012} = {FFFFFFFF-EEEE-DDDD-CCCC-BBBBBBBBBBBB} {10000013-0013-4013-8013-000000000013} = {FFFFFFFF-EEEE-DDDD-CCCC-BBBBBBBBBBBB} {10000014-0014-4014-8014-000000000014} = {FFFFFFFF-EEEE-DDDD-CCCC-BBBBBBBBBBBB} + {20000001-0001-4001-8001-000000000001} = {FFFFFFFF-EEEE-DDDD-CCCC-AAAAAAAAAAAA} + {20000002-0002-4002-8002-000000000002} = {FFFFFFFF-EEEE-DDDD-CCCC-AAAAAAAAAAAA} + {20000003-0003-4003-8003-000000000003} = {FFFFFFFF-EEEE-DDDD-CCCC-AAAAAAAAAAAA} + {20000004-0004-4004-8004-000000000004} = {FFFFFFFF-EEEE-DDDD-CCCC-AAAAAAAAAAAA} + {20000005-0005-4005-8005-000000000005} = {FFFFFFFF-EEEE-DDDD-CCCC-AAAAAAAAAAAA} + {20000006-0006-4006-8006-000000000006} = {FFFFFFFF-EEEE-DDDD-CCCC-AAAAAAAAAAAA} + {20000007-0007-4007-8007-000000000007} = {FFFFFFFF-EEEE-DDDD-CCCC-AAAAAAAAAAAA} + {20000008-0008-4008-8008-000000000008} = {FFFFFFFF-EEEE-DDDD-CCCC-AAAAAAAAAAAA} + {20000009-0009-4009-8009-000000000009} = {FFFFFFFF-EEEE-DDDD-CCCC-AAAAAAAAAAAA} + {20000010-0010-4010-8010-000000000010} = {FFFFFFFF-EEEE-DDDD-CCCC-AAAAAAAAAAAA} EndGlobalSection EndGlobal diff --git a/tools/windows/sp/sp.targets b/tools/windows/sp/sp.targets index 3dbdfd23..3f9e3d90 100644 --- a/tools/windows/sp/sp.targets +++ b/tools/windows/sp/sp.targets @@ -11,6 +11,13 @@ + + + + $(IntDir)$([System.String]::Copy('%(RelativeDir)').Replace('..\', '').Replace('\', '_'))%(Filename).obj + + + diff --git a/tools/windows/sp/spn/amalgamation.vcxproj b/tools/windows/sp/spn/amalgamation.vcxproj new file mode 100644 index 00000000..9d801ae5 --- /dev/null +++ b/tools/windows/sp/spn/amalgamation.vcxproj @@ -0,0 +1,65 @@ + + + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {20000001-0001-4001-8001-000000000001} + amalgamation + amalgamation + 10.0 + amalgamation + ..\..\..\..\test\main.c;..\..\..\..\test\test\axis.c;..\..\..\..\test\test\filter.c;..\..\..\..\test\test\matrix.c;..\..\..\..\test\test\resolve.c;..\..\..\..\test\test\sweep.c;..\..\..\..\test\test\tracking.c;..\..\..\..\test\sys\sys.c;..\..\..\..\test\sys\open.c;..\..\..\..\test\sys\path.c;..\..\..\..\test\sys\iter.c;..\..\..\..\test\sys\futex.c;..\..\..\..\test\sys\fd.c;..\..\..\..\test\sys\nanosleep.c;..\..\..\..\test\sys\timestamps.c;..\..\..\..\test\sys\perms.c;..\..\..\..\test\sys\self_path.c;..\..\..\..\test\sys\pipe\data.c;..\..\..\..\test\sys\pipe\blocking.c;..\..\..\..\test\sys\transfer.c;..\..\..\..\test\sys\readlink.c;..\..\..\..\test\sys\socket\data.c;..\..\..\..\test\sys\socket\listen.c;..\..\..\..\test\sys\socket\desc.c;..\..\..\..\test\sys\tty\contract.c;..\..\..\..\test\sys\tty\mode.c;..\..\..\..\test\sys\vtable.c;..\..\..\..\test\sys\wait\event.c;..\..\..\..\test\sys\wait\wait.c;..\..\..\..\test\sys\inherit.c;..\..\..\..\test\fs\iter\os.c;..\..\..\..\test\fs\iter\iter.c;..\..\..\..\test\fs\wtf8\*.c;..\..\..\..\test\fs\*.c;..\..\..\..\test\fs\windows\nt_path.c;..\..\..\..\test\msvc\*.c;..\..\..\..\test\mem\uninitialized.c;..\..\..\..\test\atomic.c;..\..\..\..\test\sync\*.c;..\..\..\..\test\sync\os\*.c + ..\..\..\..\sp.h;..\..\..\..\sp\sp_test.h + false + + + + + + + + Debug + x64 + + + Application + true + v143 + MultiByte + + + Application + false + v143 + true + MultiByte + + + + + + + + + + + + + + $(SolutionDir)build\vs\$(Configuration)\bin\spn\ + $(SolutionDir)build\vs\$(Configuration)\obj\spn\$(MSBuildProjectName)\ + + + + + diff --git a/tools/windows/sp/spn/atomic.vcxproj b/tools/windows/sp/spn/atomic.vcxproj new file mode 100644 index 00000000..f6392c4e --- /dev/null +++ b/tools/windows/sp/spn/atomic.vcxproj @@ -0,0 +1,65 @@ + + + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {20000004-0004-4004-8004-000000000004} + atomic + atomic + 10.0 + atomic + ..\..\..\..\test\main.c;..\..\..\..\test\atomic.c + ..\..\..\..\sp.h;..\..\..\..\sp\sp_test.h + false + + + + + + + + Debug + x64 + + + Application + true + v143 + MultiByte + + + Application + false + v143 + true + MultiByte + + + + + + + + + + + + + + $(SolutionDir)build\vs\$(Configuration)\bin\spn\ + $(SolutionDir)build\vs\$(Configuration)\obj\spn\$(MSBuildProjectName)\ + + + + + diff --git a/tools/windows/sp/spn/fs.vcxproj b/tools/windows/sp/spn/fs.vcxproj new file mode 100644 index 00000000..1b68e9c1 --- /dev/null +++ b/tools/windows/sp/spn/fs.vcxproj @@ -0,0 +1,65 @@ + + + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {20000005-0005-4005-8005-000000000005} + fs + fs + 10.0 + fs + ..\..\..\..\test\main.c;..\..\..\..\test\fs\iter\iter.c;..\..\..\..\test\fs\iter\os.c;..\..\..\..\test\fs\wtf8\*.c;..\..\..\..\test\fs\*.c;..\..\..\..\test\fs\windows\nt_path.c + ..\..\..\..\sp.h;..\..\..\..\sp\sp_test.h + false + + + + + + + + Debug + x64 + + + Application + true + v143 + MultiByte + + + Application + false + v143 + true + MultiByte + + + + + + + + + + + + + + $(SolutionDir)build\vs\$(Configuration)\bin\spn\ + $(SolutionDir)build\vs\$(Configuration)\obj\spn\$(MSBuildProjectName)\ + + + + + diff --git a/tools/windows/sp/spn/http.vcxproj b/tools/windows/sp/spn/http.vcxproj new file mode 100644 index 00000000..9a0e7ef6 --- /dev/null +++ b/tools/windows/sp/spn/http.vcxproj @@ -0,0 +1,65 @@ + + + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {20000009-0009-4009-8009-000000000009} + http + http + 10.0 + http + ..\..\..\..\test\main.c;..\..\..\..\test\http\*.c + ..\..\..\..\sp.h;..\..\..\..\sp\sp_test.h;..\..\..\..\sp\sp_http.h + false + + + + + + + + Debug + x64 + + + Application + true + v143 + MultiByte + + + Application + false + v143 + true + MultiByte + + + + + + + + + + + + + + $(SolutionDir)build\vs\$(Configuration)\bin\spn\ + $(SolutionDir)build\vs\$(Configuration)\obj\spn\$(MSBuildProjectName)\ + + + + + diff --git a/tools/windows/sp/spn/mem.vcxproj b/tools/windows/sp/spn/mem.vcxproj new file mode 100644 index 00000000..0cb88db5 --- /dev/null +++ b/tools/windows/sp/spn/mem.vcxproj @@ -0,0 +1,65 @@ + + + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {20000008-0008-4008-8008-000000000008} + mem + mem + 10.0 + mem + ..\..\..\..\test\main.c;..\..\..\..\test\mem\uninitialized.c + ..\..\..\..\sp.h;..\..\..\..\sp\sp_test.h + false + + + + + + + + Debug + x64 + + + Application + true + v143 + MultiByte + + + Application + false + v143 + true + MultiByte + + + + + + + + + + + + + + $(SolutionDir)build\vs\$(Configuration)\bin\spn\ + $(SolutionDir)build\vs\$(Configuration)\obj\spn\$(MSBuildProjectName)\ + + + + + diff --git a/tools/windows/sp/spn/meta.vcxproj b/tools/windows/sp/spn/meta.vcxproj new file mode 100644 index 00000000..f1f40bfd --- /dev/null +++ b/tools/windows/sp/spn/meta.vcxproj @@ -0,0 +1,65 @@ + + + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {20000002-0002-4002-8002-000000000002} + meta + meta + 10.0 + meta + ..\..\..\..\test\test\*.c + ..\..\..\..\sp.h;..\..\..\..\sp\sp_test.h + false + + + + + + + + Debug + x64 + + + Application + true + v143 + MultiByte + + + Application + false + v143 + true + MultiByte + + + + + + + + + + + + + + $(SolutionDir)build\vs\$(Configuration)\bin\spn\ + $(SolutionDir)build\vs\$(Configuration)\obj\spn\$(MSBuildProjectName)\ + + + + + diff --git a/tools/windows/sp/spn/msvct.vcxproj b/tools/windows/sp/spn/msvct.vcxproj new file mode 100644 index 00000000..edb19327 --- /dev/null +++ b/tools/windows/sp/spn/msvct.vcxproj @@ -0,0 +1,65 @@ + + + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {20000006-0006-4006-8006-000000000006} + msvct + msvct + 10.0 + msvct + ..\..\..\..\test\main.c;..\..\..\..\test\msvc\*.c + ..\..\..\..\sp.h;..\..\..\..\sp\sp_test.h;..\..\..\..\sp\sp_msvc.h + false + + + + + + + + Debug + x64 + + + Application + true + v143 + MultiByte + + + Application + false + v143 + true + MultiByte + + + + + + + + + + + + + + $(SolutionDir)build\vs\$(Configuration)\bin\spn\ + $(SolutionDir)build\vs\$(Configuration)\obj\spn\$(MSBuildProjectName)\ + + + + + diff --git a/tools/windows/sp/spn/sync.vcxproj b/tools/windows/sp/spn/sync.vcxproj new file mode 100644 index 00000000..ca70c228 --- /dev/null +++ b/tools/windows/sp/spn/sync.vcxproj @@ -0,0 +1,65 @@ + + + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {20000007-0007-4007-8007-000000000007} + sync + sync + 10.0 + sync + ..\..\..\..\test\main.c;..\..\..\..\test\sync\*.c;..\..\..\..\test\sync\os\*.c + ..\..\..\..\sp.h;..\..\..\..\sp\sp_test.h + false + + + + + + + + Debug + x64 + + + Application + true + v143 + MultiByte + + + Application + false + v143 + true + MultiByte + + + + + + + + + + + + + + $(SolutionDir)build\vs\$(Configuration)\bin\spn\ + $(SolutionDir)build\vs\$(Configuration)\obj\spn\$(MSBuildProjectName)\ + + + + + diff --git a/tools/windows/sp/spn/sys.vcxproj b/tools/windows/sp/spn/sys.vcxproj new file mode 100644 index 00000000..0485588b --- /dev/null +++ b/tools/windows/sp/spn/sys.vcxproj @@ -0,0 +1,65 @@ + + + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {20000003-0003-4003-8003-000000000003} + sys + sys + 10.0 + sys + ..\..\..\..\test\main.c;..\..\..\..\test\sys\sys.c;..\..\..\..\test\sys\open.c;..\..\..\..\test\sys\path.c;..\..\..\..\test\sys\iter.c;..\..\..\..\test\sys\futex.c;..\..\..\..\test\sys\fd.c;..\..\..\..\test\sys\nanosleep.c;..\..\..\..\test\sys\timestamps.c;..\..\..\..\test\sys\perms.c;..\..\..\..\test\sys\self_path.c;..\..\..\..\test\sys\pipe\data.c;..\..\..\..\test\sys\pipe\blocking.c;..\..\..\..\test\sys\transfer.c;..\..\..\..\test\sys\readlink.c;..\..\..\..\test\sys\socket\data.c;..\..\..\..\test\sys\socket\listen.c;..\..\..\..\test\sys\socket\desc.c;..\..\..\..\test\sys\tty\contract.c;..\..\..\..\test\sys\tty\mode.c;..\..\..\..\test\sys\vtable.c;..\..\..\..\test\sys\wait\event.c;..\..\..\..\test\sys\wait\wait.c;..\..\..\..\test\sys\inherit.c + ..\..\..\..\sp.h;..\..\..\..\sp\sp_test.h + false + + + + + + + + Debug + x64 + + + Application + true + v143 + MultiByte + + + Application + false + v143 + true + MultiByte + + + + + + + + + + + + + + $(SolutionDir)build\vs\$(Configuration)\bin\spn\ + $(SolutionDir)build\vs\$(Configuration)\obj\spn\$(MSBuildProjectName)\ + + + + + diff --git a/tools/windows/sp/msvc.vcxproj b/tools/windows/sp/spn/tls.vcxproj similarity index 50% rename from tools/windows/sp/msvc.vcxproj rename to tools/windows/sp/spn/tls.vcxproj index 8bd6e734..f5093473 100644 --- a/tools/windows/sp/msvc.vcxproj +++ b/tools/windows/sp/spn/tls.vcxproj @@ -13,9 +13,18 @@ 17.0 Win32Proj - {F2A1B3C4-D5E6-7890-ABCD-EF1234567890} - msvc + {20000010-0010-4010-8010-000000000010} + tls + tls 10.0 + tls + ..\..\..\..\test\main.c;..\..\..\..\test\http\tls\*.c + ..\..\..\..\sp.h;..\..\..\..\sp\sp_test.h;..\..\..\..\sp\sp_http.h + false + + SP_TLS_WITH_MBEDTLS;SP_TLS_MBEDTLS_SINGLE_THREAD + + @@ -45,60 +54,34 @@ + - $(SolutionDir)build\vs\$(Configuration)\bin\ - $(SolutionDir)build\vs\$(Configuration)\obj\msvc\ - msvc + $(SolutionDir)build\vs\$(Configuration)\bin\spn\ + $(SolutionDir)build\vs\$(Configuration)\obj\spn\$(MSBuildProjectName)\ - - - Level4 - true - _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - .;..\..\..;..\..\..\sp;%(AdditionalIncludeDirectories) - CompileAsC - stdc17 - Disabled - ProgramDatabase - /we4715 %(AdditionalOptions) - - - Console - true - advapi32.lib;%(AdditionalDependencies) - - - + + $(SpRoot)\tools\vendor\mbedtls + $(MSBuildThisFileDirectory)..\build\vs + $(SpBuildDir)\mbedtls-3.6.6 + $(SpMbedtlsVendorDir) + $(SpMbedtlsFetchDir) + + - Level4 - true - true - true - _CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) - .;..\..\..;..\..\..\sp;%(AdditionalIncludeDirectories) - CompileAsC - stdc17 - MaxSpeed - /we4715 %(AdditionalOptions) + $(SpMbedtlsDir)\include;$(SpMbedtlsDir)\library;%(AdditionalIncludeDirectories) - - Console - true - true - true - advapi32.lib;%(AdditionalDependencies) - - - - - - - - - - - + + + + + + Level1 + false + + + + diff --git a/tools/windows/sp/term.vcxproj b/tools/windows/sp/term.vcxproj new file mode 100644 index 00000000..6478a1c9 --- /dev/null +++ b/tools/windows/sp/term.vcxproj @@ -0,0 +1,60 @@ + + + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {21A5F3D1-2C70-4A11-9F8B-1A2B3C4D5E69} + term + term + 10.0 + term + ..\..\..\test\term.c + ..\..\..\sp.h;..\..\..\test\tools\utest.h + + + $(SpRoot)\test + + + + + Debug + x64 + + + Application + true + v143 + MultiByte + + + Application + false + v143 + true + MultiByte + + + + + + + + + + + + + + + +