diff options
Diffstat (limited to 'ocaml-binary-annot/build/otherlibs-targets.sh')
| -rw-r--r-- | ocaml-binary-annot/build/otherlibs-targets.sh | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/ocaml-binary-annot/build/otherlibs-targets.sh b/ocaml-binary-annot/build/otherlibs-targets.sh new file mode 100644 index 0000000000..301b75f191 --- /dev/null +++ b/ocaml-binary-annot/build/otherlibs-targets.sh @@ -0,0 +1,123 @@ +#!/bin/sh + +######################################################################### +# # +# Objective Caml # +# # +# Nicolas Pouillard, projet Gallium, INRIA Rocquencourt # +# # +# Copyright 2008 Institut National de Recherche en Informatique et # +# en Automatique. All rights reserved. This file is distributed # +# under the terms of the GNU Library General Public License, with # +# the special exception on linking described in file LICENSE. # +# # +######################################################################### + +# $Id$ + +OTHERLIBS_BYTE="" +OTHERLIBS_NATIVE="" +OTHERLIBS_UNIX_NATIVE="" +UNIXDIR="otherlibs/unix" + +add_native() { + for native_file in $@; do + OTHERLIBS_NATIVE="$OTHERLIBS_NATIVE otherlibs/$lib/$native_file" + case $lib in + unix|win32unix) + OTHERLIBS_UNIX_NATIVE="$OTHERLIBS_UNIX_NATIVE otherlibs/$lib/$native_file";; + esac + done +} + +add_byte() { + for byte_file in $@; do + OTHERLIBS_BYTE="$OTHERLIBS_BYTE otherlibs/$lib/$byte_file" + done +} + +add_file() { + add_byte $@ + add_native $@ +} + +add_bin() { + for bin_file in $@; do + add_byte $bin_file.byte$EXE + add_native $bin_file.native$EXE + done +} + +add_c_lib() { + add_file "lib$1.$A" +} + +add_ocaml_lib() { + add_native "$1.cmxa" + add_native "$1.$A" + add_byte "$1.cma" +} + +add_dll() { + add_file "dll$1$EXT_DLL" +} + +add() { + add_c_lib $1 + add_ocaml_lib $1 + add_dll $1 +} + +THREADS_CMIS="thread.cmi mutex.cmi condition.cmi event.cmi threadUnix.cmi" + +for lib in $OTHERLIBRARIES; do + case $lib in + num) + add nums;; + systhreads) + add_ocaml_lib threads + add_dll threads + add_file $THREADS_CMIS + add_byte libthreads.$A + add_native libthreadsnat.$A;; + graph|win32graph) + add graphics;; + threads) + add_byte pervasives.cmi pervasives.mli \ + $THREADS_CMIS marshal.cmi marshal.mli \ + stdlib.cma unix.cma threads.cma libvmthreads.$A;; + labltk) + add_file support/camltk.h + add_byte support/byte.otarget + add_native support/native.otarget + add_file support/liblabltk.$A + add_byte compiler/tkcompiler$EXE compiler/pp$EXE + add_file labltk/tk.ml labltk/labltk.ml + add_byte labltk/byte.otarget + add_native labltk/native.otarget + add_byte camltk/byte.otarget + add_native camltk/native.otarget + add_ocaml_lib lib/labltk + add_byte lib/labltktop$EXE lib/labltk$EXE + add_ocaml_lib jpf/jpflib + add_ocaml_lib frx/frxlib + add_byte browser/ocamlbrowser$EXE + ;; + dbm) + add_ocaml_lib dbm + add_c_lib mldbm;; + dynlink) + add_ocaml_lib dynlink + add_native dynlink.cmx dynlink.$O + add_file $lib.cmi extract_crc;; + win32unix) + UNIXDIR="otherlibs/win32unix" + add_file unixsupport.h cst2constr.h socketaddr.h + add unix;; + unix) + add_file unixsupport.h + add unix;; + *) + add $lib + esac +done |
