"Fix" raw literals
[llpp.git] / build.sh
blob69a67c6e5498d3211249fdb8d1ad19f9ef5ee8ad
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 2>/dev/null --version || echo 0.0) \
10 | awk -F. '{print $1 $2}') -lt 404 && {
11 echo "OCaml version 4.04.0 or higher required"
12 exit 1
13 } || true
15 test x"$2" = "x" || cty="$2" && cty=""
17 ccopt="$CFLAGS -Wno-pointer-sign -O2"
18 mlopt='-warn-error +a -w +a -g -safe-string'
19 if test -z "$native"; then
20 comp=ocamlc$cty
21 osu=.cmo
22 asu=.cma
23 lfl=-custom
24 else
25 comp=ocamlopt$cty
26 osu=.cmx
27 asu=.cmxa
28 lfl=
30 mkdir -p "$builddir/lablGL"
31 srcdir=$(dirname $0)
32 version=$(cd $srcdir && git describe --tags 2>/dev/null) || version=unknown
33 mloptgl="-I $srcdir/lablGL -I $builddir/lablGL"
34 set -x
35 $comp -ccopt "$ccopt -o $builddir/lablGL/ml_raw.o" -c $srcdir/lablGL/ml_raw.c
36 $comp -ccopt "$ccopt -o $builddir/lablGL/ml_gl.o" -c $srcdir/lablGL/ml_gl.c
37 $comp -ccopt "$ccopt -o $builddir/lablGL/ml_glarray.o" -c $srcdir/lablGL/ml_glarray.c
38 $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
39 /bin/sh $srcdir/mkhelp.sh $srcdir/KEYS "$version" >$builddir/help.ml
40 $comp -c $mloptgl -o $builddir/keys$osu $srcdir/keys.ml
41 $comp -c $mloptgl -o $builddir/lablGL/gl$osu $srcdir/lablGL/gl.ml
42 $comp -c $mloptgl -o $builddir/lablGL/raw$osu $srcdir/lablGL/raw.ml
43 $comp -c $mloptgl -o $builddir/lablGL/glPix$osu $srcdir/lablGL/glPix.ml
44 $comp -c $mloptgl -o $builddir/lablGL/glDraw$osu $srcdir/lablGL/glDraw.ml
45 $comp -c $mloptgl -o $builddir/lablGL/glTex.cmi $srcdir/lablGL/glTex.mli
46 $comp -c $mloptgl -o $builddir/lablGL/glMisc.cmi $srcdir/lablGL/glMisc.mli
47 $comp -c $mloptgl -o $builddir/lablGL/glMat$osu $srcdir/lablGL/glMat.ml
48 $comp -c $mloptgl -o $builddir/lablGL/glMisc$osu $srcdir/lablGL/glMisc.ml
49 $comp -c $mloptgl -o $builddir/lablGL/glFunc$osu $srcdir/lablGL/glFunc.ml
50 $comp -c $mloptgl -o $builddir/lablGL/glTex$osu $srcdir/lablGL/glTex.ml
51 $comp -c $mloptgl -o $builddir/lablGL/glArray$osu $srcdir/lablGL/glArray.ml
52 $comp -c $mloptgl -o $builddir/lablGL/glClear$osu $srcdir/lablGL/glClear.ml
53 $comp -c -o $builddir/help$osu $builddir/help.ml
54 $comp -c $mlopt -o $builddir/utils$osu $srcdir/utils.ml
55 $comp -c $mlopt -I $builddir -o $builddir/parser$osu $srcdir/parser.ml
56 $comp -c $mlopt -I $builddir -o $builddir/wsi.cmi $srcdir/wsi.mli
57 $comp -c $mloptgl -I $builddir -o $builddir/config$osu $srcdir/config.ml
58 $comp -c $mloptgl -I $builddir -o $builddir/main$osu $srcdir/main.ml
59 $comp -c $mlopt -I $builddir -o $builddir/wsi$osu $srcdir/wsi.ml
60 $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"