Update conditional-install rules for easier maintenance
authorXimin Luo <infinity0@debian.org>
Fri, 21 Jul 2017 14:00:04 +0000 (16:00 +0200)
committerXimin Luo <infinity0@debian.org>
Fri, 21 Jul 2017 14:00:04 +0000 (16:00 +0200)
debian/changelog
debian/ocaml-base-nox.install.in
debian/ocaml-base.install.in
debian/ocaml-nox.install.in
debian/ocamlinit.mk

index efb5278d867365e7b328765ebaa85985e4177eef..cf473616d3083ca4608a241c6a5a7f68e024da14 100644 (file)
@@ -1,3 +1,10 @@
+ocaml (4.05.0-2) UNRELEASED; urgency=medium
+
+  * Update conditional-install rules for easier maintenance. This fixes FTBFS
+    on arm64 and s390x where libasmrunp.a is not available.
+
+ -- Ximin Luo <infinity0@debian.org>  Fri, 21 Jul 2017 15:59:19 +0200
+
 ocaml (4.05.0-1) experimental; urgency=medium
 
   * New upstream release.
index 684d2d46c625ddbbe8de0e387651defb09eab3ae..08c886bf8de5f96718f0d76c43883a49ded616d1 100644 (file)
      @OCamlStdlibDir@/ld.conf
      debian/ld.conf @OCamlStdlibDir@
      @OCamlStdlibDir@/unix.cma
-DYN: @OCamlStdlibDir@/unix.cmxs
+     @OCamlStdlibDir@/unix.cmxs
      @OCamlStdlibDir@/str.cma
-DYN: @OCamlStdlibDir@/str.cmxs
+     @OCamlStdlibDir@/str.cmxs
      @OCamlStdlibDir@/bigarray.cma
-DYN: @OCamlStdlibDir@/bigarray.cmxs
+     @OCamlStdlibDir@/bigarray.cmxs
      @OCamlStdlibDir@/nums.cma
-DYN: @OCamlStdlibDir@/nums.cmxs
+     @OCamlStdlibDir@/nums.cmxs
      @OCamlStdlibDir@/arg.cmi
      @OCamlStdlibDir@/array.cmi
      @OCamlStdlibDir@/arrayLabels.cmi
@@ -51,9 +51,9 @@ DYN: @OCamlStdlibDir@/nums.cmxs
      @OCamlStdlibDir@/printf.cmi
      @OCamlStdlibDir@/queue.cmi
      @OCamlStdlibDir@/random.cmi
-64:      @OCamlStdlibDir@/raw_spacetime_lib.cmi
-64:      @OCamlStdlibDir@/raw_spacetime_lib.cma
-64: DYN: @OCamlStdlibDir@/raw_spacetime_lib.cmxs
+OTH: @OCamlStdlibDir@/raw_spacetime_lib.cmi
+OTH: @OCamlStdlibDir@/raw_spacetime_lib.cma
+OTH: @OCamlStdlibDir@/raw_spacetime_lib.cmxs
      @OCamlStdlibDir@/scanf.cmi
      @OCamlStdlibDir@/set.cmi
      @OCamlStdlibDir@/sort.cmi
index 26e6b4901e5ed29e264431f371bb6635d0792906..6f5077ba65d622220a3ae3c7eb2a4a865de4ba18 100644 (file)
@@ -1,3 +1,3 @@
      @OCamlDllDir@/dllgraphics.so
      @OCamlStdlibDir@/graphics.cma
-DYN: @OCamlStdlibDir@/graphics.cmxs
+     @OCamlStdlibDir@/graphics.cmxs
index 0d72a63d6eeb5182ece68ef51182976496bf654c..81788eede3d819b5f68013d8b102b178c2ee7488 100644 (file)
@@ -43,7 +43,7 @@ DYN: @OCamlStdlibDir@/dynlink.a
 OPT: @OCamlStdlibDir@/libasmrun.a
 OPT: @OCamlStdlibDir@/libasmrun_pic.a
 OPT: @OCamlStdlibDir@/libasmrun_shared.so
-OPT: @OCamlStdlibDir@/libasmrunp.a
+OPT: PROFILING: @OCamlStdlibDir@/libasmrunp.a
      @OCamlStdlibDir@/libcamlrun.a
      @OCamlStdlibDir@/libcamlrun_pic.a
      @OCamlStdlibDir@/libcamlrun_shared.so
@@ -334,9 +334,9 @@ STD: random.cmx
 STD: ratio.cmti
 STD: ratio.cmx
 STD: ratio.mli
-64: STD: raw_spacetime_lib.cmx
-64: STD: raw_spacetime_lib.cmxa
-64: STD: raw_spacetime_lib.mli
+OTH: STD: raw_spacetime_lib.cmx
+OTH: STD: raw_spacetime_lib.cmxa
+OTH: STD: raw_spacetime_lib.mli
 STD: scanf.ml
 STD: scanf.mli
 STD: scanf.cmx
index d914b15ca200d6325f2d89fc1d1d8a5f0e0b3829..9348c27802859b75d11118e280ac015fe9e01629 100644 (file)
@@ -43,11 +43,8 @@ OCAMLINIT_SED := \
   -e 's%@OCamlStdlibDir@%$(OCAML_STDLIB_DIR)%g' \
   -e 's%@OCamlDllDir@%$(OCAML_DLL_DIR)%g'
 
-ifeq ($(DEB_BUILD_ARCH_BITS),64)
-  OCAMLINIT_SED += -e 's/^64: //'
-else
-  OCAMLINIT_SED += -e '/^64: /d'
-endif
+# When using these prefixs in *.install.in they must appear in the same order
+# as below, with STD: going last since it's processed by gen_modules.pl
 
 ifeq ($(OCAML_HAVE_OCAMLOPT),yes)
   OCAMLINIT_SED += -e 's/^OPT: //' -e '/^BYTE: /d'
@@ -55,12 +52,26 @@ else
   OCAMLINIT_SED += -e '/^OPT: /d' -e 's/^BYTE: //'
 endif
 
-ifeq ($(OCAML_NATDYNLINK),yes)
+ifeq ($(NATDYNLINK),true)
   OCAMLINIT_SED += -e 's/^DYN: //'
 else
   OCAMLINIT_SED += -e '/^DYN: /d'
+  OCAMLINIT_SED += -e '/\.cmxs$$/d'
+endif
+
+ifeq ($(PROFILING),true)
+  OCAMLINIT_SED += -e 's/^PROFILING: //'
+else
+  OCAMLINIT_SED += -e '/^PROFILING: /d'
 endif
 
+otherlib = \
+OCAMLINIT_SED += $(if $(filter $(1),$(OTHERLIBRARIES)),\
+  -e 's/^OTH: \(.*\b$(1)\.\w\w*$$\\)/\1/',\
+  -e '/^OTH: .*\b$(1)\.\w\w*$$/d')
+# careful, no whitespace after the comma
+$(eval $(call otherlib,raw_spacetime_lib))
+
 ocamlinit: ocamlinit-stamp
 ocamlinit-stamp: config/Makefile
        for t in $(OCAML_IN_FILES); do \