Files
2024-01-28 20:43:36 -05:00

168 lines
4.5 KiB
Diff

There is no bytecode-only target, and build system is incapable of detecting
that ocamlopt is unavailable. So for now we just cut it out by hand.
https://github.com/ocaml/num/issues/39
--- Makefile.common 2023-12-15 20:29:24.000000000 +0800
+++ Makefile.common 2024-01-28 23:21:11.000000000 +0800
@@ -1,5 +1,4 @@
OCAMLC=ocamlc
-OCAMLOPT=ocamlopt
OCAMLDEP=ocamldep
OCAMLMKLIB=ocamlmklib
OCAMLFIND=ocamlfind
@@ -13,14 +12,7 @@
include $(STDLIBDIR)/Makefile.config
-ifeq "$(NATIVE_COMPILER)" ""
-# $(NATIVE_COMPILER) was added in 4.09: use $(ARCH) for 4.06-4.08
-ifeq "$(ARCH)" "none"
NATIVE_COMPILER = false
-else
-NATIVE_COMPILER = true
-endif
-endif
# PROFILE=dev or PROFILE=release
PROFILE ?= auto
--- src/Makefile 2023-12-15 20:29:24.000000000 +0800
+++ src/Makefile 2024-01-28 23:27:14.000000000 +0800
@@ -11,15 +11,10 @@
CAMLCFLAGS=-w +a-4-9-41-42-44-45-48 $(WARN_ERROR) -bin-annot -g \
-safe-string -strict-sequence -strict-formats -I +compiler-libs
-CAMLOPTFLAGS=$(CAMLCFLAGS)
-ifeq "$(FLAMBDA)" "true"
-CAMLOPTFLAGS+=-O3
-endif
CMIS=big_int.cmi nat.cmi num.cmi ratio.cmi arith_status.cmi
CMOS=int_misc.cmo nat.cmo big_int.cmo arith_flags.cmo \
ratio.cmo num.cmo arith_status.cmo
-CMXS=$(CMOS:.cmo=.cmx)
COBJS=bng.$(O) nat_stubs.$(O)
MODULES_NUM_TOP=num_top_printers num_top
@@ -30,14 +25,6 @@
all:: libnums.$(A) nums.cma num_top.cma META.legacy META.modern META.top \
num-legacy.install num-modern.install
-ifeq "$(NATIVE_COMPILER)" "true"
-all:: nums.cmxa
-endif
-
-ifeq "$(NATDYNLINK)" "true"
-all:: nums.cmxs
-endif
-
META.top: META.num-top.in
echo 'version = "$(VERSION)"' > $@
cat $^ >> $@
@@ -55,13 +42,7 @@
@echo ' version = "$(VERSION)"' >> $@
@echo ' browse_interfaces = ""' >> $@
@echo ' archive(byte) = "nums.cma"' >> $@
-ifneq "$(ARCH)" "none"
- @echo ' archive(native) = "nums.cmxa"' >> $@
-endif
@echo ' plugin(byte) = "nums.cma"' >> $@
-ifeq "$(NATDYNLINK)" "true"
- @echo ' plugin(native) = "nums.cmxs"' >> $@
-endif
@echo ')' >> $@
libnums.$(A): $(COBJS)
@@ -70,12 +51,6 @@
nums.cma: $(CMOS)
$(OCAMLMKLIB) -o nums -oc nums -linkall $(CMOS)
-nums.cmxa: $(CMXS)
- $(OCAMLMKLIB) -o nums -oc nums -linkall $(CMXS)
-
-nums.cmxs: nums.cmxa libnums.$(A)
- $(OCAMLOPT) $(CAMLOPTFLAGS) -I . -shared -o nums.cmxs nums.cmxa
-
num_top.cma: $(CMOS_NUM_TOP)
$(OCAMLC) $(CAMLCFLAGS) -a -o $@ $^
@@ -88,8 +63,6 @@
$(OCAMLC) $(CAMLCFLAGS) -c $*.mli
%.cmo: %.ml
$(OCAMLC) $(CAMLCFLAGS) -c $*.ml
-%.cmx: %.ml
- $(OCAMLOPT) $(CAMLOPTFLAGS) -c $*.ml
%.$(O): %.c
$(OCAMLC) -ccopt -DBNG_ARCH_$(BNG_ARCH) -c $*.c
@@ -97,14 +70,7 @@
# is installed via findlib
TOINSTALL=nums.cma libnums.$(A) $(CMIS) $(CMIS:.cmi=.mli) $(CMIS:.cmi=.cmti)
-ifeq "$(NATIVE_COMPILER)" "true"
-TOINSTALL+=nums.cmxa nums.$(A) $(CMXS)
-endif
-ifeq "$(NATDYNLINK)" "true"
-TOINSTALL_CMXS=nums.cmxs
-else
TOINSTALL_CMXS=
-endif
ifeq "$(SUPPORTS_SHARED_LIBRARIES)" "true"
TOINSTALL_STUBS=dllnums$(EXT_DLL)
else
@@ -169,9 +135,6 @@
$(OCAMLFIND) install num META
rm -f META
$(INSTALL_DATA) $(TOINSTALL) $(DESTDIR)$(STDLIBDIR)
-ifeq "$(NATDYNLINK)" "true"
- $(INSTALL_DLL) $(TOINSTALL_CMXS) $(DESTDIR)$(STDLIBDIR)
-endif
ifeq "$(SUPPORTS_SHARED_LIBRARIES)" "true"
$(INSTALL_DIR) $(DESTDIR)$(STDLIBDIR)/stublibs
$(INSTALL_DLL) $(TOINSTALL_STUBS) $(DESTDIR)$(STDLIBDIR)/stublibs
@@ -200,7 +163,7 @@
endif
clean:
- rm -f *.cm[ioxta] *.cmx[as] *.cmti *.$(O) *.$(A) *$(EXT_DLL) \
+ rm -f *.cm[ioxta] *.cmti *.$(O) *.$(A) *$(EXT_DLL) \
META.top META.legacy META.modern $(SOURCES_NUM_TOP) \
num-legacy.install num-modern.install
--- test/Makefile 2023-12-15 20:29:24.000000000 +0800
+++ test/Makefile 2024-01-28 23:28:23.000000000 +0800
@@ -1,7 +1,6 @@
include ../Makefile.common
CAMLCFLAGS=
-CAMLOPTFLAGS=$(CAMLCFLAGS)
FILES=test.ml test_nats.ml test_big_ints.ml test_ratios.ml test_nums.ml test_io.ml end_test.ml
@@ -9,24 +8,13 @@
@echo "----- Testing in bytecode..."
$(OCAMLRUN) -I ../src ./test.byt
-ifeq "$(NATIVE_COMPILER)" "true"
-all:: test.exe
- @echo "----- Testing in native code..."
- ./test.exe
-endif
-
test.byt: $(FILES) ../src/nums.cma ../src/libnums.$(A)
$(OCAMLC) -I ../src $(CAMLCFLAGS) ../src/nums.cma $(FILES) -o test.byt
-test.exe: $(FILES) ../src/nums.cmxa ../src/libnums.$(A)
- $(OCAMLOPT) -I ../src $(CAMLOPTFLAGS) ../src/nums.cmxa $(FILES) -o test.exe
-
%.cmi: %.mli
$(OCAMLC) $(CAMLCFLAGS) -c $*.mli
%.cmo: %.ml
$(OCAMLC) $(CAMLCFLAGS) -c $*.ml
-%.cmx: %.ml
- $(OCAMLOPT) $(CAMLOPTFLAGS) -c $*.ml
clean:
- rm -f *.cm[ioxt] *.$(O) test.byt test.exe
+ rm -f *.cm[ioxt] *.$(O) test.byt