@@ -119,26 +119,24 @@ else
119
119
LDEXPORT =-rdynamic
120
120
endif
121
121
122
- PROGS =qjs$(EXE ) qjsbn $( EXE ) qjsc$(EXE ) qjsbnc $( EXE ) run-test262 run-test262-bn
122
+ PROGS =qjs$(EXE ) qjsc$(EXE ) run-test262
123
123
ifneq ($(CROSS_PREFIX ) ,)
124
124
QJSC_CC =gcc
125
125
QJSC =./host-qjsc
126
- QJSBNC =./host-qjsbnc
127
- PROGS+ =$(QJSC ) $(QJSBNC )
126
+ PROGS+ =$(QJSC )
128
127
else
129
128
QJSC_CC =$(CC )
130
129
QJSC =./qjsc$(EXE )
131
- QJSBNC =./qjsbnc$(EXE )
132
130
endif
133
131
ifndef CONFIG_WIN32
134
132
PROGS+ =qjscalc
135
133
endif
136
134
ifdef CONFIG_M32
137
- PROGS+ =qjs32 qjs32_s qjsbn32
135
+ PROGS+ =qjs32 qjs32_s
138
136
endif
139
- PROGS+ =libquickjs.a libquickjs.bn.a
137
+ PROGS+ =libquickjs.a
140
138
ifdef CONFIG_LTO
141
- PROGS+ =libquickjs.lto.a libquickjs.bn.lto.a
139
+ PROGS+ =libquickjs.lto.a
142
140
endif
143
141
144
142
# examples
@@ -155,13 +153,9 @@ endif
155
153
156
154
all : $(OBJDIR ) $(OBJDIR ) /quickjs.check.o $(OBJDIR ) /qjs.check.o $(PROGS )
157
155
158
- QJS_LIB_OBJS =$(OBJDIR ) /quickjs.o $(OBJDIR ) /libregexp.o $(OBJDIR ) /libunicode.o $(OBJDIR ) /cutils.o $(OBJDIR ) /quickjs-libc.o
156
+ QJS_LIB_OBJS =$(OBJDIR ) /quickjs.o $(OBJDIR ) /libregexp.o $(OBJDIR ) /libunicode.o $(OBJDIR ) /libbf.o $( OBJDIR ) / cutils.o $(OBJDIR ) /quickjs-libc.o
159
157
160
- QJSBN_LIB_OBJS =$(patsubst % .o, % .bn.o, $(QJS_LIB_OBJS ) ) $(OBJDIR ) /libbf.bn.o
161
-
162
- QJS_OBJS =$(OBJDIR ) /qjs.o $(OBJDIR ) /repl.o $(QJS_LIB_OBJS )
163
-
164
- QJSBN_OBJS =$(OBJDIR ) /qjs.bn.o $(OBJDIR ) /repl-bn.bn.o $(OBJDIR ) /qjscalc.bn.o $(QJSBN_LIB_OBJS )
158
+ QJS_OBJS =$(OBJDIR ) /qjs.o $(OBJDIR ) /repl.o $(OBJDIR ) /qjscalc.o $(QJS_LIB_OBJS )
165
159
166
160
LIBS =-lm
167
161
ifndef CONFIG_WIN32
@@ -180,19 +174,12 @@ qjs-debug$(EXE): $(patsubst %.o, %.debug.o, $(QJS_OBJS))
180
174
qjsc$(EXE ) : $(OBJDIR ) /qjsc.o $(QJS_LIB_OBJS )
181
175
$(CC ) $(LDFLAGS ) -o $@ $^ $(LIBS )
182
176
183
- qjsbnc$(EXE ) : $(OBJDIR ) /qjsc.bn.o $(QJSBN_LIB_OBJS )
184
- $(CC ) $(LDFLAGS ) -o $@ $^ $(LIBS )
185
-
186
177
ifneq ($(CROSS_PREFIX ) ,)
187
178
188
179
$(QJSC ) : $(OBJDIR ) /qjsc.host.o \
189
180
$(patsubst %.o, %.host.o, $(QJS_LIB_OBJS))
190
181
$(HOST_CC) $(LDFLAGS) -o $@ $^ $(LIBS)
191
182
192
- $(QJSBNC ) : $(OBJDIR ) /qjsc.bn.host.o \
193
- $(patsubst %.o, %.host.o, $(QJSBN_LIB_OBJS))
194
- $(HOST_CC) $(LDFLAGS) -o $@ $^ $(LIBS)
195
-
196
183
endif # CROSS_PREFIX
197
184
198
185
QJSC_DEFINES:=-DCONFIG_CC =\"$(QJSC_CC ) \" -DCONFIG_PREFIX=\"$(prefix ) \"
@@ -201,8 +188,8 @@ QJSC_DEFINES+=-DCONFIG_LTO
201
188
endif
202
189
QJSC_HOST_DEFINES:=-DCONFIG_CC =\"$(HOST_CC ) \" -DCONFIG_PREFIX=\"$(prefix ) \"
203
190
204
- $(OBJDIR ) /qjsc.o $( OBJDIR ) /qjsc.bn.o : CFLAGS+=$(QJSC_DEFINES )
205
- $(OBJDIR ) /qjsc.host.o $( OBJDIR ) /qjsc.bn.host.o : CFLAGS+=$(QJSC_HOST_DEFINES )
191
+ $(OBJDIR ) /qjsc.o : CFLAGS+=$(QJSC_DEFINES )
192
+ $(OBJDIR ) /qjsc.host.o : CFLAGS+=$(QJSC_HOST_DEFINES )
206
193
207
194
qjs32 : $(patsubst % .o, % .m32.o, $(QJS_OBJS ) )
208
195
$(CC ) -m32 $(LDFLAGS ) $(LDEXPORT ) -o $@ $^ $(LIBS )
@@ -211,18 +198,9 @@ qjs32_s: $(patsubst %.o, %.m32s.o, $(QJS_OBJS))
211
198
$(CC ) -m32 $(LDFLAGS ) -o $@ $^ $(LIBS )
212
199
@size $@
213
200
214
- qjsbn$(EXE ) : $(QJSBN_OBJS )
215
- $(CC ) $(LDFLAGS ) $(LDEXPORT ) -o $@ $^ $(LIBS )
216
-
217
- qjsbn32 : $(patsubst % .o, % .m32.o, $(QJSBN_OBJS ) )
218
- $(CC ) -m32 $(LDFLAGS ) $(LDEXPORT ) -o $@ $^ $(LIBS )
219
-
220
- qjscalc : qjsbn
201
+ qjscalc : qjs
221
202
ln -sf $< $@
222
203
223
- qjsbn-debug$(EXE ) : $(patsubst % .o, % .debug.o, $(QJSBN_OBJS ) )
224
- $(CC ) $(LDFLAGS ) -o $@ $^ $(LIBS )
225
-
226
204
ifdef CONFIG_LTO
227
205
LTOEXT =.lto
228
206
else
@@ -232,29 +210,20 @@ endif
232
210
libquickjs$(LTOEXT ) .a : $(QJS_LIB_OBJS )
233
211
$(AR ) rcs $@ $^
234
212
235
- libquickjs.bn$(LTOEXT ) .a : $(QJSBN_LIB_OBJS )
236
- $(AR ) rcs $@ $^
237
-
238
213
ifdef CONFIG_LTO
239
214
libquickjs.a : $(patsubst % .o, % .nolto.o, $(QJS_LIB_OBJS ) )
240
215
$(AR ) rcs $@ $^
241
-
242
- libquickjs.bn.a : $(patsubst % .o, % .nolto.o, $(QJSBN_LIB_OBJS ) )
243
- $(AR ) rcs $@ $^
244
216
endif # CONFIG_LTO
245
217
246
218
repl.c : $(QJSC ) repl.js
247
219
$(QJSC ) -c -o $@ -m repl.js
248
220
249
- repl-bn.c : $(QJSBNC ) repl.js
250
- $(QJSBNC ) -c -o $@ -m repl.js
251
-
252
- qjscalc.c : $(QJSBNC ) qjscalc.js
253
- $(QJSBNC ) -c -o $@ qjscalc.js
221
+ qjscalc.c : $(QJSC ) qjscalc.js
222
+ $(QJSC ) -fbignum -c -o $@ qjscalc.js
254
223
255
224
ifneq ($(wildcard unicode/UnicodeData.txt) ,)
256
- $(OBJDIR)/libunicode.o $(OBJDIR)/libunicode.m32.o $(OBJDIR)/libunicode.m32s.o $(OBJDIR)/libunicode.bn.o $(OBJDIR)/libunicode.bn.m32.o \
257
- $(OBJDIR ) /libunicode.nolto.o $( OBJDIR ) /libunicode.bn.nolto.o : libunicode-table.h
225
+ $(OBJDIR)/libunicode.o $(OBJDIR)/libunicode.m32.o $(OBJDIR)/libunicode.m32s.o \
226
+ $(OBJDIR ) /libunicode.nolto.o : libunicode-table.h
258
227
259
228
libunicode-table.h : unicode_gen
260
229
./unicode_gen unicode $@
@@ -263,19 +232,13 @@ endif
263
232
run-test262 : $(OBJDIR ) /run-test262.o $(QJS_LIB_OBJS )
264
233
$(CC ) $(LDFLAGS ) -o $@ $^ $(LIBS ) -lpthread
265
234
266
- run-test262-bn : $(OBJDIR ) /run-test262.bn.o $(QJSBN_LIB_OBJS )
267
- $(CC ) $(LDFLAGS ) -o $@ $^ $(LIBS ) -lpthread
268
-
269
235
run-test262-debug : $(patsubst % .o, % .debug.o, $(OBJDIR ) /run-test262.o $(QJS_LIB_OBJS ) )
270
236
$(CC ) $(LDFLAGS ) -o $@ $^ $(LIBS ) -lpthread
271
237
272
238
run-test262-32 : $(patsubst % .o, % .m32.o, $(OBJDIR ) /run-test262.o $(QJS_LIB_OBJS ) )
273
239
$(CC ) -m32 $(LDFLAGS ) -o $@ $^ $(LIBS ) -lpthread
274
240
275
- run-test262-bn32 : $(patsubst % .o, % .m32.o, $(OBJDIR ) /run-test262.bn.o $(QJSBN_LIB_OBJS ) )
276
- $(CC ) -m32 $(LDFLAGS ) -o $@ $^ $(LIBS ) -lpthread
277
-
278
- # object suffix order: bn, nolto, [m32|m32s]
241
+ # object suffix order: nolto, [m32|m32s]
279
242
280
243
$(OBJDIR ) /% .o : % .c | $(OBJDIR )
281
244
$(CC ) $(CFLAGS_OPT ) -c -o $@ $<
@@ -286,33 +249,18 @@ $(OBJDIR)/%.host.o: %.c | $(OBJDIR)
286
249
$(OBJDIR ) /% .pic.o : % .c | $(OBJDIR )
287
250
$(CC ) $(CFLAGS_OPT ) -fPIC -DJS_SHARED_LIBRARY -c -o $@ $<
288
251
289
- $(OBJDIR ) /% .bn.o : % .c | $(OBJDIR )
290
- $(CC ) $(CFLAGS_OPT ) -DCONFIG_BIGNUM -c -o $@ $<
291
-
292
- $(OBJDIR ) /% .bn.host.o : % .c | $(OBJDIR )
293
- $(HOST_CC ) $(CFLAGS_OPT ) -DCONFIG_BIGNUM -c -o $@ $<
294
-
295
252
$(OBJDIR ) /% .nolto.o : % .c | $(OBJDIR )
296
253
$(CC ) $(CFLAGS_NOLTO ) -c -o $@ $<
297
254
298
- $(OBJDIR ) /% .bn.nolto.o : % .c | $(OBJDIR )
299
- $(CC ) $(CFLAGS_NOLTO ) -DCONFIG_BIGNUM -c -o $@ $<
300
-
301
255
$(OBJDIR ) /% .m32.o : % .c | $(OBJDIR )
302
256
$(CC ) -m32 $(CFLAGS_OPT ) -c -o $@ $<
303
257
304
258
$(OBJDIR ) /% .m32s.o : % .c | $(OBJDIR )
305
259
$(CC ) -m32 $(CFLAGS_SMALL ) -c -o $@ $<
306
260
307
- $(OBJDIR ) /% .bn.m32.o : % .c | $(OBJDIR )
308
- $(CC ) -m32 $(CFLAGS_OPT ) -DCONFIG_BIGNUM -c -o $@ $<
309
-
310
261
$(OBJDIR ) /% .debug.o : % .c | $(OBJDIR )
311
262
$(CC ) $(CFLAGS_DEBUG ) -c -o $@ $<
312
263
313
- $(OBJDIR ) /% .bn.debug.o : % .c | $(OBJDIR )
314
- $(CC ) $(CFLAGS_DEBUG ) -DCONFIG_BIGNUM -c -o $@ $<
315
-
316
264
$(OBJDIR ) /% .check.o : % .c | $(OBJDIR )
317
265
$(CC ) $(CFLAGS ) -DCONFIG_CHECK_JSVALUE -c -o $@ $<
318
266
@@ -326,22 +274,22 @@ unicode_gen: $(OBJDIR)/unicode_gen.host.o $(OBJDIR)/cutils.host.o libunicode.c u
326
274
$(HOST_CC ) $(LDFLAGS ) $(CFLAGS ) -o $@ $(OBJDIR ) /unicode_gen.host.o $(OBJDIR ) /cutils.host.o
327
275
328
276
clean :
329
- rm -f repl.c repl-bn.c qjscalc.c out.c
277
+ rm -f repl.c qjscalc.c out.c
330
278
rm -f * .a * .o * .d * ~ jscompress unicode_gen regexp_test $(PROGS )
331
279
rm -f hello.c hello_module.c test_fib.c
332
280
rm -f examples/* .so tests/* .so
333
- rm -rf $(OBJDIR ) / * .dSYM/ qjs-debug qjsbn-debug
334
- rm -rf run-test262-debug run-test262-32 run-test262-bn32
281
+ rm -rf $(OBJDIR ) / * .dSYM/ qjs-debug
282
+ rm -rf run-test262-debug run-test262-32
335
283
336
284
install : all
337
285
mkdir -p " $( DESTDIR) $( prefix) /bin"
338
- $(STRIP ) qjs qjsbn qjsc qjsbnc
339
- install -m755 qjs qjsbn qjsc qjsbnc " $( DESTDIR) $( prefix) /bin"
340
- ln -sf qjsbn " $( DESTDIR) $( prefix) /bin/qjscalc"
286
+ $(STRIP ) qjs qjsc
287
+ install -m755 qjs qjsc " $( DESTDIR) $( prefix) /bin"
288
+ ln -sf qjs " $( DESTDIR) $( prefix) /bin/qjscalc"
341
289
mkdir -p " $( DESTDIR) $( prefix) /lib/quickjs"
342
- install -m644 libquickjs.a libquickjs.bn.a " $( DESTDIR) $( prefix) /lib/quickjs"
290
+ install -m644 libquickjs.a " $( DESTDIR) $( prefix) /lib/quickjs"
343
291
ifdef CONFIG_LTO
344
- install -m644 libquickjs.lto.a libquickjs.bn.lto.a "$(DESTDIR)$(prefix)/lib/quickjs"
292
+ install -m644 libquickjs.lto.a "$(DESTDIR)$(prefix)/lib/quickjs"
345
293
endif
346
294
mkdir -p "$(DESTDIR)$(prefix)/include/quickjs"
347
295
install -m644 quickjs.h quickjs-libc.h "$(DESTDIR)$(prefix)/include/quickjs"
@@ -353,7 +301,7 @@ endif
353
301
HELLO_SRCS =examples/hello.js
354
302
HELLO_OPTS =-fno-string-normalize -fno-map -fno-promise -fno-typedarray \
355
303
-fno-typedarray -fno-regexp -fno-json -fno-eval -fno-proxy \
356
- -fno-date -fno-module-loader
304
+ -fno-date -fno-module-loader -fno-bigint
357
305
358
306
hello.c : $(QJSC ) $(HELLO_SRCS )
359
307
$(QJSC ) -e $(HELLO_OPTS ) -o $@ $(HELLO_SRCS )
@@ -413,46 +361,41 @@ doc/%.html: doc/%.html.pre
413
361
ifndef CONFIG_DARWIN
414
362
test : tests/bjson.so examples/point.so
415
363
endif
364
+ ifdef CONFIG_M32
365
+ test : qjs32
366
+ endif
416
367
417
- test : qjs qjsbn
368
+ test : qjs
418
369
./qjs tests/test_closure.js
419
370
./qjs tests/test_op.js
420
371
./qjs tests/test_builtin.js
421
372
./qjs tests/test_loop.js
422
373
./qjs tests/test_std.js
423
374
ifndef CONFIG_DARWIN
424
- ./qjs tests/test_bjson.js
375
+ ./qjs --bignum tests/test_bjson.js
425
376
./qjs examples/test_point.js
426
377
endif
427
- ./qjsbn tests/test_closure.js
428
- ./qjsbn tests/test_op.js
429
- ./qjsbn tests/test_builtin.js
430
- ./qjsbn tests/test_loop.js
431
- ./qjsbn tests/test_std.js
432
- ./qjsbn --qjscalc tests/test_bignum.js
433
-
434
- test-32 : qjs32 qjsbn32
378
+ ./qjs --bignum tests/test_bignum.js
379
+ ./qjs --qjscalc tests/test_qjscalc.js
380
+ ifdef CONFIG_M32
435
381
./qjs32 tests/test_closure.js
436
382
./qjs32 tests/test_op.js
437
383
./qjs32 tests/test_builtin.js
438
384
./qjs32 tests/test_loop.js
439
385
./qjs32 tests/test_std.js
440
- ./qjsbn32 tests/test_closure.js
441
- ./qjsbn32 tests/test_op.js
442
- ./qjsbn32 tests/test_builtin.js
443
- ./qjsbn32 tests/test_loop.js
444
- ./qjsbn32 tests/test_std.js
445
- ./qjsbn32 --qjscalc tests/test_bignum.js
386
+ ./qjs32 --bignum tests/test_bignum.js
387
+ ./qjs32 --qjscalc tests/test_qjscalc.js
388
+ endif
446
389
447
390
stats : qjs qjs32
448
391
./qjs -qd
449
392
./qjs32 -qd
450
393
451
394
microbench : qjs
452
- ./qjs --std tests/microbench.js
395
+ ./qjs tests/microbench.js
453
396
454
397
microbench-32 : qjs32
455
- ./qjs32 --std tests/microbench.js
398
+ ./qjs32 tests/microbench.js
456
399
457
400
# ES5 tests (obsolete)
458
401
test2o : run-test262
@@ -480,19 +423,9 @@ test2-update: run-test262
480
423
test2-check : run-test262
481
424
time ./run-test262 -m -c test262.conf -E -a
482
425
483
- # Test262 + BigInt tests
484
- test2bn : run-test262-bn
485
- time ./run-test262-bn -m -c test262bn.conf -a
486
-
487
- test2bn-update : run-test262-bn
488
- time ./run-test262-bn -u -c test262bn.conf -a
489
-
490
- test2bn-32 : run-test262-bn32
491
- time ./run-test262-bn32 -m -c test262bn.conf -a
492
-
493
- testall : all test microbench test2o test2 test2bn
426
+ testall : all test microbench test2o test2
494
427
495
- testall-32 : all test-32 microbench-32 test2o-32 test2-32 test2bn-32
428
+ testall-32 : all test-32 microbench-32 test2o-32 test2-32
496
429
497
430
testall-complete : testall testall-32
498
431
0 commit comments