XPS support
[llpp.git] / buildall.sh
blobcf0ae6e77567ea8017561bc8f6681dbffa6d6c4c
1 # builds "hard" prerequisites and llpp
2 set -e
4 mkdir -p 3rdp
5 cd 3rdp
6 root=$(pwd)
8 lablgl=http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/dist/lablgl-1.04.tar.gz
9 mupdf=git://git.ghostscript.com/mupdf.git
10 mupdf3p=http://mupdf.com/download/mupdf-thirdparty.zip
11 mupdfrev=3e65ed4eb3a8aa8cd6375a7029ac3b61a35a1157
13 test -d lablGL-1.04 || (wget -nc $lablgl && tar -xzf lablgl-1.04.tar.gz)
14 if ! test -d mupdf; then
15 wget -nc \
16 "http://git.ghostscript.com/?p=mupdf.git;a=snapshot;h=$mupdfrev;sf=tgz" \
17 -O mupdf-$mupdfrev.tgz
18 tar xfz mupdf-$mupdfrev.tgz
21 test -d mupdf/thirdparty || \
22 (wget -nc $mupdf3p && unzip -d mupdf $(basename $mupdf3p))
24 make=$(gmake -v >/dev/null 2>&1 && echo gmake || echo make)
26 (cd lablGL-1.04 \
27 && cat Makefile.config.linux.mdk > Makefile.config \
28 && $make glut glutopt \
29 && $make install \
30 BINDIR=$root/bin \
31 LIBDIR=$root/lib/ocaml \
32 DLLDIR=$root/lib/ocaml/stublibs \
33 INSTALLDIR=$root/lib/ocaml/lablGL)
35 (cd mupdf && $make build=release)
37 cd ..
39 srcpath=$(dirname $0)
41 sh mkhelp.sh $srcpath/keystoml.ml $srcpath/KEYS > help.ml
43 tp=$root/mupdf/thirdparty
45 ccopt="-O"
46 ccopt="$ccopt -I $tp/jbig2dec"
47 ccopt="$ccopt -I $tp/jpeg-8d"
48 ccopt="$ccopt -I $tp/freetype-2.4.8/include"
49 ccopt="$ccopt -I $tp/openjpeg-1.4/libopenjpeg"
50 ccopt="$ccopt -I $tp/zlib-1.2.5"
51 ccopt="$ccopt -I $root/mupdf/fitz -I $root/mupdf/pdf -I $root/mupdf/xps"
53 ccopt="$ccopt -include ft2build.h -D_GNU_SOURCE"
55 cclib="$cclib -L$root/mupdf/build/release"
56 cclib="$cclib -lmupdf -lmuxps -lfitz"
57 cclib="$cclib -lz -ljpeg -lopenjpeg -ljbig2dec -lfreetype"
59 if test "$1" = "opt"; then
60 cclib="$cclib -lpthread"
61 ocamlopt -c -o link.o -ccopt "$ccopt" $srcpath/link.c
62 ocamlopt -c -o help.cmx help.ml
63 ocamlopt -c -o parser.cmx $srcpath/parser.ml
64 ocamlopt -c -o main.cmx -I $root/lib/ocaml/lablGL $srcpath/main.ml
66 ocamlopt -o llpp \
67 -I $root/lib/ocaml/lablGL \
68 str.cmxa unix.cmxa lablgl.cmxa lablglut.cmxa \
69 link.o \
70 -cclib "$cclib" \
71 help.cmx \
72 parser.cmx \
73 main.cmx
74 else
75 ocamlc -c -o link.o -ccopt "$ccopt" $srcpath/link.c
76 ocamlc -c -o help.cmo help.ml
77 ocamlc -c -o parser.cmo $srcpath/parser.ml
78 ocamlc -c -o main.cmo -I $root/lib/ocaml/lablGL $srcpath/main.ml
80 ocamlc -custom -o llpp \
81 -I $root/lib/ocaml/lablGL \
82 str.cma unix.cma lablgl.cma lablglut.cma \
83 link.o \
84 -cclib "$cclib" \
85 help.cmo \
86 parser.cmo \
87 main.cmo