From 6f89684faa0ee752e901053f7508eb05d158b2eb Mon Sep 17 00:00:00 2001 From: MITSUNARI Shigeo Date: Mon, 13 Aug 2018 15:14:02 +0900 Subject: fix bat files for make windows binary --- mk.bat | 22 ++++++++++++++++------ mkdll.bat | 12 ++++++++---- mklib.bat | 24 ++++++++++++++++++------ readme.md | 14 ++++++++++---- setvar.bat | 27 +++++---------------------- 5 files changed, 57 insertions(+), 42 deletions(-) diff --git a/mk.bat b/mk.bat index b86d127..c5dfac9 100644 --- a/mk.bat +++ b/mk.bat @@ -1,9 +1,19 @@ @echo off - -call setvar.bat lib -set SRC=%1 +if "%1"=="-s" ( + echo use static lib + set CFLAGS=%CFLAGS% /DMCLBN_NO_AUTOLINK /DBLS_DONT_EXPORT +) else if "%1"=="-d" ( + echo use dynamic lib +) else ( + echo "mk (-s|-d) " + goto exit +) +set SRC=%2 set EXE=%SRC:.cpp=.exe% set EXE=%EXE:.c=.exe% -set EXE=%EXE:test/=bin/% -set EXE=%EXE:sample/=bin/% -cl %CFLAGS% %1 %2 %3 /Fe:%EXE% /link %LDFLAGS% +set EXE=%EXE:test\=bin\% +set EXE=%EXE:sample\=bin\% +echo cl %CFLAGS% %2 /Fe:%EXE% /link %LDFLAGS% +cl %CFLAGS% %2 /Fe:%EXE% /link %LDFLAGS% + +:exit diff --git a/mkdll.bat b/mkdll.bat index 73c50ba..17e934f 100755 --- a/mkdll.bat +++ b/mkdll.bat @@ -1,4 +1,8 @@ -@echo off -call setvar.bat -echo make bls256.dll -cl /LD src\bls_c.cpp ..\mcl\src\fp.cpp -Iinclude -I../mcl -I../xbyak -I../mcl/include -I../cybozulib/include -I../cybozulib_ext/include /MT /W4 /DMCLBN_FP_UNIT_SIZE=4 /Ox /EHsc /DNOMINMAX /DNDEBUG /DMCL_NO_AUTOLINK /link /out:bin\bls256.dll /implib:lib\bls256.lib /LIBPATH:..\cybozulib_ext\lib +rem @echo off + +call setvar.bat dll +echo make bls384.dll +cl /c %CFLAGS% /DBLS_NO_AUTOLINK /Foobj/bls_c.obj src/bls_c.cpp +cl /c %CFLAGS% /DBLS_NO_AUTOLINK /Foobj/fp.obj ../mcl/src/fp.cpp +lib /OUT:lib/bls384.lib /nodefaultlib obj/bls_c.obj obj/fp.obj %LDFLAGS% +cl /LD /MT obj/bls_c.obj obj/fp.obj %CFLAGS% /link /out:bin/bls384.dll %LDFLAGS% diff --git a/mklib.bat b/mklib.bat index 1e769ff..fb5ae08 100644 --- a/mklib.bat +++ b/mklib.bat @@ -1,8 +1,20 @@ @echo off +call ..\mcl\setvar.bat +if "%1"=="dll" ( + echo make dynamic library DLL +) else ( + echo make static library LIB +) +call setvar.bat -call setvar.bat lib -echo make lib/lib384.%MODE% -echo CFLAGS=%CFLAGS% -cl /c %CFLAGS% /Foobj/bls_c.obj src/bls_c.cpp -cl /c %CFLAGS% /Foobj/fp.obj ../mcl/src/fp.cpp -lib /OUT:lib/bls384.lib /nodefaultlib obj/bls_c.obj obj/fp.obj %LDFLAGS% +if "%1"=="dll" ( + cl /c %CFLAGS% /Foobj/bls_c.obj src/bls_c.cpp /DBLS_NO_AUTOLINK + cl /c %CFLAGS% /Foobj/fp.obj ../mcl/src/fp.cpp + link /nologo /DLL /OUT:bin\bls384.dll obj\bls_c.obj obj\fp.obj %LDFLAGS% /implib:lib\bls384.lib +) else ( + cl /c %CFLAGS% /Foobj/bls_c.obj src/bls_c.cpp + cl /c %CFLAGS% /Foobj/fp.obj ../mcl/src/fp.cpp /DMCLBN_DONT_EXPORT + lib /OUT:lib/bls384.lib /nodefaultlib obj/bls_c.obj obj/fp.obj %LDFLAGS% + cl /c %CFLAGS% /Foobj/bls.obj src/bls.cpp + lib /OUT:lib/bls.lib /nodefaultlib obj/bls.obj obj/fp.obj %LDFLAGS% +) diff --git a/readme.md b/readme.md index b5fa2ca..64134d3 100644 --- a/readme.md +++ b/readme.md @@ -30,13 +30,19 @@ make sample_test ``` # Build and test for Windows -Type +1) make static library and use it ``` -cd bls mklib -mk test/bls_c384_test.cpp +mk -s test\bls_c384_test.cpp +bin\bls_c384_test.exe +``` + +2) make dynamic library and use it +``` +mklib dll +mk -d test\bls_c384_test.cpp +bin\bls_c384_test.exe ``` -then `bin/bls_c384_test.exe` will be built. # API diff --git a/setvar.bat b/setvar.bat index 4a3ed3a..4c1fbf2 100755 --- a/setvar.bat +++ b/setvar.bat @@ -1,24 +1,7 @@ @echo off -set MODE= -if /i "%1"=="lib" ( - set MODE=lib -) -if /i "%1"=="dll" ( - set MODE=dll -) -if "%MODE%"=="" ( - echo error - echo setvar lib or dll - goto exit -) +call ..\mcl\setvar.bat set MCLBN_FP_UNIT_SIZE=6 -set CFLAGS=/MT /DNOMINMAX /Ox /DNDEBUG /W4 /Zi /EHsc /nologo -set CFLAGS=%CFLAGS% -I ./include -I../cybozulib/include -I../cybozulib_ext/include -I../mcl/include/ -I../mcl/src -I./ -I../xbyak/ -set CFLAGS=%CFLAGS% /DMCLBN_FP_UNIT_SIZE=%MCLBN_FP_UNIT_SIZE% /DMCL_NO_AUTOLINK /DMCLBN_NO_AUTOLINK -set LDFLAGS=/LIBPATH:../cybozulib_ext/lib /LIBPATH:./lib - -if %MODE%==lib ( - set CFLAGS=%CFLAGS% /DBLS_DONT_EXPORT -) - -:exit +set CFLAGS=%CFLAGS% /DMCLBN_FP_UNIT_SIZE=%MCLBN_FP_UNIT_SIZE% /I ..\mcl\include +set LDFLAGS=%LDFLAGS% /LIBPATH:..\mcl\lib +echo CFLAGS=%CFLAGS% +echo LDFLAGS=%LDFLAGS% \ No newline at end of file -- cgit v1.2.3