#!/bin/sh # This script is made to prepare and compile the PHP distribution in one step. # You just have to run this script from its home directory ($root_dir). # You must have at least the OS/400 level V5R3 # You must install the IBM LPO 5799PTL and 5733SC1 before running this script. # This is a very simple and basic shell script. Of course, you can customize it # the way you want and there obviously no warrantly. # # # # IF THIS SCRIPT EXECUTE FINE THE FIRST TIME YOU RUN IT THEN YOU ARE FINE BUT YOU # CANNOT RUN THIS SCRIPT MANY TIMES AS A WHOLE BECAUSE THERE IS NO CHECKING. BUT YOU # MAY BREAK IT DOWN AND RUN IT PIECES BY PIECES IF YOU KNOW WHAT YOU ARE DOING root_dir="/QOpenSys/distro-3.1" compiler="/QOpenSys/usr/local/bin/gcc" function f_move_some_archive { echo "MOVE OF ARCHIVE TO /QOPENSYS" mv $root_dir/gcc.4.1.1.tar /QOpenSys/ mv $root_dir/xpm.3.4k.tar /QOpenSys/ # mv $root_dir/libpng-1.2.8.tar /QOpenSys/ mv $root_dir/gettext.0.14.5.tar /QOpenSys/ } function f_extract_gcc { echo "EXTRACTION OF GCC TAR ARCHIVE" cd /QOpenSys tar xvf ./gcc.4.1.1.tar return 0 } function f_symlink_creation { echo "SYMLINK CREATION FOR local DIRECTORY" ln -s /QOpenSys/usr/local /usr/local return 0 } function f_extract_tar { echo "EXTRACTION OF TAR FILES" cd $root_dir ls *.tar > ./list for i in $(< ./list) do tar xvf $i done return 0 } function f_texinfo { echo "COMPILATION OF TEXINFO" cd $root_dir/texinfo-4.8 export PATH=/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many' export CC=$compiler ./configure --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error return 0 } function f_m4 { echo "COMPILATION OF M4" cd $root_dir/m4-1.4.3 export PATH=/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many' export CC=$compiler ./configure --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error return 0 } function f_autoconf { echo "COMPILATION OF AUTOCONF" cd $root_dir/autoconf-2.59 export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many' export CC=$compiler ./configure --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error return 0 } function f_automake { echo "COMPILATION OF AUTOMAKE" cd $root_dir/automake-1.9.6 export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many' export CC=$compiler ./configure --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error return 0 } function f_zlib { echo "COMPILATION OF ZLIB" cd $root_dir/zlib-1.2.3 export CC=$compiler ./configure 1>conf_log.txt 2>conf_log.error && make test 1>make_test_log.txt 2>make_test_log.error && make install 1>make_install_log.txt 2>make_install_log.error return 0 } function f_patch { echo "COMPILATION OF PATCH" cd $root_dir/patch-2.5.4 export PATH=/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many' export CC=$compiler ./configure --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error return 0 } function f_gzip_patch { echo "gzip-1.2.4 PATCH" cd $root_dir export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin patch -p0 < $root_dir/gzip-1.2.4b.patch return 0 } function f_gzip { echo "COMPILATION of GZIP" cd $root_dir/gzip-1.2.4 export PATH=/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many' export CC=$compiler ./configure --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error return 0 } function f_bzip2 { echo "COMPILATION of BZIP2" cd $root_dir/bzip2-1.0.3 export PATH=/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many' export CC=$compiler make install PREFIX=/usr/local 1>make_install_log.txt 2>make_install_log.error return 0 } function f_bison { echo "COMPILATION of BISON" cd $root_dir/bison-2.0 export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many' export CC=$compiler ./configure --prefix=/usr/local --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error return 0 } function f_copy_include { ls /QIBM/include/sql* > ./list2 #this is needed for a correct build of PHP echo "spawn.h" >> ./list2 # gettext needs this file for a correct build. echo "qlg.h" >> ./list2 for i in $(< ./list2) do system -v "CPY OBJ('$i') TODIR('/QOpenSys/usr/local/include/') TOCCSID(*STDASCII) DTAFMT(*TEXT) REPLACE(*YES)" done } function f_gettext { echo "EXTRACTION of GETTEXT" cd /QOpenSys tar xvf ./gettext.0.14.5.tar } #function f_gettext { # echo "COMPILATION of GETTEXT" # cd $root_dir/gettext-0.14.1 # export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin # export CLASSPATH=.:/QIBM/ProdData/Java400/ext/db2_classes.jar:/QIBM/ProdData/OS400/jt400/lib/jt400Native.jar # export CFLAGS='-mcpu=powerpc -Wa,-many' # export CC=$compiler # ./configure --prefix=/usr/local --disable-shared --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 --disable-csharp 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error # return 0 #} function f_ncurses { echo "COMPILATION of NCURSES" cd $root_dir/ncurses-5.4 export PATH=/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many' export CC=$compiler ./configure --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 --prefix=/usr/local 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error return 0 } function f_curl { echo "COMPILATION OF CURL" cd $root_dir/curl-7.14.0 export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many' export CC=$compiler ./configure --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error return 0 } function f_make { echo "COMPILATION OF GNU MAKE" cd $root_dir/make-3.80 export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many' export CC=$compiler ./configure --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error return 0 } function f_jpeg { echo "COMPILATION OF JPEG" cd $root_dir/jpeg-6b export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many' export CC=$compiler ./configure --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error && make install-lib 1>make_install_lib_log.txt 2>make_install_lib_log.error return 0 } function f_freetype { # echo "EXTRACTION OF FREETYPE" # cd /QOpenSys # tar xvf ./freetype-2.1.10.tar echo "COMPILATION OF FREETYPE" cd $root_dir/freetype-2.1.10 export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many' export CC=$compiler ./configure --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error return 0 } function f_libpng { echo "COMPILATION OF LIBPNG" cd $root_dir/libpng-1.2.8 export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many' export CC=$compiler cp scripts/makefile.aix makefile make 1>make_log.txt 2>make_log.error make install 1>make_install_log.txt 2>make_install_log.error return 0 # echo "EXTRACTION OF LIBPNG" # cd /QOpenSys # tar xvf ./libpng.1.2.8.tar # return 0 } function f_xpm { echo "EXTRACTION OF XPM" cd /QOpenSys tar xvf ./xpm.3.4k.tar return 0 } function f_mysql { echo "COMPILATION OF MYSQL" cd $root_dir/mysql-5.0.41 export PATH=/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CC=$compiler export CFLAGS='-O2 -mcpu=powerpc -Wa,-many -I/usr/local/include/ncurses' export CPPFLAGS=-I/usr/local/include/ncurses export CXXFLAGS='-O2 -mcpu=powerpc -Wa,-many -felide-constructors -fno-exceptions -fno-rtti' ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-shared --with-named-curses-libs=/usr/local/lib/libncurses.a --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error unset CPPFLAGS unset CXXFLAGS # echo "EXTRACTION OF MYSQL TAR ARCHIVE" # cd /QOpenSys # tar xvf ./mysql-4.1.12.v5r3pase.tar return 0 } function f_unzip { export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many' export CC=$compiler if [ ! -e "/usr/local/bin/cc" ] then ln -s /usr/local/bin/gcc /usr/local/bin/cc fi echo "COMPILATION OF UNZIP" cd $root_dir/unzip-5.52 make -f unix/Makefile generic 1>make_install_log.txt 2>make_install_log.error make -f unix/Makefile install 1>make_install_log.txt 2>make_install_log.error return 0 } function f_zip { export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many' export CC=$compiler if [ ! -e "/usr/local/bin/cc" ] then ln -s /usr/local/bin/gcc /usr/local/bin/cc fi echo "COMPILATION OF ZIP" cd $root_dir/zip-2.31 make -f unix/Makefile generic 1>make_install_log.txt 2>make_install_log.error make -f unix/Makefile install 1>make_install_log.txt 2>make_install_log.error return 0 } function f_php4_preparation { echo "COMPILATION OF PHP4 - PREPARATION" cd $root_dir export PATH=/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin ln -s /QOpenSys/QIBM/ProdData/OS400/PASE/lib/as400_libc.exp /QOpenSys/usr/local/lib/as400_libc.exp ln -s /QOpenSys/QIBM/ProdData/OS400/PASE/lib/libdb400.exp /QOpenSys/usr/local/lib/libdb400.exp unzip php-4.3.11.sourcechanges.zip cp php_odbc.c php-4.4.7/ext/odbc/ cp php_odbc_includes.h php-4.4.7/ext/odbc/ cp configure-4.4.7 php-4.4.7/configure # cp php_config.h.in-4.4.7 php-4.4.7/main/php_config.h.in rm php_odbc.c rm php_odbc_includes.h return 0 } function f_php4 { echo "COMPILATION OF PHP4" cd $root_dir/php-4.4.7 export PATH=/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many -DPASE -I/usr/local/include' export LDFLAGS='-liconv -ldb400 -Wl,-bnoquiet -Wl,-bI:/usr/local/lib/libdb400.exp,-bI:/usr/local/lib/as400_libc.exp' export CC=$compiler ./configure --with-config-file-path=/usr/local/php4/etc --prefix=/usr/local/php4/ --enable-force-cgi-redirect --with-ibm-db2 --with-pear --with-zlib --enable-magic-quotes --enable-inline-optimizations --disable-debug --with-iconv=/QOpenSys/usr --with-gettext --with-bz2 --build=powerpc-ibm-aix5.3.0.0 --enable-calendar --host=powerpc-ibm-aix5.3.0.0 --with-mysql=/usr/local/mysql --with-curl --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-zlib-dir=/usr/local --with-xpm-dir=/usr/local --with-freetype-dir=/usr/local --with-curl --with-openssl --enable-mbstring=all --enable-exif 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error cp php.ini-dist /QOpenSys/usr/local/php4/etc/php.ini cp php.ini-recommended /QOpenSys/usr/local/php4/etc/php.ini-recommended return 0 } function f_libxml2 { echo "COMPILATION OF LIBXML2" cd $root_dir/libxml2-2.6.30 export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many -DPASE -I/usr/local/include' export LDFLAGS='-liconv -ldb400 -Wl,-bnoquiet' export CC=$compiler ./configure --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error make check 1>make_check_log.txt 2>make_check_log.error # echo "EXTRACTION OF LIBXML2 TAR ARCHIVE" # cd /QOpenSys # tar xvf ./libxml2.2.6.16.tar return 0 } function f_php5_preparation { echo "COMPILATION OF PHP5 - PREPARATION" cd $root_dir export PATH=/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin # unzip php-5.0.4.sourcechanges.zip cp php_odbc.c.5.2.3 php-5.2.3/ext/odbc/php_odbc.c cp php_odbc_includes.h.5.2.3 php-5.2.3/ext/odbc/php_odbc_includes.h cp configure-5.2.3 php-5.2.3/configure #cp php_mysql.c php-5.2.3/ext/mysql/ # cp php_config.h.in-5.0.4 php-5.0.4/main/php_config.h.in # rm php_odbc.c # rm php_odbc_includes.h return 0 } function f_php5 { echo "COMPILATION OF PHP5" cd $root_dir/php-5.2.3 export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many -DPASE -I/usr/local/include' export LDFLAGS='-liconv -ldb400 -Wl,-bnoquiet -Wl,-bI:/usr/local/lib/libdb400.exp,-bI:/usr/local/lib/as400_libc.exp -L/usr/local/lib' export CC=$compiler ./configure --with-config-file-path=/usr/local/php5/etc --prefix=/usr/local/php5/ --enable-force-cgi-redirect --with-ibm-db2 --with-pear --with-zlib --enable-magic-quotes --enable-inline-optimizations --disable-debug --with-iconv=/QOpenSys/usr --with-gettext --with-bz2 --build=powerpc-ibm-aix5.3.0.0 --enable-calendar --host=powerpc-ibm-aix5.3.0.0 --with-mysql=/usr/local/mysql --with-curl --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-zlib-dir=/usr/local --with-xpm-dir=/usr/local --with-freetype-dir=/usr/local --with-curl --with-openssl --enable-exif 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error cp php.ini-dist /QOpenSys/usr/local/php5/etc/php.ini cp php.ini-recommended /QOpenSys/usr/local/php5/etc/php.ini-recommended return 0 } function f_ruby { echo "COMPILATION OF RUBY" cd $root_dir/ruby-1.8.6 export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin export CFLAGS='-O2 -mcpu=powerpc -Wa,-many -DPASE -I/usr/local/include' export LDFLAGS='-liconv -ldb400 -Wl,-bnoquiet -Wl,-bI:/usr/local/lib/libdb400.exp,-bI:/usr/local/lib/as400_libc.exp -L/usr/local/lib' export CC=$compiler ./configure --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 1>conf_log.txt 2>conf_log.error && /QOpenSys/usr/bin/make 1>make_log.txt 2>make_log.error && /QOpenSys/usr/bin/make install 1>make_install_log.txt 2>make_install_log.error return 0 } function f_rubygems { echo "COMPILATION OF RUBYGEMS" cd $root_dir/rubygems-0.9.4 export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin ruby setup.rb return 0 } function f_tcl { echo "COMPILATION OF TCL" cd $root_dir/tcl8.4.16 export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin ./configure --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error && make install 1>make_install_log.txt 2>make_install_log.error return 0 } # It is better to have TCL if you want to run SQLITE. function f_sqlite3 { echo "COMPILATION OF SQLITE3" cd $root_dir/sqlite-3.5.2 export PATH=/usr/local/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/usr/local/mysql/bin:/QOpenSys/QIBM/ProdData/DeveloperTools/perl/bin ./configure --prefix=/usr/local --build=powerpc-ibm-aix5.3.0.0 --host=powerpc-ibm-aix5.3.0.0 1>conf_log.txt 2>conf_log.error && make 1>make_log.txt 2>make_log.error # the 2 symbolic links that you will find below are there to correct a bug. # Alternatively the creation of the first symbolic name can be avoided if you # follow the procedure that I found at http://forums.remote-exploit.org/showthread.php?t=7460 # The solution is described in the post #5. The second symbolic link needs to be created if you want # to have a successful compilation. ln -s /usr/local/bin/tclsh8.4 /usr/local/bin/tclsh ln -s .libs/libtclsqlite3.a .libs/libtclsqlite3 make install 1>make_install_log.txt 2>make_install_log.error return 0 } # Start of the script echo "$1" export CLASSPATH=.:/QIBM/ProdData/Java400/ext/db2_classes.jar:/QIBM/ProdData/OS400/jt400/lib/jt400Native.jar case "$1" in # no parameters on the command line. Order in which all the compilation should # be done. "") f_move_some_archive f_extract_gcc f_symlink_creation f_extract_tar f_texinfo f_m4 f_autoconf f_automake f_zlib f_patch f_gzip_patch f_gzip f_bzip2 f_bison f_copy_include f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; # one parameter on the command line. This is all the POSSIBLE parameter. There # is one "case" for each. "extract_gcc") f_symlink_creation f_extract_tar f_texinfo f_m4 f_autoconf f_automake f_zlib f_patch f_gzip_patch f_gzip f_bzip2 f_bison f_copy_include f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "symlink_creation") f_symlink_creation f_extract_tar f_texinfo f_m4 f_autoconf f_automake f_zlib f_patch f_gzip_patch f_gzip f_bzip2 f_bison f_copy_include f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "extract_tar") f_extract_tar f_texinfo f_m4 f_autoconf f_automake f_zlib f_patch f_gzip_patch f_gzip f_bzip2 f_bison f_copy_include f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "texinfo") f_texinfo f_m4 f_autoconf f_automake f_zlib f_patch f_gzip_patch f_gzip f_bzip2 f_bison f_copy_include f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "m4") f_m4 f_autoconf f_automake f_zlib f_patch f_gzip_patch f_gzip f_bzip2 f_bison f_copy_include f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "autoconf") f_autoconf f_automake f_zlib f_patch f_gzip_patch f_gzip f_bzip2 f_bison f_copy_include f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "autoconf") f_autoconf f_automake f_zlib f_patch f_gzip_patch f_gzip f_bzip2 f_bison f_copy_include f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "automake") f_automake f_zlib f_patch f_gzip_patch f_gzip f_bzip2 f_bison f_copy_include f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "zlib") f_zlib f_patch f_gzip_patch f_gzip f_bzip2 f_bison f_copy_include f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "patch") f_patch f_gzip_patch f_gzip f_bzip2 f_bison f_copy_include f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "gzip_patch") f_gzip_patch f_gzip f_bzip2 f_bison f_copy_include f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "gzip") f_gzip f_bzip2 f_bison f_copy_include f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "bzip2") f_bzip2 f_bison f_copy_include f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "bison") f_bison f_copy_include f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "copy_include") f_copy_include f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "gettext") f_gettext f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "ncurses") f_ncurses f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "make") f_make f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "freetype") f_freetype f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "jpeg") f_jpeg f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "libpng") f_libpng f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "xpm") f_xpm f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "curl") f_curl f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "mysql") f_mysql f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "unzip") f_unzip f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "zip") f_zip f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "php4_preparation") f_php4_preparation f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "php4") f_php4 f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "libxml2") f_libxml2 f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "php5_preparation") f_php5_preparation f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "php5") f_php5 f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "ruby") f_ruby f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "rubygems") f_rubygems f_rubyrails f_tcl f_sqlite3 ;; "rubyrails") f_rubyrails f_tcl f_sqlite3 ;; "tcl") f_tcl f_sqlite3 ;; "sqlite3") f_sqlite3 ;; "php4_only") f_php4 ;; "php5_only") f_php5_preparation f_php5 ;; "libpng_only") f_libpng ;; "libxml2_only") f_libxml2 ;; *) echo "This not an accepted parameter. It must be one of those :" echo "extract_gcc" echo "symlink_creation" echo "extract_tar" echo "texinfo" echo "m4" echo "autoconf" echo "automake" echo "zlib" echo "patch" echo "gzip_patch" echo "gzip" echo "bzip2" echo "bison" echo "gettext" echo "ncurses" echo "make" echo "freetype" echo "jpeg" echo "libpng" echo "xpm" echo "curl" echo "mysql" echo "unzip" echo "zip" echo "php4_preparation" echo "php4" echo "libxml2" echo "php5_preparation" echo "php5" echo "ruby" echo "rubygems" echo "rubyrails" echo "tcl" echo "sqlite3" echo "php4_only" echo "php5_only" echo "libpng_only" return 1 ;; esac echo "THE END - ENJOY"