@@ -4,7 +4,7 @@ OBJ_DIR=obj
4
4
EXE_DIR =bin
5
5
SRC_SRC =fp.cpp bn_c256.cpp bn_c384.cpp bn_c512.cpp she_c256.cpp
6
6
TEST_SRC =fp_test.cpp ec_test.cpp fp_util_test.cpp window_method_test.cpp elgamal_test.cpp fp_tower_test.cpp gmp_test.cpp bn_test.cpp bn384_test.cpp glv_test.cpp paillier_test.cpp she_test.cpp vint_test.cpp bn512_test.cpp ecdsa_test.cpp conversion_test.cpp
7
- TEST_SRC+ =bn_c256_test.cpp bn_c384_test.cpp bn_c512_test.cpp she_c256_test.cpp she_c384_test.cpp
7
+ TEST_SRC+ =bn_c256_test.cpp bn_c384_test.cpp bn_c384_256_test.cpp bn_c512_test.cpp she_c256_test.cpp she_c384_test.cpp
8
8
TEST_SRC+ =aggregate_sig_test.cpp array_test.cpp
9
9
TEST_SRC+ =bls12_test.cpp
10
10
TEST_SRC+ =ecdsa_c_test.cpp
@@ -32,19 +32,22 @@ MCL_LIB=$(LIB_DIR)/libmcl.a
32
32
MCL_SNAME =mcl$(SHARE_BASENAME_SUF )
33
33
BN256_SNAME =mclbn256$(SHARE_BASENAME_SUF )
34
34
BN384_SNAME =mclbn384$(SHARE_BASENAME_SUF )
35
+ BN384_256_SNAME =mclbn384_256$(SHARE_BASENAME_SUF )
35
36
BN512_SNAME =mclbn512$(SHARE_BASENAME_SUF )
36
37
SHE256_SNAME =mclshe256$(SHARE_BASENAME_SUF )
37
38
MCL_SLIB =$(LIB_DIR ) /lib$(MCL_SNAME ) .$(LIB_SUF )
38
39
BN256_LIB =$(LIB_DIR ) /libmclbn256.a
39
40
BN256_SLIB =$(LIB_DIR ) /lib$(BN256_SNAME ) .$(LIB_SUF )
40
41
BN384_LIB =$(LIB_DIR ) /libmclbn384.a
41
42
BN384_SLIB =$(LIB_DIR ) /lib$(BN384_SNAME ) .$(LIB_SUF )
43
+ BN384_256_LIB =$(LIB_DIR ) /libmclbn384_256.a
44
+ BN384_256_SLIB =$(LIB_DIR ) /lib$(BN384_256_SNAME ) .$(LIB_SUF )
42
45
BN512_LIB =$(LIB_DIR ) /libmclbn512.a
43
46
BN512_SLIB =$(LIB_DIR ) /lib$(BN512_SNAME ) .$(LIB_SUF )
44
47
SHE256_LIB =$(LIB_DIR ) /libmclshe256.a
45
48
SHE384_LIB =$(LIB_DIR ) /libmclshe384.a
46
49
ECDSA_LIB =$(LIB_DIR ) /libmclecdsa.a
47
- all : $(MCL_LIB ) $(MCL_SLIB ) $(BN256_LIB ) $(BN256_SLIB ) $(BN384_LIB ) $(BN384_SLIB ) $(BN512_LIB ) $(BN512_SLIB ) $(SHE256_LIB ) $(SHE384_lib ) $(ECDSA_LIB )
50
+ all : $(MCL_LIB ) $(MCL_SLIB ) $(BN256_LIB ) $(BN256_SLIB ) $(BN384_LIB ) $(BN384_SLIB ) $(BN384_256_LIB ) $( BN384_256_SLIB ) $( BN512_LIB ) $(BN512_SLIB ) $(SHE256_LIB ) $(SHE384_lib ) $(ECDSA_LIB )
48
51
49
52
# LLVM_VER=-3.8
50
53
LLVM_LLC =llc$(LLVM_VER )
@@ -69,6 +72,7 @@ ASM_OBJ=$(OBJ_DIR)/$(CPU).o
69
72
LIB_OBJ =$(OBJ_DIR ) /fp.o
70
73
BN256_OBJ =$(OBJ_DIR ) /bn_c256.o
71
74
BN384_OBJ =$(OBJ_DIR ) /bn_c384.o
75
+ BN384_256_OBJ =$(OBJ_DIR ) /bn_c384_256.o
72
76
BN512_OBJ =$(OBJ_DIR ) /bn_c512.o
73
77
SHE256_OBJ =$(OBJ_DIR ) /she_c256.o
74
78
SHE384_OBJ =$(OBJ_DIR ) /she_c384.o
@@ -115,12 +119,14 @@ endif
115
119
ifneq ($(findstring $(OS ) ,mac/mingw64) ,)
116
120
BN256_SLIB_LDFLAGS+ =-l$(MCL_SNAME ) -L./lib
117
121
BN384_SLIB_LDFLAGS+ =-l$(MCL_SNAME ) -L./lib
122
+ BN384_256_SLIB_LDFLAGS+ =-l$(MCL_SNAME ) -L./lib
118
123
BN512_SLIB_LDFLAGS+ =-l$(MCL_SNAME ) -L./lib
119
124
endif
120
125
ifeq ($(OS ) ,mingw64)
121
126
MCL_SLIB_LDFLAGS+ =-Wl,--out-implib,$(LIB_DIR ) /lib$(MCL_SNAME ) .a
122
127
BN256_SLIB_LDFLAGS+ =-Wl,--out-implib,$(LIB_DIR ) /lib$(BN256_SNAME ) .a
123
128
BN384_SLIB_LDFLAGS+ =-Wl,--out-implib,$(LIB_DIR ) /lib$(BN384_SNAME ) .a
129
+ BN384_256_SLIB_LDFLAGS+ =-Wl,--out-implib,$(LIB_DIR ) /lib$(BN384_256_SNAME ) .a
124
130
BN512_SLIB_LDFLAGS+ =-Wl,--out-implib,$(LIB_DIR ) /lib$(BN512_SNAME ) .a
125
131
endif
126
132
@@ -148,12 +154,18 @@ $(BN256_SLIB): $(BN256_OBJ) $(MCL_SLIB)
148
154
$(BN384_LIB ) : $(BN384_OBJ )
149
155
$(AR ) $@ $(BN384_OBJ )
150
156
157
+ $(BN384_256_LIB ) : $(BN384_256_OBJ )
158
+ $(AR ) $@ $(BN384_256_OBJ )
159
+
151
160
$(BN512_LIB ) : $(BN512_OBJ )
152
161
$(AR ) $@ $(BN512_OBJ )
153
162
154
163
$(BN384_SLIB ) : $(BN384_OBJ ) $(MCL_SLIB )
155
164
$(PRE )$(CXX ) -o $@ $(BN384_OBJ ) -shared $(LDFLAGS ) $(BN384_SLIB_LDFLAGS )
156
165
166
+ $(BN384_256_SLIB ) : $(BN384_256_OBJ ) $(MCL_SLIB )
167
+ $(PRE )$(CXX ) -o $@ $(BN384_256_OBJ ) -shared $(LDFLAGS ) $(BN384_256_SLIB_LDFLAGS )
168
+
157
169
$(BN512_SLIB ) : $(BN512_OBJ ) $(MCL_SLIB )
158
170
$(PRE )$(CXX ) -o $@ $(BN512_OBJ ) -shared $(LDFLAGS ) $(BN512_SLIB_LDFLAGS )
159
171
@@ -235,6 +247,9 @@ $(EXE_DIR)/bn_c256_test.exe: $(OBJ_DIR)/bn_c256_test.o $(BN256_LIB) $(MCL_LIB)
235
247
$(EXE_DIR ) /bn_c384_test.exe : $(OBJ_DIR ) /bn_c384_test.o $(BN384_LIB ) $(MCL_LIB )
236
248
$(PRE )$(CXX ) $< -o $@ $(BN384_LIB ) $(MCL_LIB ) $(LDFLAGS )
237
249
250
+ $(EXE_DIR ) /bn_c384_256_test.exe : $(OBJ_DIR ) /bn_c384_256_test.o $(BN384_256_LIB ) $(MCL_LIB )
251
+ $(PRE )$(CXX ) $< -o $@ $(BN384_256_LIB ) $(MCL_LIB ) $(LDFLAGS )
252
+
238
253
$(EXE_DIR ) /bn_c512_test.exe : $(OBJ_DIR ) /bn_c512_test.o $(BN512_LIB ) $(MCL_LIB )
239
254
$(PRE )$(CXX ) $< -o $@ $(BN512_LIB ) $(MCL_LIB ) $(LDFLAGS )
240
255
@@ -254,6 +269,8 @@ SAMPLE_EXE=$(addprefix $(EXE_DIR)/,$(addsuffix .exe,$(basename $(SAMPLE_SRC))))
254
269
sample : $(SAMPLE_EXE ) $(MCL_LIB )
255
270
256
271
TEST_EXE =$(addprefix $(EXE_DIR ) /,$(TEST_SRC:.cpp=.exe ) )
272
+ test_ci : $(TEST_EXE )
273
+ @sh -ec ' for i in $(TEST_EXE); do echo $$i; env LSAN_OPTIONS=verbosity=1:log_threads=1 $$i; done'
257
274
test : $(TEST_EXE )
258
275
@echo test $(TEST_EXE )
259
276
@sh -ec ' for i in $(TEST_EXE); do $$i|grep "ctest:name"; done' > result.txt
@@ -264,8 +281,8 @@ EMCC_OPT+=-O3 -DNDEBUG -DMCLSHE_WIN_SIZE=8
264
281
EMCC_OPT+ =-s WASM=1 -s NO_EXIT_RUNTIME=1 -s MODULARIZE=1 # -s ASSERTIONS=1
265
282
EMCC_OPT+=-DCYBOZU_MINIMUM_EXCEPTION
266
283
EMCC_OPT+ =-s ABORTING_MALLOC=0
267
- SHE_C_DEP =src/fp.cpp src/she_c_impl.hpp include/mcl/she.hpp include/mcl/she.h Makefile
268
- MCL_C_DEP =src/fp.cpp src/bn_c_impl.hpp include/mcl/bn.hpp include/mcl/bn.h Makefile
284
+ SHE_C_DEP =src/fp.cpp src/she_c_impl.hpp include/mcl/she.hpp include/mcl/fp.hpp include/mcl/op.hpp include/mcl/ she.h Makefile
285
+ MCL_C_DEP =src/fp.cpp src/bn_c_impl.hpp include/mcl/bn.hpp include/mcl/fp.hpp include/mcl/op.hpp include/mcl/ bn.h Makefile
269
286
ifeq ($(MCL_USE_LLVM ) ,2)
270
287
EMCC_OPT+ =src/base64m.ll -DMCL_USE_LLVM
271
288
SHE_C_DEP+ =src/base64m.ll
@@ -313,9 +330,11 @@ make_tbl:
313
330
update_xbyak :
314
331
cp -a ../xbyak/xbyak/xbyak.h ../xbyak/xbyak/xbyak_util.h ../xbyak/xbyak/xbyak_mnemonic.h src/xbyak/
315
332
333
+ update_cybozulib :
334
+ cp -a $(addprefix ../cybozulib/,$(wildcard include/cybozu/* .hpp) ) include/cybozu/
316
335
317
336
clean :
318
- $(RM ) $(MCL_LIB ) $(MCL_SLIB ) $( BN256_LIB ) $( BN256_SLIB ) $( BN384_LIB ) $( BN384_SLIB ) $( BN512_LIB ) $( BN512_SLIB ) $( SHE256_LIB ) $(OBJ_DIR ) /* .o $(OBJ_DIR ) /* .d $(EXE_DIR ) /* .exe $(GEN_EXE ) $(ASM_OBJ ) $(LIB_OBJ ) $(BN256_OBJ ) $(BN384_OBJ ) $(BN512_OBJ ) $(LLVM_SRC ) $(FUNC_LIST ) src/* .ll lib/* .a
337
+ $(RM ) $(LIB_DIR ) / * .a $(EXE_DIR ) / * . $( LIB_SUF ) $(OBJ_DIR ) /* .o $(OBJ_DIR ) /* .d $(EXE_DIR ) /* .exe $(GEN_EXE ) $(ASM_OBJ ) $(LIB_OBJ ) $(BN256_OBJ ) $(BN384_OBJ ) $(BN512_OBJ ) $(LLVM_SRC ) $(FUNC_LIST ) src/* .ll lib/* .a
319
338
320
339
ALL_SRC =$(SRC_SRC ) $(TEST_SRC ) $(SAMPLE_SRC )
321
340
DEPEND_FILE =$(addprefix $(OBJ_DIR ) /, $(addsuffix .d,$(basename $(ALL_SRC ) ) ) )
0 commit comments