21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
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 |
22 # or visit www.oracle.com if you need additional information or have any |
23 # questions. |
23 # questions. |
24 # |
24 # |
25 |
25 |
26 # Fixes paths on windows to be mixed mode short. |
26 # Execute the check given as argument, and verify the result |
27 AC_DEFUN([BOOTJDK_WIN_FIX_PATH], |
27 # If the Boot JDK was previously found, do nothing |
28 [ |
28 # $1 A command line (typically autoconf macro) to execute |
29 if test "x$OPENJDK_BUILD_OS" = "xwindows"; then |
29 AC_DEFUN([BOOTJDK_DO_CHECK], |
30 AC_PATH_PROG(CYGPATH, cygpath) |
30 [ |
31 tmp="[$]$1" |
31 if test "x$BOOT_JDK_FOUND" = xno; then |
32 # Convert to C:/ mixed style path without spaces. |
32 # Now execute the test |
33 tmp=`$CYGPATH -s -m "$tmp"` |
33 $1 |
34 $1="$tmp" |
34 |
35 fi |
35 # If previous step claimed to have found a JDK, check it to see if it seems to be valid. |
36 ]) |
36 if test "x$BOOT_JDK_FOUND" = xmaybe; then |
37 |
37 # Do we have a bin/java? |
38 AC_DEFUN([BOOTJDK_MISSING_ERROR], |
38 if test ! -x "$BOOT_JDK/bin/java"; then |
39 [ |
39 AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK did not contain bin/java; ignoring]) |
40 AC_MSG_NOTICE([This might be fixed by explicitely setting --with-boot-jdk]) |
40 BOOT_JDK_FOUND=no |
41 AC_MSG_ERROR([Cannot continue]) |
41 else |
42 ]) |
42 # Do we have a bin/javac? |
43 |
43 if test ! -x "$BOOT_JDK/bin/javac"; then |
44 ############################################################################### |
44 AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK did not contain bin/javac; ignoring]) |
45 # |
45 AC_MSG_NOTICE([(This might be an JRE instead of an JDK)]) |
46 # We need a Boot JDK to bootstrap the build. |
46 BOOT_JDK_FOUND=no |
47 # |
47 else |
48 |
48 # Do we have an rt.jar? (On MacOSX it is called classes.jar) |
49 AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK], |
49 if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then |
50 [ |
50 AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring]) |
51 BOOT_JDK_FOUND=no |
51 BOOT_JDK_FOUND=no |
52 AC_ARG_WITH(boot-jdk, [AS_HELP_STRING([--with-boot-jdk], |
52 else |
53 [path to Boot JDK (used to bootstrap build) @<:@probed@:>@])]) |
53 # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? |
54 |
54 BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` |
|
55 |
|
56 # Extra M4 quote needed to protect [] in grep expression. |
|
57 [FOUND_VERSION_78=`echo $BOOT_JDK_VERSION | grep '\"1\.[78]\.'`] |
|
58 if test "x$FOUND_VERSION_78" = x; then |
|
59 AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring]) |
|
60 AC_MSG_NOTICE([(Your Boot JDK must be version 7 or 8)]) |
|
61 BOOT_JDK_FOUND=no |
|
62 else |
|
63 # We're done! :-) |
|
64 BOOT_JDK_FOUND=yes |
|
65 SPACESAFE(BOOT_JDK,[the path to the Boot JDK]) |
|
66 AC_MSG_CHECKING([for Boot JDK]) |
|
67 AC_MSG_RESULT([$BOOT_JDK ($BOOT_JDK_VERSION)]) |
|
68 fi # end check jdk version |
|
69 fi # end check rt.jar |
|
70 fi # end check javac |
|
71 fi # end check java |
|
72 fi # end check boot jdk found |
|
73 fi |
|
74 ]) |
|
75 |
|
76 # Test: Is bootjdk explicitely set by command line arguments? |
|
77 AC_DEFUN([BOOTJDK_CHECK_ARGUMENTS], |
|
78 [ |
55 if test "x$with_boot_jdk" != x; then |
79 if test "x$with_boot_jdk" != x; then |
56 BOOT_JDK=$with_boot_jdk |
80 BOOT_JDK=$with_boot_jdk |
57 BOOT_JDK_FOUND=yes |
81 BOOT_JDK_FOUND=maybe |
58 fi |
82 AC_MSG_NOTICE([Found potential Boot JDK using configure arguments]) |
59 if test "x$BOOT_JDK_FOUND" = xno; then |
83 fi |
60 BDEPS_CHECK_MODULE(BOOT_JDK, boot-jdk, xxx, [BOOT_JDK_FOUND=yes], [BOOT_JDK_FOUND=no]) |
84 ]) |
61 fi |
85 |
62 |
86 # Test: Is bootjdk available from builddeps? |
63 if test "x$BOOT_JDK_FOUND" = xno; then |
87 AC_DEFUN([BOOTJDK_CHECK_BUILDDEPS], |
|
88 [ |
|
89 BDEPS_CHECK_MODULE(BOOT_JDK, bootjdk, xxx, [BOOT_JDK_FOUND=maybe], [BOOT_JDK_FOUND=no]) |
|
90 ]) |
|
91 |
|
92 # Test: Is $JAVA_HOME set? |
|
93 AC_DEFUN([BOOTJDK_CHECK_JAVA_HOME], |
|
94 [ |
64 if test "x$JAVA_HOME" != x; then |
95 if test "x$JAVA_HOME" != x; then |
65 if test ! -d "$JAVA_HOME"; then |
96 if test "x$OPENJDK_TARGET_OS" = xwindows; then |
|
97 # On Windows, JAVA_HOME is likely in DOS-style |
|
98 JAVA_HOME_PROCESSED="`$CYGPATH -u "$JAVA_HOME"`" |
|
99 else |
|
100 JAVA_HOME_PROCESSED="$JAVA_HOME" |
|
101 fi |
|
102 if test ! -d "$JAVA_HOME_PROCESSED"; then |
66 AC_MSG_NOTICE([Your JAVA_HOME points to a non-existing directory!]) |
103 AC_MSG_NOTICE([Your JAVA_HOME points to a non-existing directory!]) |
67 BOOTJDK_MISSING_ERROR |
104 else |
|
105 # Aha, the user has set a JAVA_HOME |
|
106 # let us use that as the Boot JDK. |
|
107 BOOT_JDK="$JAVA_HOME_PROCESSED" |
|
108 BOOT_JDK_FOUND=maybe |
|
109 AC_MSG_NOTICE([Found potential Boot JDK using JAVA_HOME]) |
68 fi |
110 fi |
69 # Aha, the user has set a JAVA_HOME |
111 fi |
70 # let us use that as the Boot JDK. |
112 ]) |
71 BOOT_JDK="$JAVA_HOME" |
113 |
72 BOOT_JDK_FOUND=yes |
114 # Test: Is there a java or javac in the PATH, which is a symlink to the JDK? |
73 # To be on the safe side, lets check that it is a JDK. |
115 AC_DEFUN([BOOTJDK_CHECK_JAVA_IN_PATH_IS_SYMLINK], |
74 if test -x "$BOOT_JDK/bin/javac" && test -x "$BOOT_JDK/bin/java"; then |
116 [ |
75 JAVAC="$BOOT_JDK/bin/javac" |
|
76 JAVA="$BOOT_JDK/bin/java" |
|
77 BOOT_JDK_FOUND=yes |
|
78 else |
|
79 AC_MSG_NOTICE([Your JAVA_HOME points to a JRE! The build needs a JDK! Please point JAVA_HOME to a JDK. JAVA_HOME=[$]JAVA_HOME]) |
|
80 BOOTJDK_MISSING_ERROR |
|
81 fi |
|
82 fi |
|
83 fi |
|
84 |
|
85 if test "x$BOOT_JDK_FOUND" = xno; then |
|
86 AC_PATH_PROG(JAVAC_CHECK, javac) |
117 AC_PATH_PROG(JAVAC_CHECK, javac) |
87 AC_PATH_PROG(JAVA_CHECK, java) |
118 AC_PATH_PROG(JAVA_CHECK, java) |
88 BINARY="$JAVAC_CHECK" |
119 BINARY="$JAVAC_CHECK" |
89 if test "x$JAVAC_CHECK" = x; then |
120 if test "x$JAVAC_CHECK" = x; then |
90 BINARY="$JAVA_CHECK" |
121 BINARY="$JAVA_CHECK" |
92 if test "x$BINARY" != x; then |
123 if test "x$BINARY" != x; then |
93 # So there is a java(c) binary, it might be part of a JDK. |
124 # So there is a java(c) binary, it might be part of a JDK. |
94 # Lets find the JDK/JRE directory by following symbolic links. |
125 # Lets find the JDK/JRE directory by following symbolic links. |
95 # Linux/GNU systems often have links from /usr/bin/java to |
126 # Linux/GNU systems often have links from /usr/bin/java to |
96 # /etc/alternatives/java to the real JDK binary. |
127 # /etc/alternatives/java to the real JDK binary. |
97 WHICHCMD_SPACESAFE(BINARY,[path to javac]) |
128 SET_FULL_PATH_SPACESAFE(BINARY) |
98 REMOVE_SYMBOLIC_LINKS(BINARY) |
129 REMOVE_SYMBOLIC_LINKS(BINARY) |
99 BOOT_JDK=`dirname $BINARY` |
130 BOOT_JDK=`dirname "$BINARY"` |
100 BOOT_JDK=`cd $BOOT_JDK/..; pwd` |
131 BOOT_JDK=`cd "$BOOT_JDK/.."; pwd` |
101 if test -x $BOOT_JDK/bin/javac && test -x $BOOT_JDK/bin/java; then |
132 if test -x "$BOOT_JDK/bin/javac" && test -x "$BOOT_JDK/bin/java"; then |
102 JAVAC=$BOOT_JDK/bin/javac |
133 # Looks like we found ourselves an JDK |
103 JAVA=$BOOT_JDK/bin/java |
134 BOOT_JDK_FOUND=maybe |
104 BOOT_JDK_FOUND=yes |
135 AC_MSG_NOTICE([Found potential Boot JDK using java(c) in PATH]) |
105 fi |
136 fi |
106 fi |
137 fi |
107 fi |
138 ]) |
108 |
139 |
109 if test "x$BOOT_JDK_FOUND" = xno; then |
140 # Test: Is there a /usr/libexec/java_home? (Typically on MacOSX) |
110 # Try the MacOSX way. |
141 AC_DEFUN([BOOTJDK_CHECK_LIBEXEC_JAVA_HOME], |
|
142 [ |
111 if test -x /usr/libexec/java_home; then |
143 if test -x /usr/libexec/java_home; then |
112 BOOT_JDK=`/usr/libexec/java_home` |
144 BOOT_JDK=`/usr/libexec/java_home` |
113 if test -x $BOOT_JDK/bin/javac && test -x $BOOT_JDK/bin/java; then |
145 BOOT_JDK_FOUND=maybe |
114 JAVAC=$BOOT_JDK/bin/javac |
146 AC_MSG_NOTICE([Found potential Boot JDK using /usr/libexec/java_home]) |
115 JAVA=$BOOT_JDK/bin/java |
147 fi |
116 BOOT_JDK_FOUND=yes |
148 ]) |
117 fi |
149 |
118 fi |
150 # Look for a jdk in the given path. If there are multiple, try to select the newest. |
119 fi |
151 # If found, set BOOT_JDK and BOOT_JDK_FOUND. |
120 |
152 # $1 = Path to directory containing jdk installations. |
|
153 # $2 = String to append to the found JDK directory to get the proper JDK home |
|
154 AC_DEFUN([BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY], |
|
155 [ |
|
156 BOOT_JDK_PREFIX="$1" |
|
157 BOOT_JDK_SUFFIX="$2" |
|
158 BEST_JDK_FOUND=`$LS "$BOOT_JDK_PREFIX" 2> /dev/null | $GREP jdk | $SORT -r | $HEAD -n 1 ` |
|
159 if test "x$BEST_JDK_FOUND" != x; then |
|
160 BOOT_JDK="${BOOT_JDK_PREFIX}/${BEST_JDK_FOUND}${BOOT_JDK_SUFFIX}" |
|
161 if test -d "$BOOT_JDK"; then |
|
162 BOOT_JDK_FOUND=maybe |
|
163 AC_MSG_NOTICE([Found potential Boot JDK using well-known locations (in $BOOT_JDK_PREFIX)]) |
|
164 fi |
|
165 fi |
|
166 ]) |
|
167 |
|
168 # Call BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY, but use the given |
|
169 # environmental variable as base for where to look. |
|
170 # $1 Name of an environmal variable, assumed to point to the Program Files directory. |
|
171 AC_DEFUN([BOOTJDK_FIND_BEST_JDK_IN_WINDOWS_VIRTUAL_DIRECTORY], |
|
172 [ |
|
173 if test "x[$]$1" != x; then |
|
174 BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY([`$CYGPATH -u "[$]$1"`/Java]) |
|
175 fi |
|
176 ]) |
|
177 |
|
178 # Test: Is there a JDK installed in default, well-known locations? |
|
179 AC_DEFUN([BOOTJDK_CHECK_WELL_KNOWN_LOCATIONS], |
|
180 [ |
|
181 if test "x$OPENJDK_TARGET_OS" = xwindows; then |
|
182 BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_WINDOWS_VIRTUAL_DIRECTORY([ProgramW6432])]) |
|
183 BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_WINDOWS_VIRTUAL_DIRECTORY([PROGRAMW6432])]) |
|
184 BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_WINDOWS_VIRTUAL_DIRECTORY([PROGRAMFILES])]) |
|
185 BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_WINDOWS_VIRTUAL_DIRECTORY([ProgramFiles])]) |
|
186 BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY([/cygdrive/c/Program Files/Java])]) |
|
187 elif test "x$OPENJDK_TARGET_OS" = xmacosx; then |
|
188 BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY([/Library/Java/JavaVirtualMachines],[/Contents/Home])]) |
|
189 BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY([/System/Library/Java/JavaVirtualMachines],[/Contents/Home])]) |
|
190 fi |
|
191 ]) |
|
192 |
|
193 # Check that a command-line tool in the Boot JDK is correct |
|
194 # $1 = name of variable to assign |
|
195 # $2 = name of binary |
|
196 AC_DEFUN([BOOTJDK_CHECK_TOOL_IN_BOOTJDK], |
|
197 [ |
|
198 AC_MSG_CHECKING([for $2 in Boot JDK]) |
|
199 $1=$BOOT_JDK/bin/$2 |
|
200 if test ! -x [$]$1; then |
|
201 AC_MSG_RESULT(not found) |
|
202 AC_MSG_NOTICE([Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk]) |
|
203 AC_MSG_ERROR([Could not find $2 in the Boot JDK]) |
|
204 fi |
|
205 AC_MSG_RESULT(ok) |
|
206 ]) |
|
207 |
|
208 ############################################################################### |
|
209 # |
|
210 # We need a Boot JDK to bootstrap the build. |
|
211 # |
|
212 |
|
213 AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK], |
|
214 [ |
|
215 BOOT_JDK_FOUND=no |
|
216 AC_ARG_WITH(boot-jdk, [AS_HELP_STRING([--with-boot-jdk], |
|
217 [path to Boot JDK (used to bootstrap build) @<:@probed@:>@])]) |
|
218 |
|
219 # We look for the Boot JDK through various means, going from more certain to |
|
220 # more of a guess-work. After each test, BOOT_JDK_FOUND is set to "yes" if |
|
221 # we detected something (if so, the path to the jdk is in BOOT_JDK). But we |
|
222 # must check if this is indeed valid; otherwise we'll continue looking. |
|
223 |
|
224 # Test: Is bootjdk explicitely set by command line arguments? |
|
225 BOOTJDK_DO_CHECK([BOOTJDK_CHECK_ARGUMENTS]) |
|
226 if test "x$with_boot_jdk" != x && test "x$BOOT_JDK_FOUND" = xno; then |
|
227 # Having specified an argument which is incorrect will produce an instant failure; |
|
228 # we should not go on looking |
|
229 AC_MSG_ERROR([The path given by --with-boot-jdk does not contain a valid Boot JDK]) |
|
230 fi |
|
231 |
|
232 # Test: Is bootjdk available from builddeps? |
|
233 BOOTJDK_DO_CHECK([BOOTJDK_CHECK_BUILDDEPS]) |
|
234 |
|
235 # Test: Is $JAVA_HOME set? |
|
236 BOOTJDK_DO_CHECK([BOOTJDK_CHECK_JAVA_HOME]) |
|
237 |
|
238 # Test: Is there a /usr/libexec/java_home? (Typically on MacOSX) |
|
239 BOOTJDK_DO_CHECK([BOOTJDK_CHECK_LIBEXEC_JAVA_HOME]) |
|
240 |
|
241 # Test: Is there a java or javac in the PATH, which is a symlink to the JDK? |
|
242 BOOTJDK_DO_CHECK([BOOTJDK_CHECK_JAVA_IN_PATH_IS_SYMLINK]) |
|
243 |
|
244 # Test: Is there a JDK installed in default, well-known locations? |
|
245 BOOTJDK_DO_CHECK([BOOTJDK_CHECK_WELL_KNOWN_LOCATIONS]) |
|
246 |
|
247 # If we haven't found anything yet, we've truly lost. Give up. |
121 if test "x$BOOT_JDK_FOUND" = xno; then |
248 if test "x$BOOT_JDK_FOUND" = xno; then |
122 AC_PATH_PROG(JAVA_CHECK, java) |
249 HELP_MSG_MISSING_DEPENDENCY([openjdk]) |
123 if test "x$JAVA_CHECK" != x; then |
250 AC_MSG_NOTICE([Could not find a valid Boot JDK. $HELP_MSG]) |
124 # There is a java in the path. But apparently we have not found a javac |
251 AC_MSG_NOTICE([This might be fixed by explicitely setting --with-boot-jdk]) |
125 # in the path, since that would have been tested earlier. |
252 AC_MSG_ERROR([Cannot continue]) |
126 if test "x$OPENJDK_TARGET_OS" = xwindows; then |
253 fi |
127 # Now if this is a windows platform. The default installation of a JDK |
254 |
128 # actually puts the JRE in the path and keeps the JDK out of the path! |
255 # Setup proper paths for what we found |
129 # Go look in the default installation location. |
|
130 BOOT_JDK=/cygdrive/c/Program\ Files/Java/`ls /cygdrive/c/Program\ Files/Java | grep jdk | sort -r | head --lines 1` |
|
131 if test -d "$BOOT_JDK"; then |
|
132 BOOT_JDK_FOUND=yes |
|
133 fi |
|
134 fi |
|
135 if test "x$BOOT_JDK_FOUND" = xno; then |
|
136 HELP_MSG_MISSING_DEPENDENCY([openjdk]) |
|
137 AC_MSG_NOTICE([Found a JRE, not not a JDK! Please remove the JRE from your path and put a JDK there instead. $HELP_MSG]) |
|
138 BOOTJDK_MISSING_ERROR |
|
139 fi |
|
140 else |
|
141 HELP_MSG_MISSING_DEPENDENCY([openjdk]) |
|
142 AC_MSG_NOTICE([Could not find a JDK. $HELP_MSG]) |
|
143 BOOTJDK_MISSING_ERROR |
|
144 fi |
|
145 fi |
|
146 |
|
147 BOOTJDK_WIN_FIX_PATH(BOOT_JDK) |
|
148 |
|
149 # Now see if we can find the rt.jar, or its nearest equivalent. |
|
150 BOOT_RTJAR="$BOOT_JDK/jre/lib/rt.jar" |
256 BOOT_RTJAR="$BOOT_JDK/jre/lib/rt.jar" |
151 SPACESAFE(BOOT_RTJAR,[the path to the Boot JDK rt.jar (or nearest equivalent)]) |
257 if test ! -f "$BOOT_RTJAR"; then |
152 |
258 # On MacOSX it is called classes.jar |
|
259 BOOT_RTJAR="$BOOT_JDK/../Classes/classes.jar" |
|
260 if test -f "$BOOT_RTJAR"; then |
|
261 # Remove the .. |
|
262 BOOT_RTJAR="`cd ${BOOT_RTJAR%/*} && pwd`/${BOOT_RTJAR##*/}" |
|
263 fi |
|
264 fi |
153 BOOT_TOOLSJAR="$BOOT_JDK/lib/tools.jar" |
265 BOOT_TOOLSJAR="$BOOT_JDK/lib/tools.jar" |
154 SPACESAFE(BOOT_TOOLSJAR,[the path to the Boot JDK tools.jar (or nearest equivalent)]) |
266 BOOT_JDK="$BOOT_JDK" |
155 |
|
156 if test ! -f $BOOT_RTJAR; then |
|
157 # On MacOSX it is called classes.jar |
|
158 BOOT_RTJAR=$BOOT_JDK/../Classes/classes.jar |
|
159 if test ! -f $BOOT_RTJAR; then |
|
160 AC_MSG_NOTICE([Cannot find the rt.jar or its equivalent!]) |
|
161 AC_MSG_NOTICE([This typically means that configure failed to automatically find a suitable Boot JDK]) |
|
162 BOOTJDK_MISSING_ERROR |
|
163 fi |
|
164 # Remove the .. |
|
165 BOOT_RTJAR="`cd ${BOOT_RTJAR%/*} && pwd`/${BOOT_RTJAR##*/}" |
|
166 # The tools.jar is part of classes.jar |
|
167 BOOT_TOOLSJAR="$BOOT_RTJAR" |
|
168 fi |
|
169 |
|
170 AC_SUBST(BOOT_JDK) |
|
171 AC_SUBST(BOOT_RTJAR) |
267 AC_SUBST(BOOT_RTJAR) |
172 AC_SUBST(BOOT_TOOLSJAR) |
268 AC_SUBST(BOOT_TOOLSJAR) |
173 AC_MSG_CHECKING([for Boot JDK]) |
269 AC_SUBST(BOOT_JDK) |
174 AC_MSG_RESULT([$BOOT_JDK]) |
270 |
175 AC_MSG_CHECKING([for Boot rt.jar]) |
271 # Setup tools from the Boot JDK. |
176 AC_MSG_RESULT([$BOOT_RTJAR]) |
272 BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVA,java) |
177 AC_MSG_CHECKING([for Boot tools.jar]) |
273 BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAC,javac) |
178 AC_MSG_RESULT([$BOOT_TOOLSJAR]) |
274 BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAH,javah) |
179 |
275 BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAP,javap) |
180 # Use the java tool from the Boot JDK. |
276 BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAR,jar) |
181 AC_MSG_CHECKING([for java in Boot JDK]) |
277 BOOTJDK_CHECK_TOOL_IN_BOOTJDK(RMIC,rmic) |
182 JAVA=$BOOT_JDK/bin/java |
278 BOOTJDK_CHECK_TOOL_IN_BOOTJDK(NATIVE2ASCII,native2ascii) |
183 if test ! -x $JAVA; then |
279 |
184 AC_MSG_NOTICE([Could not find a working java]) |
280 # Finally, set some other options... |
185 BOOTJDK_MISSING_ERROR |
|
186 fi |
|
187 BOOT_JDK_VERSION=`$JAVA -version 2>&1 | head -n 1` |
|
188 AC_MSG_RESULT([yes $BOOT_JDK_VERSION]) |
|
189 AC_SUBST(JAVA) |
|
190 |
|
191 # Extra M4 quote needed to protect [] in grep expression. |
|
192 [FOUND_VERSION_78=`echo $BOOT_JDK_VERSION | grep '\"1\.[78]\.'`] |
|
193 if test "x$FOUND_VERSION_78" = x; then |
|
194 HELP_MSG_MISSING_DEPENDENCY([openjdk]) |
|
195 AC_MSG_NOTICE([Your boot-jdk must be version 7 or 8. $HELP_MSG]) |
|
196 BOOTJDK_MISSING_ERROR |
|
197 fi |
|
198 |
281 |
199 # When compiling code to be executed by the Boot JDK, force jdk7 compatibility. |
282 # When compiling code to be executed by the Boot JDK, force jdk7 compatibility. |
200 BOOT_JDK_SOURCETARGET="-source 7 -target 7" |
283 BOOT_JDK_SOURCETARGET="-source 7 -target 7" |
201 AC_SUBST(BOOT_JDK_SOURCETARGET) |
284 AC_SUBST(BOOT_JDK_SOURCETARGET) |
202 |
|
203 # Use the javac tool from the Boot JDK. |
|
204 AC_MSG_CHECKING([for javac in Boot JDK]) |
|
205 JAVAC=$BOOT_JDK/bin/javac |
|
206 if test ! -x $JAVAC; then |
|
207 AC_MSG_ERROR([Could not find a working javac]) |
|
208 fi |
|
209 AC_MSG_RESULT(yes) |
|
210 AC_SUBST(JAVAC) |
|
211 AC_SUBST(JAVAC_FLAGS) |
285 AC_SUBST(JAVAC_FLAGS) |
212 |
|
213 # Use the javah tool from the Boot JDK. |
|
214 AC_MSG_CHECKING([for javah in Boot JDK]) |
|
215 JAVAH=$BOOT_JDK/bin/javah |
|
216 if test ! -x $JAVAH; then |
|
217 AC_MSG_NOTICE([Could not find a working javah]) |
|
218 BOOTJDK_MISSING_ERROR |
|
219 fi |
|
220 AC_MSG_RESULT(yes) |
|
221 AC_SUBST(JAVAH) |
|
222 |
|
223 # Use the jar tool from the Boot JDK. |
|
224 AC_MSG_CHECKING([for jar in Boot JDK]) |
|
225 JAR=$BOOT_JDK/bin/jar |
|
226 if test ! -x $JAR; then |
|
227 AC_MSG_NOTICE([Could not find a working jar]) |
|
228 BOOTJDK_MISSING_ERROR |
|
229 fi |
|
230 AC_SUBST(JAR) |
|
231 AC_MSG_RESULT(yes) |
|
232 |
|
233 # Use the rmic tool from the Boot JDK. |
|
234 AC_MSG_CHECKING([for rmic in Boot JDK]) |
|
235 RMIC=$BOOT_JDK/bin/rmic |
|
236 if test ! -x $RMIC; then |
|
237 AC_MSG_NOTICE([Could not find a working rmic]) |
|
238 BOOTJDK_MISSING_ERROR |
|
239 fi |
|
240 AC_SUBST(RMIC) |
|
241 AC_MSG_RESULT(yes) |
|
242 |
|
243 # Use the native2ascii tool from the Boot JDK. |
|
244 AC_MSG_CHECKING([for native2ascii in Boot JDK]) |
|
245 NATIVE2ASCII=$BOOT_JDK/bin/native2ascii |
|
246 if test ! -x $NATIVE2ASCII; then |
|
247 AC_MSG_NOTICE([Could not find a working native2ascii]) |
|
248 BOOTJDK_MISSING_ERROR |
|
249 fi |
|
250 AC_MSG_RESULT(yes) |
|
251 AC_SUBST(NATIVE2ASCII) |
|
252 ]) |
286 ]) |
253 |
287 |
254 AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS], |
288 AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS], |
255 [ |
289 [ |
256 ############################################################################## |
290 ############################################################################## |