Commit | Line | Data |
---|---|---|
e03d7c66 MJ |
1 | # SPDX-License-Identifier: FSFAP |
2 | # | |
5c5aae82 | 3 | # =========================================================================== |
e465639e | 4 | # https://www.gnu.org/software/autoconf-archive/ax_try_run_java.html |
5c5aae82 CB |
5 | # =========================================================================== |
6 | # | |
7 | # SYNOPSIS | |
8 | # | |
9 | # AX_TRY_RUN_JAVA | |
10 | # | |
11 | # DESCRIPTION | |
12 | # | |
13 | # AX_TRY_RUN_JAVA attempt to compile and run user given source. | |
14 | # | |
15 | # *Warning*: its success or failure can depend on a proper setting of the | |
16 | # CLASSPATH env. variable. | |
17 | # | |
18 | # Note: This is part of the set of autoconf M4 macros for Java programs. | |
19 | # It is VERY IMPORTANT that you download the whole set, some macros depend | |
20 | # on other. Unfortunately, the autoconf archive does not support the | |
21 | # concept of set of macros, so I had to break it for submission. The | |
22 | # general documentation, as well as the sample configure.in, is included | |
23 | # in the AX_PROG_JAVA macro. | |
24 | # | |
25 | # LICENSE | |
26 | # | |
27 | # Copyright (c) 2008 Devin Weaver <ktohg@tritarget.com> | |
28 | # | |
29 | # Copying and distribution of this file, with or without modification, are | |
30 | # permitted in any medium without royalty provided the copyright notice | |
31 | # and this notice are preserved. This file is offered as-is, without any | |
32 | # warranty. | |
33 | ||
e465639e | 34 | #serial 3 |
5c5aae82 CB |
35 | |
36 | AU_ALIAS([AC_TRY_RUN_JAVA], [AX_TRY_RUN_JAVA]) | |
37 | AC_DEFUN([AX_TRY_RUN_JAVA],[ | |
38 | AC_REQUIRE([AX_PROG_JAVAC])dnl | |
39 | AC_REQUIRE([AX_PROG_JAVA])dnl | |
40 | cat << \EOF > Test.java | |
41 | /* [#]line __oline__ "configure" */ | |
42 | ifelse([$1], , , [include $1;]) | |
43 | public class Test { | |
44 | [$2] | |
45 | } | |
46 | EOF | |
47 | if AC_TRY_COMMAND($JAVAC $JAVACFLAGS Test.java) && test -s Test.class && ($JAVA $JAVAFLAGS Test; exit) 2>/dev/null | |
48 | then | |
49 | dnl Don't remove the temporary files here, so they can be examined. | |
50 | ifelse([$3], , :, [$3]) | |
51 | else | |
52 | echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD | |
53 | cat Test.java >&AS_MESSAGE_LOG_FD | |
54 | ifelse([$4], , , [ rm -fr Test.java Test.class | |
55 | $4 | |
56 | ])dnl | |
57 | fi | |
58 | rm -fr Test.java Test.class]) |