diff options
author | Damien Doligez <damien.doligez-inria.fr> | 2005-01-21 18:15:55 +0000 |
---|---|---|
committer | Damien Doligez <damien.doligez-inria.fr> | 2005-01-21 18:15:55 +0000 |
commit | 461779527fdea726bb397416264ae77cd7da458b (patch) | |
tree | e8aefdc94e05a529cf464e3c4e895bc0791c1423 /tools/ocaml-objcopy-macosx | |
parent | 1889817c2d76840b22af600a26c7250fd4a95419 (diff) |
ajout support ocamlopt -pack pour Mac OS X
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6750 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'tools/ocaml-objcopy-macosx')
-rwxr-xr-x | tools/ocaml-objcopy-macosx | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tools/ocaml-objcopy-macosx b/tools/ocaml-objcopy-macosx new file mode 100755 index 000000000..31070f54b --- /dev/null +++ b/tools/ocaml-objcopy-macosx @@ -0,0 +1,53 @@ +#!/bin/bash + +######################################################################### +# # +# Objective Caml # +# # +# Damien Doligez, projet Cristal, INRIA Rocquencourt # +# # +# Copyright 2005 Institut National de Recherche en Informatique et # +# en Automatique. All rights reserved. This file is distributed # +# under the terms of the Q Public License version 1.0. # +# # +######################################################################### + +# $Id$ + + +TEMP=/tmp/ocaml-objcopy-$$.o +UNDEF=/tmp/ocaml-objcopy-$$.sym + +usage () { + echo "usage: objcopy {--redefine-sym <old>=<new>} file.o" >&2 + exit 2 +} + +: > "$UNDEF" + +while : ; do + case $# in + 0) break;; + *) case $1 in + --redefine-sym) + case $2 in + *=*) ALIAS="$ALIAS -i${2#*=}:${2%%=*}" + echo ${2%%=*} >>"$UNDEF" + ;; + *) usage;; + esac + shift 2 + ;; + -*) usage;; + *) case $FILE in + "") FILE=$1; shift;; + *) usage;; + esac;; + esac;; + esac +done + +ld -o "$TEMP" -r $ALIAS "$FILE" +ld -o "$FILE" -r -unexported_symbols_list "$UNDEF" "$TEMP" + +rm -f "$TEMP" "$UNDEF" |