121 lines
3.1 KiB
Bash
121 lines
3.1 KiB
Bash
#!/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
|