Newer
Older
# Copyright (c) 1999-2001 The Apache Software Foundation. All rights
# 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,
# "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
# 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
# <http://www.apache.org/>.
#
#
# 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 <platform> (accepts 'aix', 'linux', 'freebsd', 'solaris',
'hp-10', 'hp-11', 'openserver', 'unixware', 'os400', 'irix',
'ptx', 'tru64', 'macosx')"
echo " -c <C compiler name> (e.g. gcc, xlc or icc)"
echo " -x <C++ compiler name> (e.g. g++, xlC, or icc)"
echo " -l <extra linker options>"
echo " -z <extra compiler options>"
echo " -h (get help on the above commands)"
ERROR_EXIT_CODE=1
exit ${ERROR_EXIT_CODE}
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
exit ${ERROR_EXIT_CODE}
exit ${ERROR_EXIT_CODE}
# Check the command line parameters
if test -x /usr/bin/getopt; then
getoptErr=`getopt p:c:x:dm:n:t:r:l:z:h $*`
getoptErr=`getopts p:c:x:dm:n:t:r:l:z:h `$*``
exit ${ERROR_EXIT_CODE}
# Now 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
# Set up the default values for each parameter
debug=off # by default debug is off
while [ $# -gt 0 ]
case $1 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;;
Tinny Ng
committed
linkeroptions="$linkeroptions $2"; shift 2;;
Andy Heninger
committed
exit ${ERROR_EXIT_CODE};;
Tinny Ng
committed
*)
echo "unknown option $1"
usage
exit ${ERROR_EXIT_CODE};;
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"
echo "Extra compile options: $compileroptions"
echo "Extra link options: $linkeroptions"
#
# Now check if the options are correct or not, bail out if incorrect
#
case $platform in
aix | openserver | unixware | linux | freebsd | 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
#
# Enable debugging or not...
#
elif test $platform = "irix"; then
debugflag="-w -O2";
elif test $platform = "aix"; then
debugflag="-w -O2";
# Set the C compiler and C++ compiler environment variables
xlC* | xlc* | g++ | c++ | cc | CC | aCC | icc | ICC | cxx)
;;
*)
echo "I do not recognize the C++ compiler '$cppcompiler'. Continuing anyway ..."
;;
esac
CC="$ccompiler"
export CC
CXX="$cppcompiler"
export CXX
#
# include the user defined CXXFLAGS/CFLAGS first in case they have
# set an platform spefic flags
#
CXXFLAGS="$CXXFLAGS $compileroptions $debugflag"; export CXXFLAGS
CFLAGS="$CFLAGS $compileroptions $debugflag"; export CFLAGS
# gcc crashes if optimisation is turned on in a Tru64 environment
if [ $platform = "tru64" -a $CXX = "g++" ]; then
CXXFLAGS=`echo $CXXFLAGS | sed -e 's/-O[0-9]*//g'`
Tinny Ng
committed
CFLAGS=`echo $CFLAGS | sed -e 's/-O[0-9]*//g'`
export CXXFLAGS CFLAGS
fi
Tinny Ng
committed
LDFLAGS="$LDFLAGS $linkeroptions"; export LDFLAGS
echo
rm -f config.cache
rm -f config.log
rm -f config.status
elif test $platform = "ptx"; then
./configure --prefix=$XMLINSTALL
# exit if configure failed
if test $? != 0; then
exit 1
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.