| #!/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 |
| # <http://www.apache.org/>. |
| # |
| # |
| # $Log$ |
| # Revision 1.9 2000/02/19 00:21:04 abagchi |
| # Changed AS400 to AS400-OS400 |
| # |
| # Revision 1.8 2000/02/09 22:05:52 abagchi |
| # AS/400 change |
| # |
| # Revision 1.7 2000/02/06 07:47:16 rahulj |
| # Year 2K copyright swat. |
| # |
| # Revision 1.6 2000/02/05 01:07:29 rahulj |
| # Under Solaris for some unknown reason test -e did not work. |
| # Changed it to test -x. |
| # |
| # Revision 1.5 2000/02/01 18:49:08 aruna1 |
| # updated instructions |
| # |
| # Revision 1.4 2000/01/05 20:52:16 abagchi |
| # Added a few echo statements to clarify what is actually happening |
| # inside runConfigure. There were a few questions on why we need this |
| # wrapper script. We don't, it's just a convenience. |
| # PR: |
| # Obtained from: |
| # Submitted by: |
| # Reviewed by: |
| # |
| # Revision 1.3 1999/12/02 18:10:51 dirkx |
| # Changed exit codes from -1 to '1'. Added indirection. |
| # |
| # Date: Thu, 2 Dec 1999 17:47:39 +0000 |
| # From: Jonathan McDowell <noodles@earth.li> |
| # Reply-To: xerces-dev@xml.apache.org |
| # To: xerces-dev@xml.apache.org, rahulj@apache.org |
| # Subject: Re: runConfigure script & bash |
| # |
| # |
| # On Mon, Nov 29, 1999 at 10:29:13AM -0800, Rahul Jain wrote: |
| # |
| # > > I'm quite happy to produce a patch that makes it work under both |
| # > > FreeBSD's sh and bash - I would assume this would work under most sh |
| # > > like shells. |
| # > Please post the changes for FreeBSD and I will test the changes on |
| # > other unix's and do the integration. |
| # |
| # I sat down to do this today and found that it can be trivially fixed by |
| # changing all the "exit -1" instances to "exit 1" - it seems the /bin/sh |
| # with FreeBSD doesn't like negative result codes. It seems a bit |
| # pointless to submit a patch for this, so can someone with CVS access |
| # change this please? |
| # |
| # J. |
| # |
| # -- |
| # |
| # PR: |
| # Obtained from: |
| # Submitted by: |
| # Reviewed by: |
| # |
| # Revision 1.2 1999/11/12 19:12:40 abagchi |
| # Changed instances of XML4CROOT to XERCESCROOT |
| # |
| # Revision 1.1.1.1 1999/11/09 01:09:26 twl |
| # Initial checkin |
| # |
| # Revision 1.4 1999/11/08 20:43:34 rahul |
| # Swat for adding in Product name and CVS comment log variable. |
| # |
| # |
| |
| # |
| # 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', 'solaris', 'hp-10', 'hp-11', 'os400')" |
| echo " -c <C compiler name> (e.g. gcc, xlc or icc)" |
| echo " -x <C++ compiler name> (e.g. g++, xlC, or icc)" |
| echo " -d (specifies that you want to build debug version)" |
| 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 |
| 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 |
| |
| 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;; |
| |
| -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" |
| 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 | linux | solaris | hp-10 | hp-11 | os400) |
| # 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 | xlC_r | xlc_r) |
| LDFLAGS="-lC"; export LDFLAGS |
| LIBS="-L/usr/lpp/xlC/lib"; export LIBS ;; |
| |
| g++ | c++) |
| LDFLAGS="-lc"; export LDFLAGS |
| LIBS="-L/usr/local/lib"; export LIBS ;; |
| |
| cc | CC) |
| LDFLAGS="-lC"; export LDFLAGS |
| LIBS="-L/usr/lib -L/usr/ccs/lib"; export LIBS ;; |
| |
| acc | aCC) |
| LDFLAGS="-lC"; export LDFLAGS |
| LIBS="-L/usr/lib -L/opt/aCC/lib"; export LIBS ;; |
| |
| icc | ICC) |
| ;; |
| *) |
| echo "I do not recognize the C++ compiler '$cppcompiler'. Continuing anyway ..." |
| ;; |
| esac |
| |
| # Set the extra C and C++ compiler flags |
| CXXFLAGS="$debugflag $compileroption"; export CXXFLAGS |
| CFLAGS="$debugflag $compileroption"; export CFLAGS |
| |
| echo |
| rm -f config.cache |
| rm -f config.log |
| rm -f config.status |
| if test $platform = "os400"; then |
| ./configure --host AS400-OS400 |
| 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; |
| |