|
|
| version 1.1, 2012/07/19 13:53:05 | version 1.33, 2020/12/11 14:31:24 |
|---|---|
| Line 11 project_dir=`pwd` | Line 11 project_dir=`pwd` |
| build_xml="yes" | build_xml="yes" |
| build_gmime="" | build_gmime="" |
| build_apache="" | build_apache="" |
| build_stripped="" | |
| direct_download="" | |
| options="--with-included-ltdl" | options="--with-included-ltdl" |
| options="$options --with-gc=$project_dir/gc/lib" | options="$options --with-gc=$project_dir/gc/lib" |
| options="$options --with-pcre=$project_dir/pcre" | options="$options --with-pcre=$project_dir/pcre" |
| #options="$options --disable-safe-mode" | |
| #options="$options --disable-stringstream" | #options="$options --disable-stringstream" |
| echo -n "Building statically linked parser3" | printf "Building statically linked parser3" |
| for PARAM; do | for PARAM in "$@"; do |
| case "$PARAM" in | case "$PARAM" in |
| "--without-xml") | "--without-xml") |
| echo -n ", without xml" | printf ", without xml" |
| build_xml="" | build_xml="" |
| ;; | ;; |
| "--with-apache") | "--with-apache") |
| echo -n ", with apache module" | printf ", with apache module" |
| options="$options --with-apache" | options="$options --with-apache" |
| build_apache="yes" | build_apache="yes" |
| ;; | ;; |
| "--with-mailreceive") | "--with-mailreceive") |
| echo -n ", with mail receiving" | printf ", with mail receiving" |
| options="$options --with-mailreceive=$project_dir/gnome" | options="$options --with-mailreceive=$project_dir/gnome" |
| build_gmime="yes" | build_gmime="yes" |
| ;; | ;; |
| "--with-system-mailreceive") | |
| printf ", with mail receiving" | |
| options="$options --with-mailreceive" | |
| ;; | |
| "--strip") | |
| printf ", without debug information" | |
| build_stripped="yes" | |
| ;; | |
| "--direct-download") | |
| printf ", download sources from master" | |
| direct_download="yes" | |
| ;; | |
| "--help") | "--help") |
| echo "usage" | echo |
| echo "Usage: buildall [--without-xml] [--with-apache] [--with-mailreceive] [--with-system-mailreceive] [--strip] [--direct-download] [--disable-safe-mode] [other configure options ...]" | |
| exit 1 | exit 1 |
| ;; | ;; |
| *) | *) |
| Line 50 if test "$build_xml" = "yes"; then | Line 64 if test "$build_xml" = "yes"; then |
| fi | fi |
| bits=`getconf LONG_BIT` | bits=`getconf LONG_BIT` |
| if test "$bits" = "64" -a "$build_apache" = "yes"; then | if test "$bits" = "64" -o "$build_apache" = "yes"; then |
| cflags="$cflags --with-pic" | cflags="$cflags --with-pic" |
| else | else |
| cflags="$cflags --without-pic" | cflags="$cflags --without-pic" |
| Line 69 fi | Line 83 fi |
| ############################### Support functions ################################ | ############################### Support functions ################################ |
| prepare.gz () { | prepare () { |
| cd $project_dir/src | cd $project_dir/src |
| if test ! -f "$lib.tar.gz"; then | if test ! -f "$1"; then |
| echo "Downloading $1..." | if test "$direct_download" = "yes"; then |
| $download $2 | echo "Downloading $lib from $2..." |
| $download $2$1 | |
| else | |
| echo "Downloading $lib (master at $2)..." | |
| $download https://www.parser.ru/off-line/download/libs/$1 | |
| fi | |
| fi | fi |
| echo "Unpacking $1..." | echo "Unpacking $lib..." |
| rm -rf $lib | rm -rf $lib |
| gunzip -c $lib.tar.gz | tar xf - >/dev/null | |
| cd $lib | |
| } | } |
| prepare.xz () { | prepare_gz () { |
| cd $project_dir/src | prepare $1 $2 |
| gunzip -c $1 | tar xf - >/dev/null | |
| if test ! -f "$lib.tar.xz"; then | cd $lib |
| echo "Downloading $1..." | } |
| $download $2 | |
| fi | |
| echo "Unpacking $1..." | prepare_xz () { |
| rm -rf $lib | prepare $1 $2 |
| xzcat $lib.tar.xz | tar xf - >/dev/null | xzcat $1 | tar xf - >/dev/null |
| cd $lib | cd $lib |
| } | } |
| Line 108 echo | Line 123 echo |
| mkdir src >/dev/null 2>&1 | mkdir src >/dev/null 2>&1 |
| if test ! -f "$project_dir/gc/lib/libgc.a"; then | if test ! -f "$project_dir/gc/lib/libgc.a"; then |
| # libgc="gc6.8" # FreeBSD 4.X is not supported in newer gc version | lib="gc-8.0.4" |
| lib="gc-7.1" | prepare_gz ${lib}.tar.gz http://www.hboehm.info/gc/gc_source/ |
| prepare.gz gc http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/$lib.tar.gz | |
| echo "Configuring gc..." | echo "Configuring $lib..." |
| CPPFLAGS="-DUSE_LIBC_PRIVATES -DUSE_MMAP -DDONT_ADD_BYTE_AT_END" \ | CPPFLAGS="-DUSE_MMAP -DDONT_ADD_BYTE_AT_END" \ |
| ./configure --prefix=$project_dir/gc \ | ./configure --prefix=$project_dir/gc \ |
| --disable-threads \ | |
| --disable-shared \ | --disable-shared \ |
| --silent $cflags | --silent $cflags |
| echo "Building gc..." | echo "Building $lib..." |
| make install | make install |
| cleanup | cleanup |
| fi | fi |
| if test ! -f "$project_dir/pcre/lib/libpcre.a"; then | if test ! -f "$project_dir/pcre/lib/libpcre.a"; then |
| lib="pcre-8.30" | lib="pcre-8.43" |
| prepare.gz pcre ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/$libpcre.tar.gz | prepare_gz $lib.tar.gz https://ftp.pcre.org/pub/pcre/ |
| echo "Configuring pcre..." | echo "Configuring $lib..." |
| ./configure --prefix="$project_dir/pcre" \ | ./configure --prefix="$project_dir/pcre" \ |
| --with-match-limit-recursion=10000 \ | --with-match-limit-recursion=10000 \ |
| --enable-utf8 \ | --enable-utf8 \ |
| Line 135 if test ! -f "$project_dir/pcre/lib/libp | Line 149 if test ! -f "$project_dir/pcre/lib/libp |
| --disable-pcregrep-libz \ | --disable-pcregrep-libz \ |
| --disable-pcregrep-libbz2 \ | --disable-pcregrep-libbz2 \ |
| --silent $cflags | --silent $cflags |
| echo "Building pcre..." | echo "Building $lib..." |
| make install | make install |
| cleanup | cleanup |
| fi | fi |
| if test "$build_xml" = "yes" -a ! -f "$project_dir/gnome/lib/libxml2.a"; then | if test "$build_xml" = "yes" -a ! -f "$project_dir/gnome/lib/libxml2.a"; then |
| lib="libxml2-2.8.0" | lib="libxml2-2.9.9" |
| prepare.gz libxml ftp://xmlsoft.org/libxml2/$lib.tar.gz | prepare_gz $lib.tar.gz ftp://xmlsoft.org/libxml2/ |
| #sax1, output, tree, xinclude[in libxslt], html[in libxslt, mode=html?], xptr[xinclude], pattern -- needed! | #sax1, output, tree, xinclude[in libxslt], html[in libxslt, mode=html?], xptr[xinclude], pattern -- needed! |
| echo "Configuring libxml..." | echo "Configuring $lib..." |
| ./configure --prefix=$project_dir/gnome \ | ./configure --prefix=$project_dir/gnome \ |
| --without-catalog \ | --without-catalog \ |
| --without-iconv \ | --without-iconv \ |
| --without-threads \ | |
| --without-debug \ | --without-debug \ |
| --without-iso8859x \ | --without-iso8859x \ |
| --without-legacy \ | --without-legacy \ |
| --without-push \ | --without-push \ |
| --without-python \ | --without-python \ |
| --without-reader \ | |
| --without-writer \ | --without-writer \ |
| --without-readline \ | --without-readline \ |
| --without-regexps \ | --without-regexps \ |
| Line 168 if test "$build_xml" = "yes" -a ! -f "$p | Line 180 if test "$build_xml" = "yes" -a ! -f "$p |
| --without-lzma \ | --without-lzma \ |
| --disable-shared \ | --disable-shared \ |
| --silent $cflags | --silent $cflags |
| echo "Building libxml..." | echo "Building $lib..." |
| make install | make install |
| cleanup | cleanup |
| fi | fi |
| if test "$build_xml" = "yes" -a ! -f "$project_dir/gnome/lib/libxslt.a"; then | if test "$build_xml" = "yes" -a ! -f "$project_dir/gnome/lib/libxslt.a"; then |
| lib="libxslt-1.1.26" | lib="libxslt-1.1.34" |
| prepare.gz libxslt ftp://xmlsoft.org/libxslt/$libxslt.tar.gz | prepare_gz $lib.tar.gz ftp://xmlsoft.org/libxslt/ |
| echo "Configuring libxslt..." | echo "Configuring $lib..." |
| CFLAGS="$CFLAGS -D__stub_clock_gettime -Dclock_gettime=choke_me" \ | |
| ./configure --prefix=$project_dir/gnome \ | ./configure --prefix=$project_dir/gnome \ |
| --with-libxml-prefix=$project_dir/gnome \ | --with-libxml-prefix=$project_dir/gnome \ |
| --without-debug \ | --without-debug \ |
| Line 185 if test "$build_xml" = "yes" -a ! -f "$p | Line 198 if test "$build_xml" = "yes" -a ! -f "$p |
| --without-plugins \ | --without-plugins \ |
| --disable-shared \ | --disable-shared \ |
| --silent $cflags | --silent $cflags |
| echo "Building libxslt..." | echo "Building $lib..." |
| make install | make install |
| cleanup | cleanup |
| fi | fi |
| Line 205 fi | Line 218 fi |
| if test ! -f "$project_dir/gnome/lib/libglib-2.0.a"; then | if test ! -f "$project_dir/gnome/lib/libglib-2.0.a"; then |
| lib="glib-2.28.8" | lib="glib-2.28.8" |
| prepare.xz glib ftp://ftp.gnome.org/pub/GNOME/sources/glib/2.28/$lib.tar.xz | prepare_xz $lib.tar.xz ftp://ftp.gnome.org/pub/GNOME/sources/glib/2.28/ |
| echo "Configuring glib..." | echo "Configuring $lib..." |
| ./configure --prefix=$project_dir/gnome \ | ./configure --prefix=$project_dir/gnome \ |
| --enable-dtrace=no \ | --enable-dtrace=no \ |
| --enable-debug=no \ | --enable-debug=no \ |
| --enable-iconv-cache=no \ | --enable-iconv-cache=no \ |
| --disable-threads \ | |
| --disable-fam \ | --disable-fam \ |
| --disable-selinux \ | --disable-selinux \ |
| --disable-xattr \ | --disable-xattr \ |
| --disable-shared \ | --disable-shared \ |
| --enable-static \ | --enable-static \ |
| --silent $cflags $gmime_cflags $glib_ldflags | --silent $cflags $gmime_cflags $glib_ldflags |
| echo "Building glib..." | echo "Building $lib..." |
| make install | make install |
| cleanup | cleanup |
| fi | fi |
| if test ! -f "$project_dir/gnome/lib/libgmime-2.4.a"; then | if test ! -f "$project_dir/gnome/lib/libgmime-2.4.a"; then |
| lib="gmime-2.4.32" | lib="gmime-2.4.32" |
| prepare.xz gmime ftp://ftp.gnome.org/pub/GNOME/sources/gmime/2.4/$libgmime.tar.xz | prepare_xz $lib.tar.xz ftp://ftp.gnome.org/pub/GNOME/sources/gmime/2.4/ |
| echo "Configuring gmime..." | echo "Configuring $lib..." |
| ./configure --prefix=$project_dir/gnome \ | ./configure --prefix=$project_dir/gnome \ |
| --disable-glibtest \ | --disable-glibtest \ |
| --disable-mono \ | --disable-mono \ |
| --disable-shared \ | --disable-shared \ |
| --enable-static \ | --enable-static \ |
| --silent $cflags $gmime_cflags LDFLAGS="$gmime_ldflags" PKG_CONFIG_PATH="$project_dir/gnome/lib/pkgconfig" | --silent $cflags $gmime_cflags LDFLAGS="$gmime_ldflags" PKG_CONFIG_PATH="$project_dir/gnome/lib/pkgconfig" |
| echo "Building libgmime..." | echo "Building $lib..." |
| make install | make install |
| cleanup | cleanup |
| fi | fi |
| Line 241 fi | Line 253 fi |
| fi | fi |
| cd $parser3_dir | cd $parser3_dir |
| #if test ! -f "Makefile"; then | if test ! -f "Makefile"; then |
| echo "Configuring parser3..." | echo "Configuring parser3..." |
| ./configure --prefix=$install_directory "--with-sendmail=$sendmail_command" $options --silent $cflags $gmime_cflags | ./configure --prefix=$install_directory \ |
| #fi | --sysconfdir=$install_directory/bin \ |
| --datadir=$install_directory/bin \ | |
| --with-sendmail="$sendmail_command" \ | |
| $options $cflags $gmime_cflags | |
| fi | |
| echo "Building parser3..." | echo "Building parser3..." |
| make install | make install |
| if test $? -ne 0; then exit 1; fi | if test $? -ne 0; then exit 1; fi |
| #remove debug info | if test "$build_stripped" = "yes"; then |
| #strip ${install_directory}/bin/parser3 | strip ${install_directory}/bin/parser3 |
| fi | |
| echo "DONE" | echo "DONE" |
| echo | echo |