--- parser3/buildall 2012/07/19 15:05:19 1.2 +++ parser3/buildall 2013/10/16 21:25:24 1.11 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: buildall,v 1.2 2012/07/19 15:05:19 moko Exp $ +# $Id: buildall,v 1.11 2013/10/16 21:25:24 moko Exp $ install_directory=$HOME/parser3install sendmail_command="/usr/sbin/sendmail -i -t -f postmaster" @@ -11,33 +11,37 @@ project_dir=`pwd` build_xml="yes" build_gmime="" build_apache="" +build_stripped="" options="--with-included-ltdl" options="$options --with-gc=$project_dir/gc/lib" options="$options --with-pcre=$project_dir/pcre" -#options="$options --disable-safe-mode" #options="$options --disable-stringstream" -echo -n "Building statically linked parser3" -for PARAM; do +echo "Building statically linked parser3\c" +for PARAM in "$@"; do case "$PARAM" in "--without-xml") - echo -n ", without xml" + echo ", without xml\c" build_xml="" ;; "--with-apache") - echo -n ", with apache module" + echo ", with apache module\c" options="$options --with-apache" build_apache="yes" ;; "--with-mailreceive") - echo -n ", with mail receiving" + echo ", with mail receiving\c" options="$options --with-mailreceive=$project_dir/gnome" build_gmime="yes" ;; + "--strip") + echo ", without debug information\c" + build_stripped="yes" + ;; "--help") echo - echo "Usage: buildall [--without-xml] [--with-apache] [--with-mailreceive] [other configure options ...]" + echo "Usage: buildall [--without-xml] [--with-apache] [--with-mailreceive] [--strip] [--disable-safe-mode] [other configure options ...]" exit 1 ;; *) @@ -51,7 +55,7 @@ if test "$build_xml" = "yes"; then fi 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" else cflags="$cflags --without-pic" @@ -70,31 +74,31 @@ fi ############################### Support functions ################################ -prepare.gz () { +prepare_gz () { cd $project_dir/src - if test ! -f "$lib.tar.gz"; then - echo "Downloading $1..." - $download $2 + if test ! -f "$1"; then + echo "Downloading $lib..." + $download $2$1 fi - echo "Unpacking $1..." + echo "Unpacking $lib..." rm -rf $lib - gunzip -c $lib.tar.gz | tar xf - >/dev/null + gunzip -c $1 | tar xf - >/dev/null cd $lib } -prepare.xz () { +prepare_xz () { cd $project_dir/src - if test ! -f "$lib.tar.xz"; then - echo "Downloading $1..." - $download $2 + if test ! -f "$1"; then + echo "Downloading $lib..." + $download $2$1 fi - echo "Unpacking $1..." + echo "Unpacking $lib..." rm -rf $lib - xzcat $lib.tar.xz | tar xf - >/dev/null + xzcat $1 | tar xf - >/dev/null cd $lib } @@ -110,23 +114,23 @@ mkdir src >/dev/null 2>&1 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-7.1" - prepare.gz gc http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/$lib.tar.gz - echo "Configuring gc..." + lib="gc-7.2" + prepare_gz ${lib}d.tar.gz http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/ + echo "Configuring $lib..." CPPFLAGS="-DUSE_LIBC_PRIVATES -DUSE_MMAP -DDONT_ADD_BYTE_AT_END" \ ./configure --prefix=$project_dir/gc \ --disable-threads \ --disable-shared \ --silent $cflags - echo "Building gc..." + echo "Building $lib..." make install cleanup fi if test ! -f "$project_dir/pcre/lib/libpcre.a"; then - lib="pcre-8.30" - prepare.gz pcre ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/$libpcre.tar.gz - echo "Configuring pcre..." + lib="pcre-8.33" + prepare_gz $lib.tar.gz ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ + echo "Configuring $lib..." ./configure --prefix="$project_dir/pcre" \ --with-match-limit-recursion=10000 \ --enable-utf8 \ @@ -136,16 +140,16 @@ if test ! -f "$project_dir/pcre/lib/libp --disable-pcregrep-libz \ --disable-pcregrep-libbz2 \ --silent $cflags - echo "Building pcre..." + echo "Building $lib..." make install cleanup fi if test "$build_xml" = "yes" -a ! -f "$project_dir/gnome/lib/libxml2.a"; then - lib="libxml2-2.8.0" - prepare.gz libxml ftp://xmlsoft.org/libxml2/$lib.tar.gz + lib="libxml2-2.9.1" + prepare_gz $lib.tar.gz ftp://xmlsoft.org/libxml2/ #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 \ --without-catalog \ --without-iconv \ @@ -155,7 +159,6 @@ if test "$build_xml" = "yes" -a ! -f "$p --without-legacy \ --without-push \ --without-python \ - --without-reader \ --without-writer \ --without-readline \ --without-regexps \ @@ -169,15 +172,15 @@ if test "$build_xml" = "yes" -a ! -f "$p --without-lzma \ --disable-shared \ --silent $cflags - echo "Building libxml..." + echo "Building $lib..." make install cleanup fi if test "$build_xml" = "yes" -a ! -f "$project_dir/gnome/lib/libxslt.a"; then - lib="libxslt-1.1.26" - prepare.gz libxslt ftp://xmlsoft.org/libxslt/$libxslt.tar.gz - echo "Configuring libxslt..." + lib="libxslt-1.1.28" + prepare_gz $lib.tar.gz ftp://xmlsoft.org/libxslt/ + echo "Configuring $lib..." ./configure --prefix=$project_dir/gnome \ --with-libxml-prefix=$project_dir/gnome \ --without-debug \ @@ -186,7 +189,7 @@ if test "$build_xml" = "yes" -a ! -f "$p --without-plugins \ --disable-shared \ --silent $cflags - echo "Building libxslt..." + echo "Building $lib..." make install cleanup fi @@ -206,35 +209,34 @@ fi if test ! -f "$project_dir/gnome/lib/libglib-2.0.a"; then lib="glib-2.28.8" - prepare.xz glib ftp://ftp.gnome.org/pub/GNOME/sources/glib/2.28/$lib.tar.xz - echo "Configuring glib..." + prepare_xz $lib.tar.xz ftp://ftp.gnome.org/pub/GNOME/sources/glib/2.28/ + echo "Configuring $lib..." ./configure --prefix=$project_dir/gnome \ --enable-dtrace=no \ --enable-debug=no \ --enable-iconv-cache=no \ - --disable-threads \ --disable-fam \ --disable-selinux \ --disable-xattr \ --disable-shared \ --enable-static \ --silent $cflags $gmime_cflags $glib_ldflags - echo "Building glib..." + echo "Building $lib..." make install cleanup fi if test ! -f "$project_dir/gnome/lib/libgmime-2.4.a"; then lib="gmime-2.4.32" - prepare.xz gmime ftp://ftp.gnome.org/pub/GNOME/sources/gmime/2.4/$libgmime.tar.xz - echo "Configuring gmime..." + prepare_xz $lib.tar.xz ftp://ftp.gnome.org/pub/GNOME/sources/gmime/2.4/ + echo "Configuring $lib..." ./configure --prefix=$project_dir/gnome \ --disable-glibtest \ --disable-mono \ --disable-shared \ --enable-static \ --silent $cflags $gmime_cflags LDFLAGS="$gmime_ldflags" PKG_CONFIG_PATH="$project_dir/gnome/lib/pkgconfig" - echo "Building libgmime..." + echo "Building $lib..." make install cleanup fi @@ -242,17 +244,18 @@ fi fi cd $parser3_dir -#if test ! -f "Makefile"; then +if test ! -f "Makefile"; then echo "Configuring parser3..." ./configure --prefix=$install_directory "--with-sendmail=$sendmail_command" $options --silent $cflags $gmime_cflags -#fi +fi echo "Building parser3..." make install if test $? -ne 0; then exit 1; fi -#remove debug info -#strip ${install_directory}/bin/parser3 +if test "$build_stripped" = "yes"; then + strip ${install_directory}/bin/parser3 +fi echo "DONE" echo