1 # builds "hard" prerequisites and llpp
6 mupdfrev
=096272252c0d00449bb68c7fddecc13ec2cecdd0
7 while getopts j
:f
:t
:r
: opt
; do
12 r
) mupdfrev
="$OPTARG";;
15 "usage: $0 [-j jobs] [-f filter] [-t build type] [-r revision] [opt]"
19 shift $
(($OPTIND - 1))
25 lablgl
=http
://wwwfun.kurims.kyoto-u.ac.jp
/soft
/lsl
/dist
/lablgl-1.05.
tar.gz
26 baseurl
="http://git.ghostscript.com/"
29 mutgz
=mupdf-
$mupdfrev.tgz
30 muurl
="${baseurl}?p=mupdf.git;a=snapshot;h=$mupdfrev;sf=tgz"
32 test -d lablgl-1.05 ||
(wget
-nc $lablgl && tar -xzf lablgl-1.05.
tar.gz
)
33 test -e $mutgz || wget
-nc $muurl -O $mutgz
34 mkdir
$mudir && tar --strip-components 1 -C $mudir -xzf $mutgz
39 test $m = jbig2dec
&& p
=$m || p
=thirdparty
/$m
40 u
="${baseurl}?p=$p.git;a=snapshot;h=$r;sf=tgz"
41 test -e $t || wget
-nc $u -O $t
42 test -e $mudir/thirdparty
/$m/README ||
43 (rm -fr $mudir/thirdparty
/$m && mkdir
$mudir/thirdparty
/$m &&
44 tar -xzf $t --strip-components 1 -C $mudir/thirdparty
/$m)
48 grep -v -E "$filt" <<-EOF | fetch
49 2ef0a19842ae1172bec153225328aaaeaf130a18 freetype
50 11b4c3203dc5a9551720760570c82408c303cd1c jbig2dec
51 219d59dcfd0e6ce8a3d8c5510e29237f0b5078ed jpeg
52 4c7d23d2cd00cee7822a61d1e8472439bd6d53c9 openjpeg
53 c16b1b18ddaaf090caf321af831bccac6381a381 zlib
57 command -v $1 >/dev
/null
2>&1
60 executable_p gmake
&& make=gmake ||
make=make
63 && sed 17d Makefile.config.linux.mdk
> Makefile.config \
64 && $make lib $
(test "$1" = opt
&& echo libopt
) \
67 LIBDIR
=$root/lib
/ocaml \
68 DLLDIR
=$root/lib
/ocaml
/stublibs \
69 INSTALLDIR
=$root/lib
/ocaml
/lablGL
)
71 (cd $mudir && $make $jobs build
=$btyp)
77 tp
=$root/$mudir/thirdparty
80 ccopt
="$ccopt -I $tp/jbig2dec"
81 ccopt
="$ccopt -I $tp/jpeg"
82 ccopt
="$ccopt -I $tp/freetype/include"
83 ccopt
="$ccopt -I $tp/openjpeg/libopenjpeg"
84 ccopt
="$ccopt -I $tp/zlib"
85 ccopt
="$ccopt -I $root/$mudir/include"
87 ccopt
="$ccopt -D_GNU_SOURCE"
89 cclib
="$cclib -L$root/$mudir/build/$btyp"
90 cclib
="$cclib -lmupdf -lmupdf-js-none"
91 cclib
="$cclib -lz -ljpeg -lopenjpeg -ljbig2dec -lpthread -lcrypto"
94 expr "$filt" : '.*freetype.*' && {
95 ccopt
="$ccopt $(freetype-config --cflags) -include ft2build.h"
96 cclib
="$cclib $(freetype-config --libs)"
98 ccopt
="$ccopt -include $tp/freetype/include/ft2build.h"
99 cclib
="$cclib -lfreetype"
102 echo Building llpp...
104 sh
$srcpath/mkhelp.sh
$srcpath/keystoml.ml
$srcpath/KEYS
> help.ml
106 if test "$1" = "opt"; then
107 executable_p ocamlopt.opt
&& comp
=ocamlopt.opt || comp
=ocamlopt
111 -I $root/lib
/ocaml
/lablGL \
112 str.cmxa unix.cmxa lablgl.cmxa \
122 executable_p ocamlc.opt
&& comp
=ocamlc.opt || comp
=ocamlc
125 $comp -custom -o llpp \
126 -I $root/lib
/ocaml
/lablGL \
127 str.cma unix.cma lablgl.cma \
138 $comp -c -o link.o
-ccopt "$ccopt" $srcpath/link.c
139 $comp -c -o help.
$cmsuf help.ml
140 $comp -c -o utils.
$cmsuf $srcpath/utils.ml
141 $comp -c -o wsi.cmi
$srcpath/wsi.mli
142 $comp -c -o wsi.
$cmsuf $srcpath/wsi.ml
143 $comp -c -o parser.
$cmsuf $srcpath/parser.ml
144 $comp -c -o main.
$cmsuf -I $root/lib
/ocaml
/lablGL
$srcpath/main.ml