--- parser3/buildall 2020/12/11 14:31:24 1.33 +++ parser3/buildall 2026/04/25 13:38:46 1.43 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: buildall,v 1.33 2020/12/11 14:31:24 moko Exp $ +# $Id: buildall,v 1.43 2026/04/25 13:38:46 moko Exp $ install_directory=$HOME/parser3install sendmail_command="/usr/sbin/sendmail -i -t -f postmaster" @@ -9,6 +9,7 @@ cd .. project_dir=`pwd` build_xml="yes" +build_pcre2="yes" build_gmime="" build_apache="" build_stripped="" @@ -16,7 +17,6 @@ direct_download="" options="--with-included-ltdl" options="$options --with-gc=$project_dir/gc/lib" -options="$options --with-pcre=$project_dir/pcre" #options="$options --disable-stringstream" printf "Building statically linked parser3" @@ -26,6 +26,10 @@ for PARAM in "$@"; do printf ", without xml" build_xml="" ;; + "--without-pcre2") + printf ", without pcre2 library" + build_pcre2="" + ;; "--with-apache") printf ", with apache module" options="$options --with-apache" @@ -33,13 +37,17 @@ for PARAM in "$@"; do ;; "--with-mailreceive") printf ", with mail receiving" - options="$options --with-mailreceive=$project_dir/gnome" + options="$options --with-mailreceive=$project_dir/gmime" 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" @@ -50,7 +58,7 @@ for PARAM in "$@"; do ;; "--help") echo - echo "Usage: buildall [--without-xml] [--with-apache] [--with-mailreceive] [--with-system-mailreceive] [--strip] [--direct-download] [--disable-safe-mode] [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 ;; *) @@ -123,22 +131,50 @@ echo mkdir src >/dev/null 2>&1 if test ! -f "$project_dir/gc/lib/libgc.a"; then + lib="libatomic_ops-7.6.2" + prepare_gz ${lib}.tar.gz http://www.hboehm.info/gc/gc_source/ + lib="gc-8.0.4" 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 \ --disable-shared \ + --disable-parallel-mark \ + --silent $cflags + echo "Building $lib..." + make install + cleanup +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 - lib="pcre-8.43" - prepare_gz $lib.tar.gz https://ftp.pcre.org/pub/pcre/ + lib="pcre-8.45" + prepare_gz $lib.tar.gz https://sourceforge.net/projects/pcre/files/pcre/8.45/ echo "Configuring $lib..." ./configure --prefix="$project_dir/pcre" \ --with-match-limit-recursion=10000 \ @@ -154,9 +190,11 @@ if test ! -f "$project_dir/pcre/lib/libp cleanup fi +fi + if test "$build_xml" = "yes" -a ! -f "$project_dir/gnome/lib/libxml2.a"; then lib="libxml2-2.9.9" - prepare_gz $lib.tar.gz ftp://xmlsoft.org/libxml2/ + prepare_gz $lib.tar.gz http://xmlsoft.org/download/ #sax1, output, tree, xinclude[in libxslt], html[in libxslt, mode=html?], xptr[xinclude], pattern -- needed! echo "Configuring $lib..." ./configure --prefix=$project_dir/gnome \ @@ -187,7 +225,7 @@ fi if test "$build_xml" = "yes" -a ! -f "$project_dir/gnome/lib/libxslt.a"; then lib="libxslt-1.1.34" - prepare_gz $lib.tar.gz ftp://xmlsoft.org/libxslt/ + prepare_gz $lib.tar.gz http://xmlsoft.org/download/ echo "Configuring $lib..." CFLAGS="$CFLAGS -D__stub_clock_gettime -Dclock_gettime=choke_me" \ ./configure --prefix=$project_dir/gnome \ @@ -207,7 +245,7 @@ if test "$build_gmime" = "yes"; then glib_ldflags="" gmime_cflags="" -gmime_ldflags="-L$project_dir/gnome/lib/" +gmime_ldflags="-L$project_dir/gmime/lib/" os=`uname` if test "$os" = "FreeBSD"; then @@ -216,11 +254,11 @@ if test "$os" = "FreeBSD"; then gmime_ldflags="$gmime_ldflags -L/usr/local/lib" 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" prepare_xz $lib.tar.xz ftp://ftp.gnome.org/pub/GNOME/sources/glib/2.28/ echo "Configuring $lib..." - ./configure --prefix=$project_dir/gnome \ + ./configure --prefix=$project_dir/gmime \ --enable-dtrace=no \ --enable-debug=no \ --enable-iconv-cache=no \ @@ -235,16 +273,16 @@ if test ! -f "$project_dir/gnome/lib/lib cleanup 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" prepare_xz $lib.tar.xz ftp://ftp.gnome.org/pub/GNOME/sources/gmime/2.4/ echo "Configuring $lib..." - ./configure --prefix=$project_dir/gnome \ + ./configure --prefix=$project_dir/gmime \ --disable-glibtest \ --disable-mono \ --disable-shared \ --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 $lib..." make install cleanup @@ -258,6 +296,8 @@ if test ! -f "Makefile"; then ./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 @@ -275,7 +315,7 @@ echo echo "********************************************************************************************************" echo "Now you can copy $install_directory/bin 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 " https://www.parser.ru/en/docs/lang/install4apachecgi.htm in English" +echo " https://www.parser.ru/docs/lang/install4apachecgi.htm in Russian" echo "********************************************************************************************************"