#!/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 # . # # # $Id$ # # # 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', 'os400', 'irix', 'ptx', 'tru64', 'macosx')" echo " -c (e.g. gcc, xlc or icc)" echo " -x (e.g. g++, xlC, or icc)" echo " -d (specifies that you want to build debug version)" echo " -h (get help on the above commands)" echo " -z " } 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 if test -x /usr/bin/getopt; then set -- `getopt p:c:x:dm:n:t:r:l:z:h $*` else set -- `getopts p:c:x:dm:n:t:r:l:z:h `$*`` fi 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 compileroptions="" for i in $* do case $i in -p) platform=$2; shift 2;; -c) ccompiler=$2; shift 2;; -x) cppcompiler=$2; shift 2;; -d) debug=on; shift;; -z) compileroptions="$compileroptions $2"; shift 2;; -l) linkeroptions=$2; shift 2;; -h) usage exit ${ERROR_EXIT_CODE};; --) shift; break;; esac done if test $platform = "aix"; then if test ! -n "$ccompiler" -o ! -n "$cppcompiler"; then ccompiler=xlc cppcompiler=xlC fi fi echo "Generating makefiles with the following options ..." echo "Platform: $platform" echo "C Compiler: $ccompiler" echo "C++ Compiler: $cppcompiler" if test $debug = "off"; then echo "Debug is OFF" if test $platform = "os400"; then debugflag="-O"; else debugflag="-w -O"; fi 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 | os400 | irix | ptx | tru64 | 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 CC=$ccompiler; export CC CXX=$cppcompiler; export CXX case $cppcompiler in xlC* | xlc*) #the compiler knows better about this stuff #LDFLAGS="-lC"; export LDFLAGS #LIBS="-L/usr/lpp/xlC/lib"; export LIBS ;; g++ | c++) LDFLAGS="-lc"; export LDFLAGS if test $platform = "ptx"; then if test -z $XMLINSTALL; then XMLINSTALL=$ICUROOT fi LIBS="-L$XMLINSTALL/lib"; else LIBS="-L/usr/local/lib"; fi export LIBS ;; cc | CC) LDFLAGS="-lC"; export LDFLAGS if test $platform = "irix"; then LIBS=""; export LIBS else LIBS="-L/usr/lib -L/usr/ccs/lib"; export LIBS fi ;; acc | aCC) LDFLAGS="-lC"; export LDFLAGS LIBS="-L/usr/lib -L/opt/aCC/lib"; export LIBS ;; icc | ICC) ;; cxx) ;; *) echo "I do not recognize the C++ compiler '$cppcompiler'. Continuing anyway ..." ;; esac # Set the extra C and C++ compiler flags CXXFLAGS="$compileroptions $debugflag $compileroption"; export CXXFLAGS CFLAGS="$compileroptions $debugflag $compileroption"; export CFLAGS LDFLAGS="$linkeroptions"; export LDFLAGS echo rm -f config.cache rm -f config.log rm -f config.status if test $platform = "os400"; then ./configure --host AS400-OS400 elif test $platform = "ptx"; then ./configure --prefix=$XMLINSTALL else ./configure fi 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}/samples and type \"gmake\" to make the samples. exit 0;