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 */