@@ -119,26 +119,24 @@ else
119119LDEXPORT =-rdynamic
120120endif
121121
122- PROGS =qjs$(EXE ) qjsbn $( EXE ) qjsc$(EXE ) qjsbnc $( EXE ) run-test262 run-test262-bn
122+ PROGS =qjs$(EXE ) qjsc$(EXE ) run-test262
123123ifneq ($(CROSS_PREFIX ) ,)
124124QJSC_CC =gcc
125125QJSC =./host-qjsc
126- QJSBNC =./host-qjsbnc
127- PROGS+ =$(QJSC ) $(QJSBNC )
126+ PROGS+ =$(QJSC )
128127else
129128QJSC_CC =$(CC )
130129QJSC =./qjsc$(EXE )
131- QJSBNC =./qjsbnc$(EXE )
132130endif
133131ifndef CONFIG_WIN32
134132PROGS+ =qjscalc
135133endif
136134ifdef CONFIG_M32
137- PROGS+ =qjs32 qjs32_s qjsbn32
135+ PROGS+ =qjs32 qjs32_s
138136endif
139- PROGS+ =libquickjs.a libquickjs.bn.a
137+ PROGS+ =libquickjs.a
140138ifdef CONFIG_LTO
141- PROGS+ =libquickjs.lto.a libquickjs.bn.lto.a
139+ PROGS+ =libquickjs.lto.a
142140endif
143141
144142# examples
@@ -155,13 +153,9 @@ endif
155153
156154all : $(OBJDIR ) $(OBJDIR ) /quickjs.check.o $(OBJDIR ) /qjs.check.o $(PROGS )
157155
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
159157
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 )
165159
166160LIBS =-lm
167161ifndef CONFIG_WIN32
@@ -180,19 +174,12 @@ qjs-debug$(EXE): $(patsubst %.o, %.debug.o, $(QJS_OBJS))
180174qjsc$(EXE ) : $(OBJDIR ) /qjsc.o $(QJS_LIB_OBJS )
181175 $(CC ) $(LDFLAGS ) -o $@ $^ $(LIBS )
182176
183- qjsbnc$(EXE ) : $(OBJDIR ) /qjsc.bn.o $(QJSBN_LIB_OBJS )
184- $(CC ) $(LDFLAGS ) -o $@ $^ $(LIBS )
185-
186177ifneq ($(CROSS_PREFIX ) ,)
187178
188179$(QJSC ) : $(OBJDIR ) /qjsc.host.o \
189180 $(patsubst %.o, %.host.o, $(QJS_LIB_OBJS))
190181 $(HOST_CC) $(LDFLAGS) -o $@ $^ $(LIBS)
191182
192- $(QJSBNC ) : $(OBJDIR ) /qjsc.bn.host.o \
193- $(patsubst %.o, %.host.o, $(QJSBN_LIB_OBJS))
194- $(HOST_CC) $(LDFLAGS) -o $@ $^ $(LIBS)
195-
196183endif # CROSS_PREFIX
197184
198185QJSC_DEFINES:=-DCONFIG_CC =\"$(QJSC_CC ) \" -DCONFIG_PREFIX=\"$(prefix ) \"
@@ -201,8 +188,8 @@ QJSC_DEFINES+=-DCONFIG_LTO
201188endif
202189QJSC_HOST_DEFINES:=-DCONFIG_CC =\"$(HOST_CC ) \" -DCONFIG_PREFIX=\"$(prefix ) \"
203190
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 )
206193
207194qjs32 : $(patsubst % .o, % .m32.o, $(QJS_OBJS ) )
208195 $(CC ) -m32 $(LDFLAGS ) $(LDEXPORT ) -o $@ $^ $(LIBS )
@@ -211,18 +198,9 @@ qjs32_s: $(patsubst %.o, %.m32s.o, $(QJS_OBJS))
211198 $(CC ) -m32 $(LDFLAGS ) -o $@ $^ $(LIBS )
212199 @size $@
213200
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
221202 ln -sf $< $@
222203
223- qjsbn-debug$(EXE ) : $(patsubst % .o, % .debug.o, $(QJSBN_OBJS ) )
224- $(CC ) $(LDFLAGS ) -o $@ $^ $(LIBS )
225-
226204ifdef CONFIG_LTO
227205LTOEXT =.lto
228206else
@@ -232,29 +210,20 @@ endif
232210libquickjs$(LTOEXT ) .a : $(QJS_LIB_OBJS )
233211 $(AR ) rcs $@ $^
234212
235- libquickjs.bn$(LTOEXT ) .a : $(QJSBN_LIB_OBJS )
236- $(AR ) rcs $@ $^
237-
238213ifdef CONFIG_LTO
239214libquickjs.a : $(patsubst % .o, % .nolto.o, $(QJS_LIB_OBJS ) )
240215 $(AR ) rcs $@ $^
241-
242- libquickjs.bn.a : $(patsubst % .o, % .nolto.o, $(QJSBN_LIB_OBJS ) )
243- $(AR ) rcs $@ $^
244216endif # CONFIG_LTO
245217
246218repl.c : $(QJSC ) repl.js
247219 $(QJSC ) -c -o $@ -m repl.js
248220
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
254223
255224ifneq ($(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
258227
259228libunicode-table.h : unicode_gen
260229 ./unicode_gen unicode $@
@@ -263,19 +232,13 @@ endif
263232run-test262 : $(OBJDIR ) /run-test262.o $(QJS_LIB_OBJS )
264233 $(CC ) $(LDFLAGS ) -o $@ $^ $(LIBS ) -lpthread
265234
266- run-test262-bn : $(OBJDIR ) /run-test262.bn.o $(QJSBN_LIB_OBJS )
267- $(CC ) $(LDFLAGS ) -o $@ $^ $(LIBS ) -lpthread
268-
269235run-test262-debug : $(patsubst % .o, % .debug.o, $(OBJDIR ) /run-test262.o $(QJS_LIB_OBJS ) )
270236 $(CC ) $(LDFLAGS ) -o $@ $^ $(LIBS ) -lpthread
271237
272238run-test262-32 : $(patsubst % .o, % .m32.o, $(OBJDIR ) /run-test262.o $(QJS_LIB_OBJS ) )
273239 $(CC ) -m32 $(LDFLAGS ) -o $@ $^ $(LIBS ) -lpthread
274240
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]
279242
280243$(OBJDIR ) /% .o : % .c | $(OBJDIR )
281244 $(CC ) $(CFLAGS_OPT ) -c -o $@ $<
@@ -286,33 +249,18 @@ $(OBJDIR)/%.host.o: %.c | $(OBJDIR)
286249$(OBJDIR ) /% .pic.o : % .c | $(OBJDIR )
287250 $(CC ) $(CFLAGS_OPT ) -fPIC -DJS_SHARED_LIBRARY -c -o $@ $<
288251
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-
295252$(OBJDIR ) /% .nolto.o : % .c | $(OBJDIR )
296253 $(CC ) $(CFLAGS_NOLTO ) -c -o $@ $<
297254
298- $(OBJDIR ) /% .bn.nolto.o : % .c | $(OBJDIR )
299- $(CC ) $(CFLAGS_NOLTO ) -DCONFIG_BIGNUM -c -o $@ $<
300-
301255$(OBJDIR ) /% .m32.o : % .c | $(OBJDIR )
302256 $(CC ) -m32 $(CFLAGS_OPT ) -c -o $@ $<
303257
304258$(OBJDIR ) /% .m32s.o : % .c | $(OBJDIR )
305259 $(CC ) -m32 $(CFLAGS_SMALL ) -c -o $@ $<
306260
307- $(OBJDIR ) /% .bn.m32.o : % .c | $(OBJDIR )
308- $(CC ) -m32 $(CFLAGS_OPT ) -DCONFIG_BIGNUM -c -o $@ $<
309-
310261$(OBJDIR ) /% .debug.o : % .c | $(OBJDIR )
311262 $(CC ) $(CFLAGS_DEBUG ) -c -o $@ $<
312263
313- $(OBJDIR ) /% .bn.debug.o : % .c | $(OBJDIR )
314- $(CC ) $(CFLAGS_DEBUG ) -DCONFIG_BIGNUM -c -o $@ $<
315-
316264$(OBJDIR ) /% .check.o : % .c | $(OBJDIR )
317265 $(CC ) $(CFLAGS ) -DCONFIG_CHECK_JSVALUE -c -o $@ $<
318266
@@ -326,22 +274,22 @@ unicode_gen: $(OBJDIR)/unicode_gen.host.o $(OBJDIR)/cutils.host.o libunicode.c u
326274 $(HOST_CC ) $(LDFLAGS ) $(CFLAGS ) -o $@ $(OBJDIR ) /unicode_gen.host.o $(OBJDIR ) /cutils.host.o
327275
328276clean :
329- rm -f repl.c repl-bn.c qjscalc.c out.c
277+ rm -f repl.c qjscalc.c out.c
330278 rm -f * .a * .o * .d * ~ jscompress unicode_gen regexp_test $(PROGS )
331279 rm -f hello.c hello_module.c test_fib.c
332280 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
335283
336284install : all
337285 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"
341289 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"
343291ifdef 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"
345293endif
346294 mkdir -p "$(DESTDIR)$(prefix)/include/quickjs"
347295 install -m644 quickjs.h quickjs-libc.h "$(DESTDIR)$(prefix)/include/quickjs"
@@ -353,7 +301,7 @@ endif
353301HELLO_SRCS =examples/hello.js
354302HELLO_OPTS =-fno-string-normalize -fno-map -fno-promise -fno-typedarray \
355303 -fno-typedarray -fno-regexp -fno-json -fno-eval -fno-proxy \
356- -fno-date -fno-module-loader
304+ -fno-date -fno-module-loader -fno-bigint
357305
358306hello.c : $(QJSC ) $(HELLO_SRCS )
359307 $(QJSC ) -e $(HELLO_OPTS ) -o $@ $(HELLO_SRCS )
@@ -413,46 +361,41 @@ doc/%.html: doc/%.html.pre
413361ifndef CONFIG_DARWIN
414362test : tests/bjson.so examples/point.so
415363endif
364+ ifdef CONFIG_M32
365+ test : qjs32
366+ endif
416367
417- test : qjs qjsbn
368+ test : qjs
418369 ./qjs tests/test_closure.js
419370 ./qjs tests/test_op.js
420371 ./qjs tests/test_builtin.js
421372 ./qjs tests/test_loop.js
422373 ./qjs tests/test_std.js
423374ifndef CONFIG_DARWIN
424- ./qjs tests/test_bjson.js
375+ ./qjs --bignum tests/test_bjson.js
425376 ./qjs examples/test_point.js
426377endif
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
435381 ./qjs32 tests/test_closure.js
436382 ./qjs32 tests/test_op.js
437383 ./qjs32 tests/test_builtin.js
438384 ./qjs32 tests/test_loop.js
439385 ./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
446389
447390stats : qjs qjs32
448391 ./qjs -qd
449392 ./qjs32 -qd
450393
451394microbench : qjs
452- ./qjs --std tests/microbench.js
395+ ./qjs tests/microbench.js
453396
454397microbench-32 : qjs32
455- ./qjs32 --std tests/microbench.js
398+ ./qjs32 tests/microbench.js
456399
457400# ES5 tests (obsolete)
458401test2o : run-test262
@@ -480,19 +423,9 @@ test2-update: run-test262
480423test2-check : run-test262
481424 time ./run-test262 -m -c test262.conf -E -a
482425
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
494427
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
496429
497430testall-complete : testall testall-32
498431
0 commit comments