File: buildall-with-xml

package info (click to toggle)
parser 3.4.0-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 7,612 kB
  • ctags: 5,854
  • sloc: cpp: 27,638; ansic: 8,047; sh: 7,739; yacc: 1,360; makefile: 204; awk: 5
file content (180 lines) | stat: -rwxr-xr-x 5,166 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
#!/bin/sh

# $Id: buildall-with-xml,v 1.34 2009-11-09 02:09:48 misha Exp $

install_directory=$HOME/parser3install
sendmail_command="/usr/sbin/sendmail -i -t -f postmaster"

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

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]..."
    wget -c 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
  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-7.9"
  if test ! -f "$libpcre.tar.gz"; then
    echo "Downloading pcre [2 lib of 4]..."
    wget -c 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
  current_dir=`pwd`
  echo "Configuring pcre..."
  ./configure --prefix="$project_directory/pcre" \
    --enable-utf8 \
    --enable-unicode-properties \
    --disable-shared \
    --disable-cpp \
    --disable-pcregrep-libz \
    --disable-pcregrep-libz2 \
    --silent
  echo "Building pcre..."
  make
  make install
  echo "Copying required files (Parser3 uses some PCRE internals)..."
  cp pcre_internal.h ucp.h $project_directory/pcre/include
  cd ..
  rm -rf $libpcre
fi


if test ! -f "$project_directory/gnome/lib/libxml2.a"; then
  cd $project_directory/src
  libxml2="libxml2-2.7.6"
  if test ! -f "$libxml2.tar.gz"; then
    echo "Downloading libxml [3 lib of 4]..."
    wget -c --passive-ftp 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 \
    --disable-shared \
    --silent
  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]..."
    wget -c --passive-ftp 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
  echo "Building libxslt..."
  make
  make install
  cd ..
  rm -rf $libxslt
fi


cd $parser3_directory


if test ! -f "Makefile"; then
  options=""
  options="$options --with-static-gc=$project_directory/gc/lib"
  options="$options --with-static-pcre=$project_directory/pcre"
  options="$options --with-static-xml=$project_directory/gnome"
#  options="$options --disable-safe-mode"
#  options="$options --with-dynamic-stdcpp"
#  options="$options --disable-stringstream"
  options="$options --silent"

  echo "Configuring parser3..."
  ./configure --prefix=$install_directory "--with-sendmail=$sendmail_command" $options
fi
echo "Building parser3..."
make install

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

echo "DONE"

echo
echo
echo "********************************************************************************************************"
echo "Now you can copy $install_directory with subdirectories"
echo "  -Parser3 with XML support-"
echo "to your cgi-bin directory"
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 "********************************************************************************************************"