blob: aa20fada50adf7b8386f13b5f7ceaf6c38167ca0 [file] [log] [blame]
#!/bin/sh
#
# The Apache Software License, Version 1.1
#
# Copyright (c) 1999 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 "Xalan" 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
# <http://www.apache.org/>.
#
#
# $Log$
# Revision 1.7 2001/11/27 14:29:43 dbertoni
# Reverted previous changes.
#
# Revision 1.5 2001/08/14 16:10:18 dbertoni
# Changes from James Berry <jberry@criticalpath.com> for Mac OS X support.
#
# Revision 1.4 2001/05/18 18:24:12 dbertoni
# Added $compileroption to CXXFLAGS and CFLAGS. Bug 1810
#
# Revision 1.3 2001/04/13 02:53:20 dbertoni
# Changes for the TRU64 port.
#
# Revision 1.2 2001/03/15 15:56:36 dbertoni
# Add -D NDEBUG to release builds to disable assertions.
#
# Revision 1.1 2000/01/27 19:57:43 jdonohue
# Preliminary based on Xerces
#
# Revision 1.1 1999/12/21 01:13:53 jdonohue
# Make for linux, etc
#
#
#
#
# runConfigure:
# This script will run the "configure" script for the appropriate
# platform. Only supported platforms are recognized.
#
# The following variables are defined and exported at the end of this
# script.
#
# LIBS
# LDFLAGS
# CXXFLAGS
#
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', 'solaris', 'hp-10', 'hp-11', 'irix', 'tru64', 'macosx' )"
echo " -c <C compiler name> (e.g. gcc, cc, xlc)"
echo " -x <C++ compiler name> (e.g. g++, CC, xlC)"
echo " -d (specifies that you want to build debug version)"
echo " -r <thread option> can be 'pthread' or 'dce' (only used on HP-11)"
echo " -l <extra linker options>"
echo " -z <extra compiler options>"
echo " -h (to get help on the above commands)"
}
ERROR_EXIT_CODE=1
if test ${1}o = "o"; then
usage
exit ${ERROR_EXIT_CODE}
fi
if test ${XALANCROOT}o = "o"; then
echo ERROR : You have not set your XALANCROOT 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 XALANCROOT to indicate where you installed
echo the XALAN-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
msgloader=inmem # by default use native transcoder
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;;
-r)
thread=$2; shift 2;;
-l)
linkeroption=$2; shift 2;;
-z)
compileroption=$2; shift 2;;
-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 "Extra compile options: $compileroption"
echo "Extra link options: $linkeroption"
echo "Thread option: $thread"
#
# Now check if the options are correct or not, bail out if incorrect
#
case $platform in
aix | linux | solaris | hp-10 | hp-11 | irix | 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...
#
if test $debug = "off"; then
echo "Debug is OFF"
debugflag="-O -DNDEBUG";
else
echo "Debug is ON"
debugflag="-g";
fi
#
# 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
threadingLibs="-lpthreads"
elif test $platform = "hp-10"; then
threadingLibs="-lcma"
threadingDefines="-DXML_USE_DCE"
fi
#
# Set the C compiler and C++ compiler environment variables
#
case $cppcompiler in
xlC | xlc | xlC_r | xlc_r | g++ | c++ | cc | CC | aCC | cxx)
;;
*)
echo "I do not recognize the C++ compiler '$cppcompiler'. Continuing anyway ..."
;;
esac
CC="$ccompiler"
export CC
CXX="$cppcompiler"
export CXX
#
# Set the extra C and C++ compiler flags
#
CXXFLAGS="$compileroption $debugflag $transcodingDefines $threadingDefines"
export CXXFLAGS
CFLAGS="$compileroption $debugflag $transcodingDefines $threadingDefines"
export CFLAGS
LIBS="$transcodingLibs $threadingLibs "
export LIBS
echo
rm -f config.cache
rm -f config.log
rm -f config.status
./configure
echo
echo If the result of the above commands look OK to you, go to the directory
echo ${XALANCROOT}/src and type \"make\" to make the XALAN-C system.
exit 0;