Annotation of parser3/buildall-with-xml, revision 1.24
1.2 paf 1: #!/bin/sh
2:
1.24 ! misha 3: # $Id: buildall-with-xml,v 1.23 2008-05-14 08:09:45 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.7 misha 20: libgc="gc6.8"
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.3 paf 30: CPPFLAGS="-DUSE_LIBC_PRIVATES -DUSE_MMAP -DUSE_MUNMAP" \
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
! 45: libpcre="pcre-7.7"
! 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.22 misha 76: libxml2="libxml2-2.6.32"
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.14 misha 88: --without-iconv \
89: --without-threads \
90: --without-debug \
91: --without-iso8859x \
92: --without-legacy \
93: --without-push \
94: --without-python \
95: --without-reader \
96: --without-writer \
97: --without-readline \
98: --without-regexps \
99: --without-schemas \
100: --without-schematron \
101: --without-modules \
102: --without-ftp \
103: --without-http \
104: --without-docbook \
1.2 paf 105: --without-zlib \
1.14 misha 106: --disable-shared \
107: --silent
1.2 paf 108: echo "int main(){return 0;}">testapi.c
109: echo "int main(){return 0;}">runtest.c
110: echo "Building libxml..."
111: make
112: make install
1.16 misha 113: cd ..
1.15 misha 114: rm -rf $libxml2
1.2 paf 115: fi
116:
117: if test ! -f "$project_directory/gnome/lib/libxslt.a"; then
118: cd $project_directory/src
1.23 misha 119: libxslt="libxslt-1.1.24"
1.7 misha 120: if test ! -f "$libxslt.tar.gz"; then
1.24 ! misha 121: echo "Downloading libxslt [4 lib of 4]..."
1.7 misha 122: wget -c --passive-ftp ftp://xmlsoft.org/libxslt/$libxslt.tar.gz
123: fi
124: echo "Unpacking libxslt... (be patient)"
1.8 misha 125: rm -rf $libxslt
1.7 misha 126: gunzip -c $libxslt.tar.gz | tar vxf - >/dev/null
127: cd $libxslt
1.2 paf 128: echo "Configuring libxslt..."
129: ./configure --prefix=$project_directory/gnome \
130: --with-libxml-prefix=$project_directory/gnome \
1.14 misha 131: --without-debug \
132: --without-debugger \
133: --without-crypto \
134: --without-plugins \
135: --disable-shared \
136: --silent
1.2 paf 137: echo "Building libxslt..."
138: make
139: make install
1.16 misha 140: cd ..
1.15 misha 141: rm -rf $libxslt
1.2 paf 142: fi
143:
1.24 ! misha 144:
1.2 paf 145: cd $parser3_directory
146:
1.19 misha 147:
1.2 paf 148: if test ! -f "Makefile"; then
1.19 misha 149: options=""
150: options="$options --with-static-gc=$project_directory/gc/lib"
1.24 ! misha 151: options="$options --with-static-pcre=$project_directory/pcre"
1.19 misha 152: options="$options --with-static-xml=$project_directory/gnome"
153: # options="$options --disable-safe-mode"
154: # options="$options --with-dynamic-stdcpp"
1.21 misha 155: # options="$options --disable-stringstream"
1.19 misha 156: options="$options --silent"
157:
1.2 paf 158: echo "Configuring parser3..."
1.19 misha 159: ./configure --prefix=$install_directory "--with-sendmail=$sendmail_command" $options
1.2 paf 160: fi
161: echo "Building parser3..."
162: make install
1.17 misha 163:
164: # remove debug info
165: # strip ${install_directory}/bin/parser3
166:
1.2 paf 167: echo "DONE"
168:
169: echo
170: echo
171: echo "********************************************************************************************************"
172: echo "Now you can copy $install_directory with subdirectories"
173: echo " -Parser3 with XML support-"
174: echo "to your cgi-bin directory"
175: echo "Read more about installing Parser here:"
176: echo " http://www.parser.ru/en/docs/lang/install4apachecgi.htm in English"
177: echo " http://www.parser.ru/docs/lang/install4apachecgi.htm in Russian"
178: echo "********************************************************************************************************"
E-mail: