Script to build "hard dependencies" automatically
[llpp.git] / buildall.sh
blobab67cd1728b604b8a0c5edf2a03171ce83949fce
1 # builds "hard" prerequisites and llpp
2 set -e
4 mkdir -p 3rdp
5 cd 3rdp
7 root=$(pwd)
9 openjpeg=http://openjpeg.googlecode.com/svn/trunk/
10 jbig2dec=git://git.ghostscript.com/jbig2dec.git
11 sumatrapdf=http://sumatrapdf.googlecode.com/svn/trunk/
13 test -d openjpeg || svn checkout $openjpeg openjpeg
14 test -d jbig2dec || git clone $jbig2dec jbig2dec
15 test -d mupdf || svn checkout $sumatrapdf/mupdf mupdf
17 mkdir -p $root/include
18 mkdir -p $root/lib
20 (cd openjpeg \
21 && make dist \
22 && cp dist/*.h $root/include/ \
23 && cp dist/*.a $root/lib/)
25 (cd jbig2dec \
26 && (test -f Makefile || (test -f configure || sh autogen.sh --prefix=$root \
27 && ./configure --prefix=$root)) \
28 && make install && rm $root/lib/*.so*)
30 # OCaml has no cross compiler so uname is sufficient
31 case $(uname -m) in
32 ppc*|sparc*|arm*)
33 mv mupdf/Makerules aaa && grep -vi "x86" aaa > mupdf/Makerules
34 rm aaa
38 esac
40 (cd mupdf && make build=release)
42 cd ..
44 export CPATH=$CPATH:$root/include:$root/mupdf/mupdf:$root/mupdf/fitz
45 export LIBRARY_PATH=$CPATH:$root/lib:$root/mupdf/build/release
47 srcpath=$(dirname $0)
49 cclib="-lmupdf -lz -ljpeg -lopenjpeg -ljbig2dec -lfreetype"
50 ocamlc -c -o link.o -ccopt -O $srcpath/link.c
51 ocamlc -c -o main.cmo -I +lablGL $srcpath/main.ml
53 ocamlc -custom -o llpp \
54 -I +lablGL \
55 str.cma unix.cma lablgl.cma lablglut.cma \
56 link.o \
57 -cclib "$cclib" \
58 main.cmo