Main Page | Namespace List | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

config.sh

Go to the documentation of this file.
00001  *
00002 /*!
00003  * @file ./config.sh
00004  *
00005  * @brief Configure Boot JVM.
00006  *
00007  * Shell script to configure which features are in the compiled code.
00008  * This build happens in several phases:
00009  *
00010  * <ul>
00011  * <li>
00012  * <b>(1)</b> Pre-formatted documentation
00013  * </li>
00014  * <li>
00015  * <b>(2)</b> Java Setup
00016  * </li>
00017  * <li>
00018  * <b>(3)</b> C Compilation and Document Compilation Setup
00019  * </li>
00020  * <li>
00021  * <b>(4)</b> Startup Library (bootclasspath) Java classes
00022  * </li>
00023  * <li>
00024  * <b>(5)</b> Source code build-- Invokes 'build.sh', which may be
00025  *                         used for all further compilations.
00026  * </li>
00027  * </ul>
00028  *
00029  * Remember that if you add a Java source file, a C source or header
00030  * file, or a shell script, you should run this script again so that
00031  * the @b config directory roster locates the update.  This way,
00032  * 'doxygen' will automatically incorporate it into the documentation
00033  * suite.
00034  *
00035  * @todo Support the following input parameter format:
00036  *
00037  * Input:   [hwvendor [wordwidth [osname]]]
00038  *
00039  * These optional positional parameters contain specific token values,
00040  * which may change from one release to the next.  Initially, they are
00041  * as follows.  For current actual supported platform values, please
00042  * refer to parsing of positional parms $1 and $2 and $3 below.
00043  *
00044  * <ul>
00045  *         <li>hwvendor     Keyword for supported hardware platform.
00046  *                          Initially @b sparc and @b intel
00047  *
00048  *         </li>
00049  *         <li>wordwidth    Keyword for hardware word size.
00050  *                          Initialiy either @b 32 and @b 64
00051  *         </li>
00052  *         <li>osname       Keyword for operating system name.
00053  *                          Initially @b solaris and @b linux and
00054  *                          @b windows.
00055  *         </li>
00056  * </ul>
00057  *
00058  * These may evolve over time, and not every combination of these
00059  * is valid.  The initial valid combinations are:
00060  *
00061  * (hwvendor, wordwidth, osname) ::=   one of these combinations:
00062  *
00063  * <ul>
00064  *     <li>(sparc, 32, solaris)
00065  *     </li>
00066  *     <li>(sparc, 64, solaris)
00067  *     </li>
00068  *     <li>(sparc, 32, linux)
00069  *     </li>
00070  *     <li>(sparc, 64, linux)
00071  *     </li>
00072  *     <li>(intel, 32, solaris)
00073  *     </li>
00074  *     <li>(intel, 32, linux)
00075  *     </li>
00076  *     <li>(intel, 64, solaris)
00077  *     </li>
00078  *     <li>(intel, 64, linux)
00079  *     </li>
00080  *     <li>(intel, 32, windows)
00081  *     </li>
00082  *     <li>(amd,   64, windows)... JDK for AMD64 coming soon from Sun.
00083  *     </li>
00084  * </ul>
00085  *
00086  *
00087  * @todo  A Windows .BAT version of this script needs to be written
00088  *
00089  *
00090  * @section Control
00091  *
00092  * \$URL: https://svn.apache.org/path/name/config.sh $ \$Id: config.sh 0 09/28/2005 dlydick $
00093  *
00094  * Copyright 2005 The Apache Software Foundation
00095  * or its licensors, as applicable.
00096  *
00097  * Licensed under the Apache License, Version 2.0 ("the License");
00098  * you may not use this file except in compliance with the License.
00099  * You may obtain a copy of the License at
00100  *
00101  *     http://www.apache.org/licenses/LICENSE-2.0
00102  *
00103  * Unless required by applicable law or agreed to in writing,
00104  * software distributed under the License is distributed on an
00105  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
00106  * either express or implied.
00107  *
00108  * See the License for the specific language governing permissions
00109  * and limitations under the License.
00110  *
00111  * @version \$LastChangedRevision: 0 $
00112  *
00113  * @date \$LastChangedDate: 09/28/2005 $
00114  *
00115  * @author \$LastChangedBy: dlydick $
00116  *         Original code contributed by Daniel Lydick on 09/28/2005.
00117  *
00118  * @section Reference
00119  *
00120  */ /* 
00121  * (Use  #! and #/ with dox_filter.sh to fool Doxygen into
00122  * parsing this non-source text file for the documentation set.
00123  * Use the above open comment to force termination of parsing
00124  * since it is not a Doxygen-style 'C' comment.)
00125  *
00126  *
00127  *##################################################################
00128  *
00129  * Script setup
00130  *
00131  * `dirname $0` for shells without that utility
00132  * `basename $0` for shells without that utility
00133  *##################################################################
00134  *
00135  * Constant values
00136  *
00137  *##################################################################
00138  *
00139  * Introduction
00140  *
00141  * Do not indent so that more text may be put on each line:
00142  *##################################################################
00143  *
00144  * Set up phase 1:  Pre-formatted documentation
00145  *
00146  *##################################################################
00147  *
00148  * Set up and run phase 2:  Java compilation setup
00149  *
00150  *##################################################################
00151  *
00152  * Set up phase 3:  C Compilation and Document Compilation Setup
00153  *
00154  *##################################################################
00155  *
00156  * Set up phase 4: Extract startup classes for system bootstrap
00157  *
00158  * Extract selected classes from '$CONFIG_RTJARFILE' for use
00159  * during system startup.  This is a convenient workaround for
00160  * when the JAR extraction logic is not yet available.
00161  *
00162  * These classes are required for proper initialization of the
00163  * JVM.  Any others, which are listed in 'src/jvmclass.h' may
00164  * be included also.  The minimum set is:
00165  *
00166  *     #define JVM_STARTCLASS_JAVA_LANG_OBJECT "java/lang/Object"
00167  *     #define JVM_STARTCLASS_JAVA_LANG_VOID   "java/lang/Void"
00168  *     #define JVM_STARTCLASS_JAVA_LANG_STRING "java/lang/String"
00169  *     #define JVM_STARTCLASS_JAVA_LANG_STRING "java/lang/Thread"
00170  *
00171  * Squeeze msg onto 80-columns (just a matter of text standards and form)
00172  *##################################################################
00173  *
00174  * Set up phase 5:  Build binary and documentation from source code
00175  *
00176  *##################################################################
00177  *
00178  * Run phase 1:  Pre-formatted documentation
00179  *
00180  *##################################################################
00181  *
00182  * Run phase 3:  C Compilation and Document Compilation Setup
00183  *
00184  * (Phase 2 did setup and run all above.)
00185  *
00186  * Always pack structures, support static copyright info strings
00187  *############################
00188  *
00189  * END set up 'config' directory.
00190  *
00191  *##################################################################
00192  *
00193  * Run phase 4: Extract startup classes for system bootstrap
00194  *
00195  *############################
00196  *
00197  * END set up 'bootclasspath' directory.  Now report config results:
00198  *
00199  *##################################################################
00200  *
00201  * Run phase 5:  Build binary from source code
00202  *
00203  *##################################################################
00204  *
00205  * Done.  Return with exit code from build script.
00206  *
00207  *
00208  * EOF
00209 

Generated on Fri Sep 30 18:48:52 2005 by  doxygen 1.4.4