*.cmxs are no longer available everywhere
authorStephane Glondu <steph@glondu.net>
Tue, 8 Jun 2010 22:21:45 +0000 (00:21 +0200)
committerStephane Glondu <steph@glondu.net>
Wed, 16 Jun 2010 15:41:43 +0000 (08:41 -0700)
debian/natdynlink-archs [new file with mode: 0644]
debian/ocaml-base-nox.install.in
debian/ocaml-base.install.in
debian/ocamlinit.mk
debian/rules

diff --git a/debian/natdynlink-archs b/debian/natdynlink-archs
new file mode 100644 (file)
index 0000000..223f4f1
--- /dev/null
@@ -0,0 +1 @@
+amd64 hurd-i386 i386 kfreebsd-i386 kfreebsd-amd64 lpia powerpc sparc
index 03e26767fb2461537b6286bf71dd4b8031d658a1..d5ac63296adafeddbe4ee90ecb2605711db52d91 100644 (file)
      @OCamlStdlibDir@/ld.conf
      debian/ld.conf @OCamlStdlibDir@
      @OCamlStdlibDir@/dbm.cma
-OPT: @OCamlStdlibDir@/dbm.cmxs
+DYN: @OCamlStdlibDir@/dbm.cmxs
      @OCamlStdlibDir@/unix.cma
-OPT: @OCamlStdlibDir@/unix.cmxs
+DYN: @OCamlStdlibDir@/unix.cmxs
      @OCamlStdlibDir@/str.cma
-OPT: @OCamlStdlibDir@/str.cmxs
+DYN: @OCamlStdlibDir@/str.cmxs
      @OCamlStdlibDir@/bigarray.cma
-OPT: @OCamlStdlibDir@/bigarray.cmxs
+DYN: @OCamlStdlibDir@/bigarray.cmxs
      @OCamlStdlibDir@/nums.cma
-OPT: @OCamlStdlibDir@/nums.cmxs
+DYN: @OCamlStdlibDir@/nums.cmxs
      @OCamlStdlibDir@/arg.cmi
      @OCamlStdlibDir@/array.cmi
      @OCamlStdlibDir@/arrayLabels.cmi
index ed87d092370b4b3b936f5ba0fe650c59de96ad60..e1c05c2d82a8730e69723d30de16968730037a5f 100644 (file)
@@ -1,4 +1,4 @@
      @OCamlDllDir@/dlllabltk.so
      @OCamlDllDir@/dllgraphics.so
      @OCamlStdlibDir@/graphics.cma
-OPT: @OCamlStdlibDir@/graphics.cmxs
+DYN: @OCamlStdlibDir@/graphics.cmxs
index 5db34126c95bd714d19e3959fc7da82f6ed6ef0b..92950177b5784ed2eadf5866c58654590957c03e 100644 (file)
@@ -40,12 +40,19 @@ OCAMLINIT_SED := \
   -e 's%@OCamlABI@%$(OCAML_ABI)%g' \
   -e 's%@OCamlStdlibDir@%$(OCAML_STDLIB_DIR)%g' \
   -e 's%@OCamlDllDir@%$(OCAML_DLL_DIR)%g'
+
 ifeq ($(OCAML_HAVE_OCAMLOPT),yes)
   OCAMLINIT_SED += -e 's/^OPT: //' -e '/^BYTE: /d'
 else
   OCAMLINIT_SED += -e '/^OPT: /d' -e 's/^BYTE: //'
 endif
 
+ifeq ($(OCAML_NATDYNLINK),yes)
+  OCAMLINIT_SED += -e 's/^DYN: //'
+else
+  OCAMLINIT_SED += -e '/^DYN: /d'
+endif
+
 ocamlinit: ocamlinit-stamp
 ocamlinit-stamp:
        for t in $(OCAML_IN_FILES); do \
index 5d28c90445f1a36e4a348eb6cf42b209105bc5f4..5c0854475bb773e7db5425f15adc1d2d377009d1 100755 (executable)
@@ -12,11 +12,18 @@ BUILDCACHE := $(wildcard ../ocaml.cache)
 OCAML_ABI := $(OCAMLMAJOR).$(OCAMLMINOR)
 OCAML_STDLIB_DIR := /usr/lib/ocaml
 OCAML_NATIVE_ARCHS := $(shell cat debian/native-archs)
+OCAML_NATDYNLINK_ARCHS := $(shell cat debian/natdynlink-archs)
 DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
 OCAML_OPT_ARCH := $(findstring $(DEB_BUILD_ARCH),$(OCAML_NATIVE_ARCHS))
 OCAML_HAVE_OCAMLOPT := $(if $(OCAML_OPT_ARCH),yes,no)
 OCAML_OCAMLDOC_DESTDIR_HTML =
 
+ifneq (,$(findstring $(DEB_BUILD_ARCH),$(OCAML_NATDYNLINK_ARCHS)))
+  OCAML_NATDYNLINK := yes
+else
+  OCAML_NATDYNLINK := no
+endif
+
 # dh_ocamlinit cannot be used for ocaml itself
 include debian/ocamlinit.mk