Annotation of parser3/buildall-with-xml, revision 1.31
1.2 paf 1: #!/bin/sh
2:
1.31 ! misha 3: # $Id: buildall-with-xml,v 1.30 2009-09-20 23:33:06 misha Exp $
1.2 paf 4:
5: install_directory=$HOME/parser3install
6: sendmail_command="/usr/sbin/sendmail -i -t -f postmaster"
7:
8: echo "buildall-with-xml"
9: echo "Script author: Alexander Petrosian <paf@design.ru> (http://paf.design.ru)"
10: echo
11: echo "Building..."
12:
13: parser3_directory=`pwd`
14: cd ..
15: project_directory=`pwd`
16: mkdir src >/dev/null 2>&1
17:
18: if test ! -f "$project_directory/gc/lib/libgc.a"; then
19: cd $project_directory/src
1.27 misha 20: libgc="gc-7.1"
1.7 misha 21: if test ! -f "$libgc.tar.gz"; then
1.24 misha 22: echo "Downloading gc [1 lib of 4]..."
1.7 misha 23: wget -c http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/$libgc.tar.gz
24: fi
25: echo "Unpacking gc..."
1.9 misha 26: rm -rf $libgc
1.7 misha 27: gunzip -c $libgc.tar.gz | tar vxf - >/dev/null
28: cd $libgc
1.24 misha 29: echo "Configuring gc..."
1.29 misha 30: CPPFLAGS="-DUSE_LIBC_PRIVATES -DUSE_MMAP -DDONT_ADD_BYTE_AT_END" \
1.14 misha 31: ./configure --prefix=$project_directory/gc \
32: --disable-threads \
33: --disable-shared \
34: --silent
1.24 misha 35: echo "Building gc..."
1.2 paf 36: make
37: make install
1.16 misha 38: cd ..
1.15 misha 39: rm -rf $libgc
1.2 paf 40: fi
41:
42:
1.24 misha 43: if test ! -f "$project_directory/pcre/lib/libpcre.a"; then
44: cd $project_directory/src
1.26 misha 45: libpcre="pcre-7.9"
1.24 misha 46: if test ! -f "$libpcre.tar.gz"; then
47: echo "Downloading pcre [2 lib of 4]..."
48: wget -c ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/$libpcre.tar.gz
49: fi
50: echo "Unpacking pcre..."
51: rm -rf $libpcre
52: gunzip -c $libpcre.tar.gz | tar vxf - >/dev/null
53: cd $libpcre
54: current_dir=`pwd`
55: echo "Configuring pcre..."
56: ./configure --prefix="$project_directory/pcre" \
57: --enable-utf8 \
58: --enable-unicode-properties \
59: --disable-shared \
60: --disable-cpp \
61: --disable-pcregrep-libz \
62: --disable-pcregrep-libz2 \
63: --silent
64: echo "Building pcre..."
65: make
66: make install
67: echo "Copying required files (Parser3 uses some PCRE internals)..."
68: cp pcre_internal.h ucp.h $project_directory/pcre/include
69: cd ..
70: rm -rf $libpcre
71: fi
72:
73:
1.2 paf 74: if test ! -f "$project_directory/gnome/lib/libxml2.a"; then
75: cd $project_directory/src
1.30 misha 76: libxml2="libxml2-2.7.4"
1.7 misha 77: if test ! -f "$libxml2.tar.gz"; then
1.24 misha 78: echo "Downloading libxml [3 lib of 4]..."
1.7 misha 79: wget -c --passive-ftp ftp://xmlsoft.org/libxml2/$libxml2.tar.gz
80: fi
81: echo "Unpacking libxml2... (be patient)"
1.8 misha 82: rm -rf $libxml2
1.7 misha 83: gunzip -c $libxml2.tar.gz | tar vxf - >/dev/null
84: cd $libxml2
1.14 misha 85: #sax1, output, tree, xinclude[in libxslt], html[in libxslt, mode=html?], xptr[xinclude], pattern -- needed!
1.2 paf 86: echo "Configuring libxml..."
87: ./configure --prefix=$project_directory/gnome \
1.31 ! misha 88: --without-catalog \
1.14 misha 89: --without-iconv \
90: --without-threads \
91: --without-debug \
92: --without-iso8859x \
93: --without-legacy \
94: --without-push \
95: --without-python \
96: --without-reader \
97: --without-writer \
98: --without-readline \
99: --without-regexps \
100: --without-schemas \
101: --without-schematron \
102: --without-modules \
103: --without-ftp \
104: --without-http \
105: --without-docbook \
1.2 paf 106: --without-zlib \
1.14 misha 107: --disable-shared \
108: --silent
1.2 paf 109: echo "int main(){return 0;}">testapi.c
110: echo "int main(){return 0;}">runtest.c
111: echo "Building libxml..."
112: make
113: make install
1.16 misha 114: cd ..
1.15 misha 115: rm -rf $libxml2
1.2 paf 116: fi
117:
118: if test ! -f "$project_directory/gnome/lib/libxslt.a"; then
119: cd $project_directory/src
1.30 misha 120: libxslt="libxslt-1.1.25"
1.7 misha 121: if test ! -f "$libxslt.tar.gz"; then
1.24 misha 122: echo "Downloading libxslt [4 lib of 4]..."
1.7 misha 123: wget -c --passive-ftp ftp://xmlsoft.org/libxslt/$libxslt.tar.gz
124: fi
125: echo "Unpacking libxslt... (be patient)"
1.8 misha 126: rm -rf $libxslt
1.7 misha 127: gunzip -c $libxslt.tar.gz | tar vxf - >/dev/null
128: cd $libxslt
1.2 paf 129: echo "Configuring libxslt..."
130: ./configure --prefix=$project_directory/gnome \
131: --with-libxml-prefix=$project_directory/gnome \
1.14 misha 132: --without-debug \
133: --without-debugger \
134: --without-crypto \
135: --without-plugins \
136: --disable-shared \
137: --silent
1.2 paf 138: echo "Building libxslt..."
139: make
140: make install
1.16 misha 141: cd ..
1.15 misha 142: rm -rf $libxslt
1.2 paf 143: fi
144:
1.24 misha 145:
1.2 paf 146: cd $parser3_directory
147:
1.19 misha 148:
1.2 paf 149: if test ! -f "Makefile"; then
1.19 misha 150: options=""
151: options="$options --with-static-gc=$project_directory/gc/lib"
1.24 misha 152: options="$options --with-static-pcre=$project_directory/pcre"
1.19 misha 153: options="$options --with-static-xml=$project_directory/gnome"
154: # options="$options --disable-safe-mode"
155: # options="$options --with-dynamic-stdcpp"
1.21 misha 156: # options="$options --disable-stringstream"
1.19 misha 157: options="$options --silent"
158:
1.2 paf 159: echo "Configuring parser3..."
1.19 misha 160: ./configure --prefix=$install_directory "--with-sendmail=$sendmail_command" $options
1.2 paf 161: fi
162: echo "Building parser3..."
163: make install
1.17 misha 164:
165: # remove debug info
166: # strip ${install_directory}/bin/parser3
167:
1.2 paf 168: echo "DONE"
169:
170: echo
171: echo
172: echo "********************************************************************************************************"
173: echo "Now you can copy $install_directory with subdirectories"
174: echo " -Parser3 with XML support-"
175: echo "to your cgi-bin directory"
176: echo "Read more about installing Parser here:"
177: echo " http://www.parser.ru/en/docs/lang/install4apachecgi.htm in English"
178: echo " http://www.parser.ru/docs/lang/install4apachecgi.htm in Russian"
179: echo "********************************************************************************************************"
E-mail: