00001 /*! 00002 * @file config.h 00003 * 00004 * @brief Boot JVM build configuration. 00005 * 00006 * Top-level configuration declarations. 00007 * Auto-generated by @link ./config.sh config.sh@endlink 00008 * on Fri Sep 30 18:46:23 CDT 2005: 00009 * <b>@verbatim 00010 00011 DO NOT MODIFY! 00012 00013 @endverbatim</b> 00014 * 00015 * @section Control 00016 * 00017 * Id: Auto-generated by @c @b config.sh 00018 * 00019 * Copyright 2005 The Apache Software Foundation 00020 * or its licensors, as applicable. 00021 * 00022 * Licensed under the Apache License, Version 2.0 ("the License"); 00023 * you may not use this file except in compliance with the License. 00024 * You may obtain a copy of the License at 00025 * 00026 * http://www.apache.org/licenses/LICENSE-2.0 00027 * 00028 * Unless required by applicable law or agreed to in writing, 00029 * software distributed under the License is distributed on an 00030 * AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 00031 * either express or implied. 00032 * 00033 * See the License for the specific language governing permissions 00034 * and limitations under the License. 00035 * 00036 * @version N/A 00037 * 00038 * @date Fri Sep 30 18:46:23 CDT 2005 00039 * 00040 * @author dan 00041 * 00042 * @section Reference 00043 * 00044 */ 00045 00046 /*! 00047 * @def CONFIG_PROGRAM_NAME 00048 * @brief Short project name string 00049 * 00050 * The program name string is used in both the source 00051 * and in the documentation title. It is known between 00052 * this header and the Doxygen setup, where it is 00053 * called @c @b PROJECT_NAME in that parlance. The 00054 * definition of @link #CONFIG_PROGRAM_DESCRIPTION 00055 CONFIG_PROGRAM_DESCRIPTION@endlink is appended to 00056 * @c @b CONFIG_PROJECT_NAME to form the 00057 * text 'CONFIG_PROGRAM_NAME: CONFIG_PROGRAM_DESCRIPTION' 00058 * in that location. 00059 * 00060 */ 00061 #define CONFIG_PROGRAM_NAME "BootJVM" 00062 00063 /*! 00064 * @def CONFIG_PROGRAM_DESCRIPTION 00065 * @brief Short description string of project function 00066 * 00067 * The program description is a short string describing 00068 * the functionality of the program. It is known commonly 00069 * between this header and the Doxygen setup, where it is 00070 * called @c @b PROJECT_NAME in that parlance. The 00071 * definition of @c @b CONFIG_PROGRAM_DESCRIPTION is appended 00072 * to @link #CONFIG_PROGRAM_NAME CONFIG_PROGRAM_NAME@endlink 00073 * to form the 00074 * text 'CONFIG_PROGRAM_NAME: CONFIG_PROGRAM_DESCRIPTION' 00075 * in that location. 00076 * 00077 */ 00078 #define CONFIG_PROGRAM_DESCRIPTION "Apache Harmony Bootstrap JVM" 00079 00080 /*! 00081 * @def CONFIG_RELEASE_LEVEL 00082 * @brief Project release as major, minor, and patchlevel 00083 * 00084 * The release number is stored in a three-field tuple 00085 * as 'major.minor.patchlevel'. It is known commonly 00086 * between this header and the Doxygen setup, where it 00087 * is called @c @b PROJECT_NUMBER in that parlance. 00088 * 00089 */ 00090 #define CONFIG_RELEASE_LEVEL "0.0.0" 00091 00092 /*! 00093 * @def CONFIG_WORDWIDTH32 00094 * @brief Number of bits in real machine integer word. 00095 * 00096 * This value may be either @b 32 or @b 64. 00097 * 00098 */ 00099 #define CONFIG_WORDWIDTH32 00100 00101 /*! 00102 * @def CONFIG_SPARC 00103 * @brief Manufacturer or type of CPU. 00104 * 00105 * This value typically implys a specific CPU architecture 00106 * rather than a manufacturer of a number of them. 00107 * 00108 * @b sparc means Sun's SPARC CPU architecture. 00109 * 00110 * @b intel means Intel's x86 CPU architecture. 00111 * 00112 */ 00113 #define CONFIG_SPARC 00114 00115 /*! 00116 * @def CONFIG_SPARC32 00117 * @brief Combination of CONFIG_SPARC and CONFIG_WORDWIDTH32. 00118 * 00119 */ 00120 #define CONFIG_SPARC32 00121 00122 /*! 00123 * @def CONFIG_SOLARIS 00124 * @brief Operating system name. 00125 * 00126 * This value may be @b solaris or @b linux or @b windows. 00127 * 00128 * @b solaris means Sun's premier Unix architecture operating system 00129 * 00130 * @b linix means the open-source Unix architecture operating system 00131 * 00132 * @b windows means Microsoft's proprietary operating system. 00133 * 00134 * Notice that, with the exception of @b windows, various CPU 00135 * architectures may run various operating systems. 00136 * 00137 */ 00138 #define CONFIG_SOLARIS 00139 00140 /*! 00141 * @def CONFIG_SOLARIS32 00142 * @brief Combination of CONFIG_SOLARIS and CONFIG_WORDWIDTH32. 00143 * 00144 */ 00145 #define CONFIG_SOLARIS32 00146 00147 /*! 00148 * @def CONFIG_HACKED_RTJARFILE 00149 * @brief Location of run-time Java class library archive. 00150 * 00151 * This JAR file name may be appended to @b BOOTCLASSPATH 00152 * as a development hack to provide a default startup class 00153 * library until the project has something better. This 00154 * file name points to the JRE run-time class library archive 00155 * file name as requested from user input by 00156 * @c @b config.sh at configuration time. 00157 * 00158 * This symbol may be removed via @c @b \#undef in 00159 * @link jvm/src/jvmcfg.h jvmcfg.h @endlink if desired without 00160 * changing its definition here in this file. 00161 * 00162 * @todo Put fuller definition for this symbol and its 00163 * usage into the code in 00164 * @link jvm/src/classpath.c classpath.c @endlink. 00165 * 00166 * @todo Need to find some other way to locate the class 00167 * library archive in the JDK so that @e any JDK may 00168 * be considered (initially). Need to ultimately 00169 * change out the logic that uses it over time to 00170 * begin looking for natively constructed class 00171 * library archive instead of leaning on outside work. 00172 * 00173 */ 00174 #define CONFIG_HACKED_RTJARFILE "jre/lib/rt.jar" 00175 00176 /*! 00177 * @def CONFIG_HACKED_BOOTCLASSPATH 00178 * @brief Location of provisional run-time Java startup classes. 00179 * 00180 * Internally append this name onto the end of @b CLASSPATH 00181 * as a development hack to provide a default startup class 00182 * library until the project has something better. This 00183 * directory name points to the @b bootclasspath directory 00184 * as created by @c @b config.sh at configuration time. 00185 * 00186 * This symbol may be removed via @c @b \#undef in 00187 * @link jvm/src/jvmcfg.h jvmcfg.h @endlink if desired without 00188 * changing its definition here in this file. 00189 * 00190 * @todo Put fuller definition for this symbol and its 00191 * usage into the code in 00192 * @link jvm/src/classpath.c classpath.c @endlink 00193 * and @link jvm/src/argv.c argv.c @endlink. 00194 * 00195 * @todo Remove compiled absolute path name in favor or 00196 * either a relative path name or removal of this 00197 * symbol from the logic entirely. 00198 * 00199 */ 00200 #define CONFIG_HACKED_BOOTCLASSPATH "/home/dlydick/harmony/bootJVM/bootclasspath" 00201 00202 00203 /*! 00204 * @def CONFIG_HEAP_TYPE_SIMPLE 00205 * @brief Heap allocation method 00206 * 00207 * This value may be @b simple or @b bimodal or @b other. 00208 * 00209 * @b simple means @c @b malloc(3)/free(3) only 00210 * 00211 * @b bimodal means @c @b malloc(3)/free(3) plus a large buffer 00212 * 00213 * @b other means roll your own-- generates unresolved 00214 * external symbols. 00215 * 00216 * Refer to 00217 * @link jvm/src/heap_bimodal.c heap_bimodal.c@endlink 00218 * for a good example as to how to implement the heap API and 00219 * incorporate it into the suite of heap allocation options. 00220 * Remember also to add it to 00221 * @link ./config.sh config.sh@endlink 00222 * so others may configure and use it. 00223 * 00224 */ 00225 #define CONFIG_HEAP_TYPE_SIMPLE 00226 00227 /*! 00228 * @def CONFIG_GC_TYPE_STUB 00229 * @brief Garbage collection method 00230 * 00231 * This value may be @b stub or @b other. 00232 * 00233 * @b stub means API only, no content 00234 * 00235 * @b other means roll your own-- generates unresolved 00236 * external symbols. 00237 * 00238 * Refer to 00239 * @link jvm/src/heap_bimodal.c heap_bimodal.c@endlink 00240 * for a good example as to how to implement the heap API and 00241 * incorporate it into the suite of heap allocation options. 00242 * The garbage collection API is similarly implemented. 00243 * Remember also to add it to 00244 * @link ./config.sh config.sh@endlink 00245 * so others may configure and use it. 00246 * 00247 */ 00248 #define CONFIG_GC_TYPE_STUB 00249 /* EOF */ 00250