1 /* 2 * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 #ifndef _DEFINES_H 27 #define _DEFINES_H 28 29 #include "java.h" 30 31 #define STR_HELPER(x) #x 32 #define STR(x) STR_HELPER(x) 33 34 /* 35 * This file contains commonly defined constants used only by main.c 36 * and should not be included by another file. 37 */ 38 #ifndef VERSION_STRING 39 /* make sure the compilation fails */ 40 #error "VERSION_STRING must be defined" 41 #endif 42 43 #if defined(VERSION_MAJOR) && defined(VERSION_MINOR) 44 #define DOT_VERSION STR(VERSION_MAJOR) "." STR(VERSION_MINOR) 45 #else 46 /* make sure the compilation fails */ 47 #error "JDK_MAJOR_VERSION and JDK_MINOR_VERSION must be defined" 48 #endif 49 50 51 #ifdef JAVA_ARGS 52 #define HAS_JAVA_ARGS JNI_TRUE 53 static const char* const_progname = "java"; 54 static const char* const_jargs[] = JAVA_ARGS; 55 /* 56 * ApplicationHome is prepended to each of these entries; the resulting 57 * strings are concatenated (separated by PATH_SEPARATOR) and used as the 58 * value of -cp option to the launcher. 59 */ 60 #ifndef APP_CLASSPATH 61 #define APP_CLASSPATH { "/lib/tools.jar", "/classes" } 62 #endif /* APP_CLASSPATH */ 63 static const char* const_appclasspath[] = APP_CLASSPATH; 64 #else /* !JAVA_ARGS */ 65 #define HAS_JAVA_ARGS JNI_FALSE 66 #ifdef PROGNAME 67 static const char* const_progname = PROGNAME; 68 #else 69 static char* const_progname = NULL; 70 #endif 71 static const char** const_jargs = NULL; 72 static const char** const_appclasspath = NULL; 73 #endif /* JAVA_ARGS */ 74 75 #ifdef LAUNCHER_NAME 76 static const char* const_launcher = LAUNCHER_NAME; 77 #else /* LAUNCHER_NAME */ 78 static char* const_launcher = NULL; 79 #endif /* LAUNCHER_NAME */ 80 81 #ifdef EXPAND_CLASSPATH_WILDCARDS 82 static const jboolean const_cpwildcard = JNI_TRUE; 83 #else 84 static const jboolean const_cpwildcard = JNI_FALSE; 85 #endif /* EXPAND_CLASSPATH_WILDCARDS */ 86 87 #if defined(NEVER_ACT_AS_SERVER_CLASS_MACHINE) 88 static const jint const_ergo_class = NEVER_SERVER_CLASS; 89 #elif defined(ALWAYS_ACT_AS_SERVER_CLASS_MACHINE) 90 static const jint const_ergo_class = ALWAYS_SERVER_CLASS; 91 #else 92 static const jint const_ergo_class = DEFAULT_POLICY; 93 #endif /* NEVER_ACT_AS_SERVER_CLASS_MACHINE */ 94 95 #endif /*_DEFINES_H */