#!/bin/bash #************************************************************************** #* * #* OCaml * #* * #* 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 GNU Lesser General Public License version 2.1, with the * #* special exception on linking described in the file LICENSE. * #* * #************************************************************************** TMP="${TMPDIR=/tmp}" TEMP="${TMP}"/ocaml-objcopy-$$.o UNDEF="${TMP}"/ocaml-objcopy-$$.sym usage () { echo "usage: objcopy {--redefine-sym =} 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"