aboutsummaryrefslogtreecommitdiff
path: root/Makefile.build
diff options
context:
space:
mode:
authorletouzey2009-03-29 15:40:27 +0000
committerletouzey2009-03-29 15:40:27 +0000
commit301d6bfcf3e804d35b1fe56d569b2a11187fa5b1 (patch)
treebd8a3b5d110bc3ade3084420ee1387f7c395714c /Makefile.build
parent02699217340a08f9ac7e6cef8650246d730f9624 (diff)
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
Diffstat (limited to 'Makefile.build')
-rw-r--r--Makefile.build20
1 files changed, 3 insertions, 17 deletions
diff --git a/Makefile.build b/Makefile.build
index 16e7cdaa43..36fdbfdb0f 100644
--- a/Makefile.build
+++ b/Makefile.build
@@ -836,24 +836,10 @@ endif
%.cmxs: %.cmxa
$(SHOW)'OCAMLOPT -shared -o $@'
-ifneq ($(HASNATDYNLINK),os5fixme)
- $(HIDE)$(OCAMLOPT) -linkall -shared -o $@ $<
+ifeq ($(HASNATDYNLINK),os5fixme)
+ $(HIDE)dev/ocamlopt_shared_os5fix.sh $(OCAMLOPT) $@ $<
else
- $(HIDE)$(OCAMLOPT) -dstartup -linkall -shared -o $@ $<
-# Fix1: add a dummy instruction before the caml generic functions
-# Fix2: make all caml generic functions private
- $(HIDE)rm -f $@ $@.startup.fixed.s
- $(HIDE)cat $@.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/" \
- > $@.startup.fixed.s
-# Recompile fixed startup code
- $(HIDE)as -o $@.startup.o $@.startup.fixed.s
-# Build fixed .cmxs (assume plugins are on directory base and include all files)
- $(HIDE)ld -bundle -flat_namespace -undefined warning -read_only_relocs suppress -o $@ `dirname $@`/*.o
- $(HIDE)rm $@.startup.o $@.startup.s $@.startup.fixed.s
+ $(HIDE)$(OCAMLOPT) -linkall -shared -o $@ $<
endif
%.cmxs: %.cmx