Diff for /parser3/buildall between versions 1.44 and 1.50

version 1.44, 2026/10/06 23:38:05 version 1.50, 2026/10/23 18:59:57
Line 16  build_stripped="" Line 16  build_stripped=""
 direct_download=""  direct_download=""
   
 options="--with-included-ltdl"  options="--with-included-ltdl"
 options="$options --with-gc=$project_dir/gc/lib"  options="$options --with-gc=$project_dir/lib/gc/lib"
 #options="$options --disable-stringstream"  #options="$options --disable-stringstream"
   
 printf "Building statically linked parser3"  printf "Building statically linked parser3"
Line 44  for PARAM in "$@"; do Line 44  for PARAM in "$@"; do
             printf ", with mail receiving"              printf ", with mail receiving"
             options="$options --with-mailreceive"              options="$options --with-mailreceive"
             ;;              ;;
           "--with-amqp")
               printf ", with amqp"
               options="$options --with-amqp=$project_dir/lib/amqp"
               build_amqp="yes"
               ;;
         "--with-system-amqp")          "--with-system-amqp")
             printf ", with amqp"              printf ", with amqp"
             options="$options --with-amqp"              options="$options --with-amqp"
             ;;              ;;
           "--with-redis")
               printf ", with redis"
               options="$options --with-redis=$project_dir/lib/redis"
               build_redis="yes"
               ;;
         "--with-system-redis")          "--with-system-redis")
             printf ", with redis"              printf ", with redis"
             options="$options --with-redis"              options="$options --with-redis"
Line 75  if test "$build_xml" = "yes"; then Line 85  if test "$build_xml" = "yes"; then
     options="$options --with-xml=$project_dir/gnome"      options="$options --with-xml=$project_dir/gnome"
 fi  fi
   
 bits=`getconf LONG_BIT`  cflags="$cflags --with-pic"
 if test "$bits" = "64" -o "$build_apache" = "yes"; then  
     cflags="$cflags --with-pic"  
 else  
     cflags="$cflags --without-pic"  
 fi  
   
 if test ! "$build_apache" = "yes"; then  if test ! "$build_apache" = "yes"; then
     cflags="$cflags --disable-shared"      cflags="$cflags --disable-shared" # .so is needed only for parser3 Apache module, not bundled libs
 fi  fi
   
 download=`which fetch 2>/dev/null`  download=`which fetch 2>/dev/null`
