common/autoconf/jdk-options.m4

changeset 1028
feeb67be5886
parent 990
6f48c590bae5
parent 972
f3697e0783e2
child 1133
50aaf272884f
child 1138
2eec717223fb
child 1253
01a985323484
equal deleted inserted replaced
1027:065b9ded4bf2 1028:feeb67be5886
47 fi 47 fi
48 48
49 AC_SUBST(JDK_VARIANT) 49 AC_SUBST(JDK_VARIANT)
50 50
51 AC_MSG_RESULT([$JDK_VARIANT]) 51 AC_MSG_RESULT([$JDK_VARIANT])
52 ])
53
54 AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_INTERPRETER],
55 [
56 ###############################################################################
57 #
58 # Check which interpreter of the JVM we want to build.
59 # Currently we have:
60 # template: Template interpreter (the default)
61 # cpp : C++ interpreter
62 AC_MSG_CHECKING([which interpreter of the JVM to build])
63 AC_ARG_WITH([jvm-interpreter], [AS_HELP_STRING([--with-jvm-interpreter],
64 [JVM interpreter to build (template, cpp) @<:@template@:>@])])
65
66 if test "x$with_jvm_interpreter" = x; then
67 with_jvm_interpreter="template"
68 fi
69
70 JVM_INTERPRETER="$with_jvm_interpreter"
71
72 if test "x$JVM_INTERPRETER" != xtemplate && test "x$JVM_INTERPRETER" != xcpp; then
73 AC_MSG_ERROR([The available JVM interpreters are: template, cpp])
74 fi
75
76 AC_SUBST(JVM_INTERPRETER)
77
78 AC_MSG_RESULT([$with_jvm_interpreter])
52 ]) 79 ])
53 80
54 AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_VARIANTS], 81 AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_VARIANTS],
55 [ 82 [
56 83
63 # minimal1: reduced form of client with optional VM services and features stripped out 90 # minimal1: reduced form of client with optional VM services and features stripped out
64 # kernel: kernel footprint JVM that passes the TCK without major performance problems, 91 # kernel: kernel footprint JVM that passes the TCK without major performance problems,
65 # ie normal interpreter and C1, only the serial GC, kernel jvmti etc 92 # ie normal interpreter and C1, only the serial GC, kernel jvmti etc
66 # zero: no machine code interpreter, no compiler 93 # zero: no machine code interpreter, no compiler
67 # zeroshark: zero interpreter and shark/llvm compiler backend 94 # zeroshark: zero interpreter and shark/llvm compiler backend
95 # core: interpreter only, no compiler (only works on some platforms)
68 AC_MSG_CHECKING([which variants of the JVM to build]) 96 AC_MSG_CHECKING([which variants of the JVM to build])
69 AC_ARG_WITH([jvm-variants], [AS_HELP_STRING([--with-jvm-variants], 97 AC_ARG_WITH([jvm-variants], [AS_HELP_STRING([--with-jvm-variants],
70 [JVM variants (separated by commas) to build (server, client, minimal1, kernel, zero, zeroshark) @<:@server@:>@])]) 98 [JVM variants (separated by commas) to build (server, client, minimal1, kernel, zero, zeroshark, core) @<:@server@:>@])])
71 99
72 if test "x$with_jvm_variants" = x; then 100 if test "x$with_jvm_variants" = x; then
73 with_jvm_variants="server" 101 with_jvm_variants="server"
74 fi 102 fi
75 103
76 JVM_VARIANTS=",$with_jvm_variants," 104 JVM_VARIANTS=",$with_jvm_variants,"
77 TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//' -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'` 105 TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//' -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//' -e 's/core,//'`
78 106
79 if test "x$TEST_VARIANTS" != "x,"; then 107 if test "x$TEST_VARIANTS" != "x,"; then
80 AC_MSG_ERROR([The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark]) 108 AC_MSG_ERROR([The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark, core])
81 fi 109 fi
82 AC_MSG_RESULT([$with_jvm_variants]) 110 AC_MSG_RESULT([$with_jvm_variants])
83 111
84 JVM_VARIANT_SERVER=`$ECHO "$JVM_VARIANTS" | $SED -e '/,server,/!s/.*/false/g' -e '/,server,/s/.*/true/g'` 112 JVM_VARIANT_SERVER=`$ECHO "$JVM_VARIANTS" | $SED -e '/,server,/!s/.*/false/g' -e '/,server,/s/.*/true/g'`
85 JVM_VARIANT_CLIENT=`$ECHO "$JVM_VARIANTS" | $SED -e '/,client,/!s/.*/false/g' -e '/,client,/s/.*/true/g'` 113 JVM_VARIANT_CLIENT=`$ECHO "$JVM_VARIANTS" | $SED -e '/,client,/!s/.*/false/g' -e '/,client,/s/.*/true/g'`
86 JVM_VARIANT_MINIMAL1=`$ECHO "$JVM_VARIANTS" | $SED -e '/,minimal1,/!s/.*/false/g' -e '/,minimal1,/s/.*/true/g'` 114 JVM_VARIANT_MINIMAL1=`$ECHO "$JVM_VARIANTS" | $SED -e '/,minimal1,/!s/.*/false/g' -e '/,minimal1,/s/.*/true/g'`
87 JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'` 115 JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'`
88 JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'` 116 JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'`
89 JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'` 117 JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'`
118 JVM_VARIANT_CORE=`$ECHO "$JVM_VARIANTS" | $SED -e '/,core,/!s/.*/false/g' -e '/,core,/s/.*/true/g'`
90 119
91 if test "x$JVM_VARIANT_CLIENT" = xtrue; then 120 if test "x$JVM_VARIANT_CLIENT" = xtrue; then
92 if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then 121 if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
93 AC_MSG_ERROR([You cannot build a client JVM for a 64-bit machine.]) 122 AC_MSG_ERROR([You cannot build a client JVM for a 64-bit machine.])
94 fi 123 fi
104 fi 133 fi
105 fi 134 fi
106 135
107 # Replace the commas with AND for use in the build directory name. 136 # Replace the commas with AND for use in the build directory name.
108 ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'` 137 ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
109 COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/'` 138 COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/' -e 's/core,/1/'`
110 if test "x$COUNT_VARIANTS" != "x,1"; then 139 if test "x$COUNT_VARIANTS" != "x,1"; then
111 BUILDING_MULTIPLE_JVM_VARIANTS=yes 140 BUILDING_MULTIPLE_JVM_VARIANTS=yes
112 else 141 else
113 BUILDING_MULTIPLE_JVM_VARIANTS=no 142 BUILDING_MULTIPLE_JVM_VARIANTS=no
114 fi 143 fi
118 AC_SUBST(JVM_VARIANT_CLIENT) 147 AC_SUBST(JVM_VARIANT_CLIENT)
119 AC_SUBST(JVM_VARIANT_MINIMAL1) 148 AC_SUBST(JVM_VARIANT_MINIMAL1)
120 AC_SUBST(JVM_VARIANT_KERNEL) 149 AC_SUBST(JVM_VARIANT_KERNEL)
121 AC_SUBST(JVM_VARIANT_ZERO) 150 AC_SUBST(JVM_VARIANT_ZERO)
122 AC_SUBST(JVM_VARIANT_ZEROSHARK) 151 AC_SUBST(JVM_VARIANT_ZEROSHARK)
152 AC_SUBST(JVM_VARIANT_CORE)
123 153
124 INCLUDE_SA=true 154 INCLUDE_SA=true
125 if test "x$JVM_VARIANT_ZERO" = xtrue ; then 155 if test "x$JVM_VARIANT_ZERO" = xtrue ; then
126 INCLUDE_SA=false 156 INCLUDE_SA=false
127 fi 157 fi
128 if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then 158 if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
159 INCLUDE_SA=false
160 fi
161 if test "x$VAR_CPU" = xppc64 ; then
129 INCLUDE_SA=false 162 INCLUDE_SA=false
130 fi 163 fi
131 AC_SUBST(INCLUDE_SA) 164 AC_SUBST(INCLUDE_SA)
132 165
133 if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then 166 if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
234 267
235 if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then 268 if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
236 HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}shark " 269 HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}shark "
237 fi 270 fi
238 271
272 if test "x$JVM_VARIANT_CORE" = xtrue; then
273 HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}core "
274 fi
275
239 HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT" 276 HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT"
240 277
241 # On Macosx universal binaries are produced, but they only contain 278 # On Macosx universal binaries are produced, but they only contain
242 # 64 bit intel. This invalidates control of which jvms are built 279 # 64 bit intel. This invalidates control of which jvms are built
243 # from configure, but only server is valid anyway. Fix this 280 # from configure, but only server is valid anyway. Fix this

mercurial