#!/bin/sh ######################################################################### # # # OCaml # # # # 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 Q Public License version 1.0. # # # ######################################################################### 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