aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <herumi@nifty.com>2018-08-13 14:14:02 +0800
committerMITSUNARI Shigeo <herumi@nifty.com>2018-08-13 14:14:02 +0800
commit6f89684faa0ee752e901053f7508eb05d158b2eb (patch)
tree05f7e237bc524f30d323df74dc343065382f0ac2
parentf25b779d48f3682a03a001f8ce0386eebd43de68 (diff)
downloaddexon-bls-6f89684faa0ee752e901053f7508eb05d158b2eb.tar
dexon-bls-6f89684faa0ee752e901053f7508eb05d158b2eb.tar.gz
dexon-bls-6f89684faa0ee752e901053f7508eb05d158b2eb.tar.bz2
dexon-bls-6f89684faa0ee752e901053f7508eb05d158b2eb.tar.lz
dexon-bls-6f89684faa0ee752e901053f7508eb05d158b2eb.tar.xz
dexon-bls-6f89684faa0ee752e901053f7508eb05d158b2eb.tar.zst
dexon-bls-6f89684faa0ee752e901053f7508eb05d158b2eb.zip
fix bat files for make windows binary
-rw-r--r--mk.bat22
-rwxr-xr-xmkdll.bat12
-rw-r--r--mklib.bat24
-rw-r--r--readme.md14
-rwxr-xr-xsetvar.bat27
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) <source file>"
+ 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