Line 101  prepare () { Line 106  prepare () {
     if test ! -f "$1"; then      if test ! -f "$1"; then
         if test "$direct_download" = "yes"; then          if test "$direct_download" = "yes"; then
             echo "Downloading $lib from $2..."              echo "Downloading $lib from $2..."
             $download $2$1              $download $2$3
               if test "$3" != "$1"; then
                   mv "$3" "$1"
               fi
         else          else
             echo "Downloading $lib (master at $2)..."              echo "Downloading $lib (master at $2)..."
             $download https://www.parser.ru/off-line/download/libs/$1              $download https://www.parser.ru/off-line/download/libs/$1
Line 113  prepare () { Line 121  prepare () {
 }  }
   
 prepare_gz () {  prepare_gz () {
     prepare $1 $2      prepare $1 $2 ${3:-$1}
     gunzip -c $1 | tar xf - >/dev/null      gunzip -c $1 | tar xf - >/dev/null
     cd $lib      cd $lib
 }  }
   
 prepare_xz () {  prepare_xz () {
     prepare $1 $2      prepare $1 $2 ${3:-$1}
     xzcat $1 | tar xf - >/dev/null      xzcat $1 | tar xf - >/dev/null
     cd $lib      cd $lib
 }  }
Line 134  cleanup () { Line 142  cleanup () {
 echo  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/lib/gc/lib/libgc.a"; then
     lib="libatomic_ops-7.6.2"      lib="libatomic_ops-7.10.0"
     prepare_gz ${lib}.tar.gz http://www.hboehm.info/gc/gc_source/      prepare_gz ${lib}.tar.gz https://github.com/bdwgc/libatomic_ops/releases/download/v7.10.0/
   
     lib="gc-8.0.4"      lib="gc-8.2.12"
     prepare_gz ${lib}.tar.gz http://www.hboehm.info/gc/gc_source/      prepare_gz ${lib}.tar.gz https://github.com/bdwgc/bdwgc/releases/download/v8.2.12/
   
     mv ../libatomic_ops-7.6.2 libatomic_ops      mv ../libatomic_ops-7.10.0 libatomic_ops
   
     echo "Configuring $lib..."      echo "Configuring $lib..."
     CPPFLAGS="-DUSE_MMAP -DDONT_ADD_BYTE_AT_END" \      CPPFLAGS="-DUSE_MMAP -DDONT_ADD_BYTE_AT_END -DALWAYS_SMALL_CLEAR_STACK" \
     ./configure --prefix=$project_dir/gc \      ./configure --prefix=$project_dir/lib/gc \
         --disable-shared \          --disable-shared \
         --disable-parallel-mark \          --disable-parallel-mark \
         --silent $cflags          --silent $cflags
Line 156  fi Line 164  fi
   
 if test "$build_pcre2" = "yes"; then  if test "$build_pcre2" = "yes"; then
   
 options="$options --with-pcre=$project_dir/pcre2"  options="$options --with-pcre=$project_dir/lib/pcre2"
   
 if test ! -f "$project_dir/pcre2/lib/libpcre2-8.a"; then  if test ! -f "$project_dir/lib/pcre2/lib/libpcre2-8.a"; then
     lib="pcre2-10.44"      lib="pcre2-10.49"
     prepare_gz $lib.tar.gz https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.44/      prepare_gz $lib.tar.gz https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.49/
     echo "Configuring $lib..."      echo "Configuring $lib..."
     ./configure --prefix="$project_dir/pcre2" \      ./configure --prefix="$project_dir/lib/pcre2" \
         --enable-jit \          --disable-jit \
         --with-match-limit-depth=10000 \          --with-match-limit-depth=10000 \
         --disable-shared \          --disable-shared \
         --silent $cflags          --silent $cflags
Line 174  fi Line 182  fi
   
 else  else
   
 options="$options --with-pcre=$project_dir/pcre"  options="$options --with-pcre=$project_dir/lib/pcre"
   
 if test ! -f "$project_dir/pcre/lib/libpcre.a"; then  if test ! -f "$project_dir/lib/pcre/lib/libpcre.a"; then
     lib="pcre-8.45"      lib="pcre-8.45"
     prepare_gz $lib.tar.gz https://sourceforge.net/projects/pcre/files/pcre/8.45/      prepare_gz $lib.tar.gz https://sourceforge.net/projects/pcre/files/pcre/8.45/
     echo "Configuring $lib..."      echo "Configuring $lib..."
     ./configure --prefix="$project_dir/pcre" \      ./configure --prefix="$project_dir/lib/pcre" \
         --with-match-limit-recursion=10000 \          --with-match-limit-recursion=10000 \
         --enable-utf8 \          --enable-utf8 \
         --enable-unicode-properties \          --enable-unicode-properties \
Line 251  glib_ldflags="" Line 259  glib_ldflags=""
 gmime_cflags=""  gmime_cflags=""
 gmime_ldflags="-L$project_dir/gmime/lib/"  gmime_ldflags="-L$project_dir/gmime/lib/"
   
 os=`uname`  if test "$(uname)" = "FreeBSD"; then
 if test "$os" = "FreeBSD"; then  
     gmime_cflags="CFLAGS=-I/usr/local/include CXXFLAGS=-I/usr/local/include"      gmime_cflags="CFLAGS=-I/usr/local/include CXXFLAGS=-I/usr/local/include"
     glib_ldflags="LDFLAGS=-L/usr/local/lib"      glib_ldflags="LDFLAGS=-L/usr/local/lib"
     gmime_ldflags="$gmime_ldflags -L/usr/local/lib"      gmime_ldflags="$gmime_ldflags -L/usr/local/lib"
Line 294  fi Line 301  fi
   
 fi  fi
   
   
   if test "$build_amqp" = "yes" -a ! -f "$project_dir/lib/amqp/lib/librabbitmq.a"; then
       lib="rabbitmq-c-0.17.0"
       prepare_gz $lib.tar.gz https://github.com/alanxz/rabbitmq-c/archive/refs/tags/ v0.17.0.tar.gz
       echo "Configuring $lib..."
       cmake -S . -B build \
           -DCMAKE_INSTALL_PREFIX="$project_dir/lib/amqp" \
           -DCMAKE_INSTALL_LIBDIR=lib \
           -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
           -DBUILD_SHARED_LIBS=OFF \
           -DBUILD_TESTING=OFF \
           -DENABLE_SSL_SUPPORT=OFF || exit 1
       echo "Building $lib..."
       cmake --build build --target install || exit 1
       cleanup
   fi
   
   if test "$build_redis" = "yes" -a ! -f "$project_dir/lib/redis/lib/libhiredis.a"; then
       lib="hiredis-1.4.1"
       prepare_gz $lib.tar.gz https://github.com/redis/hiredis/archive/refs/tags/ v1.4.1.tar.gz
       echo "Building $lib..."
       gnu_make=make
       test "$(uname)" = "FreeBSD" && gnu_make="gmake CC=cc"
       $gnu_make PREFIX="$project_dir/lib/redis" install
       cleanup
   fi
   
 cd $parser3_dir  cd $parser3_dir
 if test ! -f "Makefile"; then  if test ! -f "Makefile"; then
     echo "Configuring parser3..."      echo "Configuring parser3..."
       touch *
     ./configure --prefix=$install_directory \      ./configure --prefix=$install_directory \
         --sysconfdir=$install_directory/bin \          --sysconfdir=$install_directory/bin \
         --datadir=$install_directory/bin \          --datadir=$install_directory/bin \

Removed from v.1.44  
changed lines
  Added in v.1.50


E-mail: