From 301d6bfcf3e804d35b1fe56d569b2a11187fa5b1 Mon Sep 17 00:00:00 2001 From: letouzey Date: Sun, 29 Mar 2009 15:40:27 +0000 Subject: ocamlbuild: many improvements (macos 10.5 fix, correct dllpath, etc) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12033 85f007b7-540e-0410-9357-904b9bb8a0f7 --- dev/ocamlopt_shared_os5fix.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 dev/ocamlopt_shared_os5fix.sh (limited to 'dev') diff --git a/dev/ocamlopt_shared_os5fix.sh b/dev/ocamlopt_shared_os5fix.sh new file mode 100755 index 0000000000..db4cb159c4 --- /dev/null +++ b/dev/ocamlopt_shared_os5fix.sh @@ -0,0 +1,23 @@ +#/bin/sh + +### Temporary fix for production of .cmxs on MacOS 10.5 + +OCAMLOPT=$1 +CMXS=$2 +CMXA=$3 + +$OCAMLOPT -dstartup -linkall -shared -o $CMXS $CMXA +# Fix1: add a dummy instruction before the caml generic functions +# Fix2: make all caml generic functions private +rm -f $CMXS $CMXS.startup.fixed.s +cat $CMXS.startup.s | sed \ + -e "s/_caml_shared_startup__code_begin:/_caml_shared_startup__code_begin: ret/" \ + -e "s/.globl _caml_curry/.private_extern _caml_curry/" \ + -e "s/.globl _caml_apply/.private_extern _caml_apply/" \ + -e "s/.globl _caml_tuplify/.private_extern _caml_tuplify/" \ + > $CMXS.startup.fixed.s +# Recompile fixed startup code +as -o $CMXS.startup.o $CMXS.startup.fixed.s +# Build fixed .cmxs (assume plugins are on directory base and include all files) +ld -bundle -flat_namespace -undefined warning -read_only_relocs suppress -o $CMXS `dirname $CMXS`/*.o +rm $CMXS.startup.o $CMXS.startup.s $CMXS.startup.fixed.s \ No newline at end of file -- cgit v1.2.3