36 lines
1.5 KiB
Batchfile
36 lines
1.5 KiB
Batchfile
|
@echo off
|
||
|
setlocal EnableDelayedExpansion
|
||
|
|
||
|
where /q cl || (
|
||
|
echo MSVC's cl is not found - please run this from the MSVC x64 native tools command prompt
|
||
|
exit /b 1
|
||
|
)
|
||
|
|
||
|
set code_dir=%~dp0
|
||
|
set build_dir=!code_dir!\build
|
||
|
if not exist !build_dir! mkdir !build_dir!
|
||
|
|
||
|
set common_compile_flags=-W4 -Z7
|
||
|
set common_linker_flags=-link -nologo
|
||
|
|
||
|
REM Build the test program to sanity check the single file header
|
||
|
pushd !build_dir!
|
||
|
set common_source_files=!code_dir!\bt_secp256k1_example.c
|
||
|
|
||
|
REM Build a C/C++ i64 version
|
||
|
cl !common_compile_flags! -Tc !common_source_files! !common_linker_flags! -out:bt_secp256k1_i64_example_c.exe
|
||
|
cl !common_compile_flags! -Tp !common_source_files! !common_linker_flags! -out:bt_secp256k1_i64_example_cpp.exe
|
||
|
|
||
|
where /q clang-cl || (
|
||
|
exit
|
||
|
)
|
||
|
|
||
|
REM (Optional) Build a C/C++ {i128, i128 x86_64 ASM} version
|
||
|
REM This requires clang-cl because MSVC does not expose a uint128_t type
|
||
|
clang-cl !common_compile_flags! -D EXAMPLE_BUILD_I128 -Tc !common_source_files! !common_linker_flags! -out:bt_secp256k1_i128_example_c.exe
|
||
|
clang-cl !common_compile_flags! -D EXAMPLE_BUILD_I128_X86_64_ASM -Tc !common_source_files! !common_linker_flags! -out:bt_secp256k1_i128_x86_64_asm_example_c.exe
|
||
|
|
||
|
clang-cl !common_compile_flags! -D EXAMPLE_BUILD_I128 -Tp !common_source_files! !common_linker_flags! -out:bt_secp256k1_i128_example_cpp.exe
|
||
|
clang-cl !common_compile_flags! -D EXAMPLE_BUILD_I128_X86_64_ASM -Tp !common_source_files! !common_linker_flags! -out:bt_secp256k1_i128_x86_64_asm_example_cpp.exe
|
||
|
popd
|