blob: 9b07d6015a7823c1846daa33ffeb9705295abb35 [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001/*
2 * Copyright 2005-2006 Sun Microsystems, Inc. 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. Sun designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 * CA 95054 USA or visit www.sun.com if you need additional information or
23 * have any questions.
24 */
25
26#ifndef _DEFINES_H
27#define _DEFINES_H
28
29#include "java.h"
30
31/*
32 * This file contains commonly defined constants used only by main.c
33 * and should not be included by another file.
34 */
35#ifndef FULL_VERSION
36/* make sure the compilation fails */
37#error "FULL_VERSION must be defined"
38#endif
39
40#if defined(JDK_MAJOR_VERSION) && defined(JDK_MINOR_VERSION)
41#define DOT_VERSION JDK_MAJOR_VERSION "." JDK_MINOR_VERSION
42#else
43/* make sure the compilation fails */
44#error "JDK_MAJOR_VERSION and JDK_MINOR_VERSION must be defined"
45#endif
46
47
48#ifdef JAVA_ARGS
49static const char* const_progname = "java";
50static const char* const_jargs[] = JAVA_ARGS;
51/*
52 * ApplicationHome is prepended to each of these entries; the resulting
53 * strings are concatenated (separated by PATH_SEPARATOR) and used as the
54 * value of -cp option to the launcher.
55 */
56#ifndef APP_CLASSPATH
57#define APP_CLASSPATH { "/lib/tools.jar", "/classes" }
58#endif /* APP_CLASSPATH */
59static const char* const_appclasspath[] = APP_CLASSPATH;
60#else /* !JAVA_ARGS */
61#ifdef PROGNAME
62static const char* const_progname = PROGNAME;
63#else
64static char* const_progname = NULL;
65#endif
66static const char** const_jargs = NULL;
67static const char** const_appclasspath = NULL;
68#endif /* JAVA_ARGS */
69
70#ifdef LAUNCHER_NAME
71static const char* const_launcher = LAUNCHER_NAME;
72#else /* LAUNCHER_NAME */
73static char* const_launcher = NULL;
74#endif /* LAUNCHER_NAME */
75
76#ifdef EXPAND_CLASSPATH_WILDCARDS
77static const jboolean const_cpwildcard = JNI_TRUE;
78#else
79static const jboolean const_cpwildcard = JNI_FALSE;
80#endif /* EXPAND_CLASSPATH_WILDCARDS */
81
82#if defined(NEVER_ACT_AS_SERVER_CLASS_MACHINE)
83static const jint const_ergo_class = NEVER_SERVER_CLASS;
84#elif defined(ALWAYS_ACT_AS_SERVER_CLASS_MACHINE)
85static const jint const_ergo_class = ALWAYS_SERVER_CLASS;
86#else
87static const jint const_ergo_class = DEFAULT_POLICY;
88#endif /* NEVER_ACT_AS_SERVER_CLASS_MACHINE */
89
90#endif /*_DEFINES_H */