#!/bin/sh # # The Apache Software License, Version 1.1 # # Copyright (c) 1999-2000 The Apache Software Foundation. All rights # reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in # the documentation and/or other materials provided with the # distribution. # # 3. The end-user documentation included with the redistribution, # if any, must include the following acknowledgment: # "This product includes software developed by the # Apache Software Foundation (http://www.apache.org/)." # Alternately, this acknowledgment may appear in the software itself, # if and wherever such third-party acknowledgments normally appear. # # 4. The names "Xerces" and "Apache Software Foundation" must # not be used to endorse or promote products derived from this # software without prior written permission. For written # permission, please contact apache\@apache.org. # # 5. Products derived from this software may not be called "Apache", # nor may "Apache" appear in their name, without prior written # permission of the Apache Software Foundation. # # THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR # ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # ==================================================================== # # This software consists of voluntary contributions made by many # individuals on behalf of the Apache Software Foundation, and was # originally based on software copyright (c) 1999, International # Business Machines, Inc., http://www.ibm.com . For more information # on the Apache Software Foundation, please see # . # # # $Log$ # Revision 1.9 2001/06/09 18:06:50 jberry # Add MacOS build support for tests # # Revision 1.8 2001/02/13 13:10:50 tng # Update samples/tests files for on UnixWare 7.1.1 with gcc 2.95. Add UNIXWARE platform defines to Makefile.incl, add recognition of sysv5uw7 to configure.in, and add unixware as recognized platform to runConfigure. Updated by Hiram Clawson. # # Revision 1.7 2000/05/10 01:13:52 abagchi # Now detects AIX version and introduces -lpthreads_compat accordingly # # Revision 1.6 2000/04/12 20:33:08 abagchi # Included some more PTX changes # # Revision 1.5 2000/04/04 20:10:16 abagchi # Added PTX support # # Revision 1.4 2000/02/29 02:19:11 rahulj # No more compilation errors under HPUX 11.0. We do not build # DOMMemTest as it crashes the aCC compiler. # # Revision 1.3 2000/02/26 07:20:18 rahulj # - The threading tests now work on HPUX. # - Under HPUX 10.20 we do no build DOMMemTest and DOMTest. # It crashes the compiler. # - One could not write more worse makefiles than what exists for the # tests. Hopefully, I will get bugged enough to fix them oneday. # # Revision 1.2 2000/02/06 07:48:34 rahulj # Year 2K copyright swat. # # Revision 1.1 2000/01/31 22:21:53 aruna1 # initial checkin # # # runConfigure : This script will run the "configure" script for the appropriate platform # Only supported platforms are recognized usage() { echo "runConfigure: Helper script to run \"configure\" for one of the supported platforms" echo "Usage: runConfigure \"options\"" echo " where options may be any of the following:" echo " -p (accepts 'aix', 'unixware', 'linux', 'solaris', 'hp-10', 'hp-11', 'ptx', 'macosx')" echo " -c (e.g. gcc or xlc_r)" echo " -x (e.g. g++ or xlC_r)" echo " -d (specifies that you want to build debug version)" echo " -r can be 'pthread' or 'dce' (only used on HP-11)" echo " -h (get help on the above commands)" } ERROR_EXIT_CODE=1 if test ${1}o = "o"; then usage exit ${ERROR_EXIT_CODE} fi if test ${XERCESCROOT}o = "o"; then echo ERROR : You have not set your XERCESCROOT environment variable echo Though this environment variable has nothing to do with creating makefiles, echo this is just a general warning to prevent you from pitfalls in future. Please echo set an environment variable called XERCESCROOT to indicate where you installed echo the XERCES-C files, and run this command again to proceed. See the documentation echo for an example if you are still confused. exit ${ERROR_EXIT_CODE} fi if test $1 = "-h"; then usage exit ${ERROR_EXIT_CODE} fi # Get the command line parameters set -- `getopt p:c:x:dm:n:t:r:l:z:h $*` if [ $? != 0 ] then usage exit ${ERROR_EXIT_CODE} fi # Set up the default values for each parameter debug=off # by default debug is off transcoder=native # by default use native transcoder msgloader=iconv # by default use native transcoder netaccessor=fileonly # by default use fileonly for i in $* do case $i in -p) platform=$2; shift 2;; -c) ccompiler=$2; shift 2;; -x) cppcompiler=$2; shift 2;; -r) thread=$2; shift 2;; -d) debug=on; shift;; -h) usage exit ${ERROR_EXIT_CODE};; --) shift; break;; esac done echo "Generating makefiles with the following options ..." echo "Platform: $platform" echo "C Compiler: $ccompiler" echo "C++ Compiler: $cppcompiler" echo "Thread option: $thread" if test $debug = "off"; then echo "Debug is OFF" debugflag="-O"; else echo "Debug is ON" debugflag="-g"; fi # Now check if the options are correct or not, bail out if incorrect case $platform in aix | unixware | linux | solaris | hp-10 | hp-11 | ptx | macosx) # platform has been recognized ;; *) echo "I do not recognize the platform '$platform'. Please type '${0} -h' for help." exit ${ERROR_EXIT_CODE};; esac # Set the C compiler and C++ compiler environment variables case $cppcompiler in xlC | xlc | xlC_r | xlc_r) standardLibFlags="-L/usr/lpp/xlC/lib -lC";; g++ | c++) if test $platform = "ptx"; then if test -z $XMLINSTALL; then XMLINSTALL=$ICUROOT fi standardLibFlags="-L${XMLINSTALL}/lib -lc"; else standardLibFlags="-L/usr/local/lib -lc"; fi ;; cc | CC) standardLibFlags="-L/usr/lib -L/usr/ccs/lib -lC";; acc | aCC) standardLibFlags="";; *) echo "I do not recognize the C++ compiler '$cppcompiler'. Continuing anyway ..." ;; esac CC=$ccompiler export CC CXX=$cppcompiler export CXX # # Check for the threading option only for hp-11 # threadingLibs="-lpthread" if test $platform = "hp-11"; then if test $thread; then case $thread in pthread) ;; dce) threadingLibs="-lcma"; threadingDefines="-D_PTHREADS_DRAFT4 -DXML_USE_DCE" ;; *) echo "I do not recognize the thread option '$thread'. Please type '${0} -h' for help." exit ${ERROR_EXIT_CODE};; esac fi elif test $platform = "aix"; then aix_version=`./config.guess`; echo Found host system to be $aix_version case $aix_version in *4.3*) threadingLibs="-lpthreads_compat -lpthreads";; *) threadingLibs="-lpthreads";; esac elif test $platform = "ptx"; then threadingLibs=" " elif test $platform = "hp-10"; then threadingLibs="-lcma" threadingDefines="-DXML_USE_DCE" elif test $platform = "unixware"; then threadingLibs="-pthread" threadingDefines="-pthread" fi # # Set the extra C and C++ compiler flags before invoking configure. # CXXFLAGS="$debugflag $compileroption $threadingDefines" export CXXFLAGS CFLAGS="$debugflag $compileroption $threadingDefines" export CFLAGS LIBS="$threadingLibs $standardLibFlags" export LIBS if test $platform = "ptx"; then if test ${XMLINSTALL}o = "o"; then XMLINSTALL = /usr/local; export XMLINSTALL fi fi echo rm -f config.cache rm -f config.log rm -f config.status ./configure echo echo In future, you may also directly type the following commands to create the Makefiles. echo echo export CC=$CC echo export CXX=$CXX echo export CXXFLAGS=$CXXFLAGS echo export CFLAGS=$CFLAGS echo export LIBS=$LIBS echo export LDFLAGS=$LDFLAGS echo configure echo echo If the result of the above commands look OK to you, go to the directory echo ${XERCESCROOT}/tests and type \"gmake\" to make the XERCES-C system. exit 0;