Cosmetics
[llpp.git] / build.sh
blob8d0e6be42e650b2432c578612cca79bcd93071de
1 #!/bin/sh
2 set -e
3 if test x"$1" = x; then
4 printf "No build directory specified\n" 1>&2
5 exit 1
6 else
7 builddir="$1"
8 fi
9 test $(ocamlc --version | awk -F. '{print $1 $2}') -lt 404 && {
10 echo "OCaml version 4.04.0 or higher required"
11 exit 1
12 } || true
14 test x"$2" = "x" || cty="$2" && cty=""
16 ccopt="$CFLAGS -Wno-pointer-sign -O2"
17 mlopt='-warn-error +a -w +a -g -safe-string'
18 if test -z "$native"; then
19 comp=ocamlc$cty
20 osu=.cmo
21 asu=.cma
22 lfl=-custom
23 else
24 comp=ocamlopt$cty
25 osu=.cmx
26 asu=.cmxa
27 lfl=
29 mkdir -p "$builddir/lablGL"
30 srcdir=$(dirname $0)
31 version=$(cd $srcdir && git describe --tags 2>/dev/null) || version=unknown
32 mloptgl="-I $srcdir/lablGL -I $builddir/lablGL"
33 set -x
34 $comp -ccopt "$ccopt -o $builddir/lablGL/ml_raw.o" -c $srcdir/lablGL/ml_raw.c
35 $comp -ccopt "$ccopt -o $builddir/lablGL/ml_gl.o" -c $srcdir/lablGL/ml_gl.c
36 $comp -ccopt "$ccopt -o $builddir/lablGL/ml_glarray.o" -c $srcdir/lablGL/ml_glarray.c
37 $comp -ccopt "-I $srcdir/mupdf/include -I $srcdir/mupdf/thirdparty/freetype/include -Wextra -Wall -Werror -D_GNU_SOURCE -O -g -std=c99 -pedantic-errors -Wunused-parameter -Wsign-compare -Wshadow -o $builddir/link.o" -c $srcdir/link.c
38 /bin/sh $srcdir/mkhelp.sh $srcdir/KEYS "$version" >$builddir/help.ml
39 $comp -c $mloptgl -o $builddir/keys$osu $srcdir/keys.ml
40 $comp -c $mloptgl -o $builddir/lablGL/gl$osu $srcdir/lablGL/gl.ml
41 $comp -c $mloptgl -o $builddir/lablGL/raw$osu $srcdir/lablGL/raw.ml
42 $comp -c $mloptgl -o $builddir/lablGL/glPix$osu $srcdir/lablGL/glPix.ml
43 $comp -c $mloptgl -o $builddir/lablGL/glDraw$osu $srcdir/lablGL/glDraw.ml
44 $comp -c $mloptgl -o $builddir/lablGL/glTex.cmi $srcdir/lablGL/glTex.mli
45 $comp -c $mloptgl -o $builddir/lablGL/glMisc.cmi $srcdir/lablGL/glMisc.mli
46 $comp -c $mloptgl -o $builddir/lablGL/glMat$osu $srcdir/lablGL/glMat.ml
47 $comp -c $mloptgl -o $builddir/lablGL/glMisc$osu $srcdir/lablGL/glMisc.ml
48 $comp -c $mloptgl -o $builddir/lablGL/glFunc$osu $srcdir/lablGL/glFunc.ml
49 $comp -c $mloptgl -o $builddir/lablGL/glTex$osu $srcdir/lablGL/glTex.ml
50 $comp -c $mloptgl -o $builddir/lablGL/glArray$osu $srcdir/lablGL/glArray.ml
51 $comp -c $mloptgl -o $builddir/lablGL/glClear$osu $srcdir/lablGL/glClear.ml
52 $comp -c -o $builddir/help$osu $builddir/help.ml
53 $comp -c $mlopt -o $builddir/utils$osu $srcdir/utils.ml
54 $comp -c $mlopt -I $builddir -o $builddir/parser$osu $srcdir/parser.ml
55 $comp -c $mlopt -I $builddir -o $builddir/wsi.cmi $srcdir/wsi.mli
56 $comp -c $mloptgl -I $builddir -o $builddir/config$osu $srcdir/config.ml
57 $comp -c $mloptgl -I $builddir -o $builddir/main$osu $srcdir/main.ml
58 $comp -c $mlopt -I $builddir -o $builddir/wsi$osu $srcdir/wsi.ml
59 $comp -g $lfl -I lablGL -o $builddir/llpp unix$asu str$asu $builddir/help$osu $builddir/lablGL/raw$osu $builddir/utils$osu $builddir/parser$osu $builddir/lablGL/glMisc$osu $builddir/wsi$osu $builddir/lablGL/gl$osu $builddir/lablGL/glMat$osu $builddir/lablGL/glFunc$osu $builddir/lablGL/glClear$osu $builddir/lablGL/glPix$osu $builddir/lablGL/glTex$osu $builddir/lablGL/glDraw$osu $builddir/config$osu $builddir/lablGL/glArray$osu $builddir/main$osu $builddir/link.o -cclib "-lGL -lX11 -lmupdf -lmupdfthird -lpthread -L$srcdir/mupdf/build/native -lcrypto $builddir/lablGL/ml_gl.o $builddir/lablGL/ml_glarray.o $builddir/lablGL/ml_raw.o"