Diff for /parser3/buildall between versions 1.4 and 1.42

version 1.4, 2012/07/19 15:20:25 version 1.42, 2025/11/06 22:09:34
Line 9  cd .. Line 9  cd ..
 project_dir=`pwd`  project_dir=`pwd`
   
 build_xml="yes"  build_xml="yes"
   build_pcre2="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 --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=""
             ;;              ;;
           "--without-pcre2")
               printf ", without pcre2 library"
               build_pcre2=""
               ;;
         "--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/gmime"
             build_gmime="yes"              build_gmime="yes"
             ;;              ;;
           "--with-system-mailreceive")
               printf ", with mail receiving"
               options="$options --with-mailreceive"
               ;;
           "--with-system-amqp")
               printf ", with amqp"
               options="$options --with-amqp"
               ;;
           "--strip")
               printf ", without debug information"
               build_stripped="yes"
               ;;
           "--direct-download")
               printf ", download sources from master"
               direct_download="yes"
               ;;
         "--help")          "--help")
             echo              echo
             echo "Usage: buildall [--without-xml] [--with-apache] [--with-mailreceive] [other configure options ...]"              echo "Usage: buildall [--without-xml] [--without-pcre2] [--with-apache] [--with-mailreceive] [--with-system-mailreceive] [--strip] [--direct-download] [--disable-safe-mode] [other configure options ...]"
             exit 1              exit 1
             ;;              ;;
         *)          *)
Line 51  if test "$build_xml" = "yes"; then Line 72  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 70  fi Line 91  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  }
   
   prepare_gz () {
       prepare $1 $2
       gunzip -c $1 | tar xf - >/dev/null
     cd $lib      cd $lib
 }  }
   
 prepare_xz () {  prepare_xz () {
     cd $project_dir/src      prepare $1 $2
       xzcat $1 | tar xf - >/dev/null
     if test ! -f "$lib.tar.xz"; then  
         echo "Downloading $1..."  
         $download $2  
     fi  
   
     echo "Unpacking $1..."  
     rm -rf $lib  
     xzcat $lib.tar.xz | tar xf - >/dev/null  
     cd $lib      cd $lib
 }  }
   
Line 109  echo Line 131  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="libatomic_ops-7.6.2"
     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..."      lib="gc-8.0.4"
     CPPFLAGS="-DUSE_LIBC_PRIVATES -DUSE_MMAP -DDONT_ADD_BYTE_AT_END" \      prepare_gz ${lib}.tar.gz http://www.hboehm.info/gc/gc_source/
   
       mv ../libatomic_ops-7.6.2 libatomic_ops
   
       echo "Configuring $lib..."
       CPPFLAGS="-DUSE_MMAP -DDONT_ADD_BYTE_AT_END" \
     ./configure --prefix=$project_dir/gc \      ./configure --prefix=$project_dir/gc \
         --disable-threads \  
         --disable-shared \          --disable-shared \
           --disable-parallel-mark \
         --silent $cflags          --silent $cflags
     echo "Building gc..."      echo "Building $lib..."
     make install      make install
     cleanup      cleanup
 fi  fi
   
   if test "$build_pcre2" = "yes"; then
   
   options="$options --with-pcre=$project_dir/pcre2"
   
   if test ! -f "$project_dir/pcre2/lib/libpcre2-8.a"; then
       lib="pcre2-10.44"
       prepare_gz $lib.tar.gz https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.44/
       echo "Configuring $lib..."
       ./configure --prefix="$project_dir/pcre2" \
           --enable-jit \
           --with-match-limit-depth=10000 \
           --disable-shared \
           --silent $cflags
       echo "Building $lib..."
       make install
       cleanup
   fi
   
   else
   
   options="$options --with-pcre=$project_dir/pcre"
   
 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.45"
     prepare_gz pcre ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/$lib.tar.gz      prepare_gz $lib.tar.gz https://sourceforge.net/projects/pcre/files/pcre/8.45/
     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 136  if test ! -f "$project_dir/pcre/lib/libp Line 185  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
   
   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 http://xmlsoft.org/download/
     #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 169  if test "$build_xml" = "yes" -a ! -f "$p Line 218  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/$lib.tar.gz      prepare_gz $lib.tar.gz http://xmlsoft.org/download/
     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 186  if test "$build_xml" = "yes" -a ! -f "$p Line 236  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 195  if test "$build_gmime" = "yes"; then Line 245  if test "$build_gmime" = "yes"; then
   
 glib_ldflags=""  glib_ldflags=""
 gmime_cflags=""  gmime_cflags=""
 gmime_ldflags="-L$project_dir/gnome/lib/"  gmime_ldflags="-L$project_dir/gmime/lib/"
   
 os=`uname`  os=`uname`
 if test "$os" = "FreeBSD"; then  if test "$os" = "FreeBSD"; then
Line 204  if test "$os" = "FreeBSD"; then Line 254  if test "$os" = "FreeBSD"; then
     gmime_ldflags="$gmime_ldflags -L/usr/local/lib"      gmime_ldflags="$gmime_ldflags -L/usr/local/lib"
 fi  fi
   
 if test ! -f "$project_dir/gnome/lib/libglib-2.0.a"; then  if test ! -f "$project_dir/gmime/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/gmime \
         --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/gmime/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/$lib.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/gmime \
         --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/gmime/lib/pkgconfig"
     echo "Building libgmime..."      echo "Building $lib..."
     make install      make install
     cleanup      cleanup
 fi  fi
Line 244  fi Line 293  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 \
           --sysconfdir=$install_directory/bin \
           --datadir=$install_directory/bin \
           --datarootdir="\$confdir" \
           --libdir="\$confdir/lib" \
           --with-sendmail="$sendmail_command" \
           $options $cflags $gmime_cflags
 fi  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

Removed from v.1.4  
changed lines
  Added in v.1.42


E-mail: