File: buildall-with-xml

package info (click to toggle)
parser 3.4.2-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 6,416 kB
  • sloc: cpp: 31,111; sh: 11,522; ansic: 9,417; yacc: 1,363; makefile: 236; awk: 5
file content (184 lines) | stat: -rwxr-xr-x 5,309 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
#!/bin/sh

# $Id: buildall-with-xml,v 1.53 2012-06-26 22:38:31 moko Exp $

install_directory=$HOME/parser3install
sendmail_command="/usr/sbin/sendmail -i -t -f postmaster"
cflags=""
#cflags="--with-pic" #required for apache module on x64

echo "buildall-with-xml"
echo "Script author: Alexander Petrosian <paf@design.ru> (http://paf.design.ru)"
echo
echo "Building..."

download=`which fetch 2>/dev/null`
if test -f "$download"; then
	download="fetch -p"
else
	download="wget -c --passive-ftp"
fi

parser3_directory=`pwd`
cd ..
project_directory=`pwd`
mkdir src >/dev/null 2>&1

if test ! -f "$project_directory/gc/lib/libgc.a"; then
  cd $project_directory/src
# libgc="gc6.8" # FreeBSD 4.X is not supported in newer gc version
  libgc="gc-7.1"
  if test ! -f "$libgc.tar.gz"; then
    echo "Downloading gc [1 lib of 4]..."
    $download http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/$libgc.tar.gz
  fi
  echo "Unpacking gc..."
  rm -rf $libgc
  gunzip -c $libgc.tar.gz | tar vxf - >/dev/null
  cd $libgc
  echo "Configuring gc..."
  CPPFLAGS="-DUSE_LIBC_PRIVATES -DUSE_MMAP -DDONT_ADD_BYTE_AT_END" \
  ./configure --prefix=$project_directory/gc \
    --disable-threads \
    --disable-shared \
    --silent $cflags
  echo "Building gc..."
  make
  make install
  cd ..
  rm -rf $libgc
fi

if test ! -f "$project_directory/pcre/lib/libpcre.a"; then
  cd $project_directory/src
  libpcre="pcre-8.30"
  if test ! -f "$libpcre.tar.gz"; then
    echo "Downloading pcre [2 lib of 4]..."
    $download ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/$libpcre.tar.gz
  fi
  echo "Unpacking pcre..."
  rm -rf $libpcre
  gunzip -c $libpcre.tar.gz | tar vxf - >/dev/null
  cd $libpcre
  echo "Configuring pcre..."
  ./configure --prefix="$project_directory/pcre" \
    --with-match-limit-recursion=10000 \
    --enable-utf8 \
    --enable-unicode-properties \
    --disable-shared \
    --disable-cpp \
    --disable-pcregrep-libz \
    --disable-pcregrep-libbz2 \
    --silent $cflags
  echo "Building pcre..."
  make install
  cd ..
  rm -rf $libpcre
fi

if test ! -f "$project_directory/gnome/lib/libxml2.a"; then
  cd $project_directory/src
  libxml2="libxml2-2.8.0"
  if test ! -f "$libxml2.tar.gz"; then
    echo "Downloading libxml [3 lib of 4]..."
    $download ftp://xmlsoft.org/libxml2/$libxml2.tar.gz
  fi
  echo "Unpacking libxml2... (be patient)"
  rm -rf $libxml2
  gunzip -c $libxml2.tar.gz | tar vxf - >/dev/null
  cd $libxml2
  #sax1, output, tree, xinclude[in libxslt], html[in libxslt, mode=html?], xptr[xinclude], pattern -- needed!
  echo "Configuring libxml..."
  ./configure --prefix=$project_directory/gnome \
    --without-catalog \
    --without-iconv \
    --without-threads \
    --without-debug \
    --without-iso8859x \
    --without-legacy \
    --without-push \
    --without-python \
    --without-reader \
    --without-writer \
    --without-readline \
    --without-regexps \
    --without-schemas \
    --without-schematron \
    --without-modules \
    --without-ftp \
    --without-http \
    --without-docbook \
    --without-zlib \
    --without-lzma \
    --disable-shared \
    --silent $cflags
  echo "int main(){return 0;}">testapi.c
  echo "int main(){return 0;}">runtest.c
  echo "Building libxml..."
  make
  make install
  cd ..
  rm -rf $libxml2
fi

if test ! -f "$project_directory/gnome/lib/libxslt.a"; then
  cd $project_directory/src
  libxslt="libxslt-1.1.26"
  if test ! -f "$libxslt.tar.gz"; then
    echo "Downloading libxslt [4 lib of 4]..."
    $download ftp://xmlsoft.org/libxslt/$libxslt.tar.gz
  fi
  echo "Unpacking libxslt... (be patient)"
  rm -rf $libxslt
  gunzip -c $libxslt.tar.gz | tar vxf - >/dev/null
  cd $libxslt
  echo "Configuring libxslt..."
  ./configure --prefix=$project_directory/gnome \
     --with-libxml-prefix=$project_directory/gnome \
     --without-debug \
     --without-debugger \
     --without-crypto \
     --without-plugins \
     --disable-shared \
     --silent $cflags
  echo "Building libxslt..."
  make
  make install
  cd ..
  rm -rf $libxslt
fi

cd $parser3_directory

if test ! -f "Makefile"; then
  options="$@"
  options="$options --with-gc=$project_directory/gc/lib"
  options="$options --with-pcre=$project_directory/pcre"
  options="$options --with-xml=$project_directory/gnome"
#  options="$options --with-apache"
#  options="$options --disable-safe-mode"
#  options="$options --disable-stringstream"
  options="$options --with-included-ltdl"
  options="$options --silent $cflags"
  echo "Configuring parser3..."
  ./configure --prefix=$install_directory "--with-sendmail=$sendmail_command" $options
fi

echo "Building parser3..."
make install
if test $? -ne 0; then exit 1; fi

# remove debug info
# strip ${install_directory}/bin/parser3

echo "DONE"

echo
echo
echo "********************************************************************************************************"
echo "Now you can copy $install_directory/bin to your cgi-bin directory"
echo "  -Parser3 with XML support-"
echo "Read more about installing Parser here:"
echo "  http://www.parser.ru/en/docs/lang/install4apachecgi.htm in English"
echo "  http://www.parser.ru/docs/lang/install4apachecgi.htm in Russian"
echo "********************************************************************************************************"