Mercurial > octave-dspies
comparison configure.ac @ 15736:6faa01ff2967
build: Add --disable-java option to configure (bug #37838).
* configure.ac: Use AC_ARG_ENABLE macro to add --disable-java option.
Use AC_ARG_VAR to grab JAVA_HOME value from environment if it exists.
Set Automake Conditional AMCOND_HAVE_JAVA if Java Interface is being built.
* libinterp/dldfcn/__java__.cc: Include <config.h> and wrap file in
#ifdef HAVE_JAVA.
* scripts/Makefile.am: Use AMCOND_HAVE_JAVA to control building of Java
interface.
author | Rik <rik@octave.org> |
---|---|
date | Thu, 06 Dec 2012 10:37:54 -0800 |
parents | 1090b62af49d |
children | e340df7b8034 |
comparison
equal
deleted
inserted
replaced
15735:487ecfde7feb | 15736:6faa01ff2967 |
---|---|
735 | 735 |
736 AC_SUBST(LLVM_CPPFLAGS) | 736 AC_SUBST(LLVM_CPPFLAGS) |
737 AC_SUBST(LLVM_CXXFLAGS) | 737 AC_SUBST(LLVM_CXXFLAGS) |
738 AC_SUBST(LLVM_LDFLAGS) | 738 AC_SUBST(LLVM_LDFLAGS) |
739 AC_SUBST(LLVM_LIBS) | 739 AC_SUBST(LLVM_LIBS) |
740 | |
741 ### Check for Java. | |
742 | |
743 warn_java= | |
744 | |
745 if test -z "$JAVA_HOME"; then | |
746 AC_CHECK_PROG(JAVA, java, java) | |
747 AC_CHECK_PROG(JAVAC, javac, javac) | |
748 AC_CHECK_PROG(JAR, jar, jar) | |
749 else | |
750 AC_PATH_PROG(JAVA, java, [], [$JAVA_HOME/bin$PATH_SEPARATOR$PATH]) | |
751 AC_PATH_PROG(JAVAC, javac, [], [$JAVA_HOME/bin$PATH_SEPARATOR$PATH]) | |
752 AC_PATH_PROG(JAR, jar, [], [$JAVA_HOME/bin$PATH_SEPARATOR$PATH]) | |
753 fi | |
754 HAVE_JAVA=no | |
755 if test -n "$JAVAC" -a -n "$JAR"; then | |
756 AC_MSG_CHECKING([for Java version]) | |
757 java_version=[`$JAVA -version 2>&1 | sed -n -e 's/^java version[^0-9"]*"\([^"]*\)"/\1/p'`] | |
758 AC_MSG_RESULT($java_version) | |
759 java_major=[`echo $java_version | sed -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\1/'`] | |
760 java_minor=[`echo $java_version | sed -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\2/'`] | |
761 if test $java_major -ge 1 -a $java_minor -ge 5; then | |
762 case "$canonical_host_type" in | |
763 *-msdosmsvc*) | |
764 HAVE_JAVA=yes | |
765 JAVA_LIBS=-ladvapi32 | |
766 ;; | |
767 *) | |
768 if test -z "$JAVA_HOME"; then | |
769 # This is the location of Java on an OS X box. In this | |
770 # directory we can find the various versions of a | |
771 # JavaVMs. Check for the newest version set the JAVA_HOME | |
772 # variable. | |
773 if test -d "/System/Library/Frameworks/JavaVM.framework"; then | |
774 # Sneak the -framework flag into mkoctfile via LFLAGS | |
775 LFLAGS="$LFLAGS -framework JavaVM" | |
776 JAVA_TEMP="/System/Library/Frameworks/JavaVM.framework" | |
777 JAVA_HOME="${JAVA_TEMP}/Home" | |
778 JAVA_ARCH="${JAVA_TEMP}/Libraries/libjvm_compat.dylib" | |
779 JAVA_LIBS="-framework JavaVM" | |
780 # According to: | |
781 # http://developer.apple.com/unix/crossplatform.html | |
782 # you need to explicitely set the include path | |
783 JAVA_CPPFLAGS="-I${JAVA_HOME}/include" | |
784 HAVE_JAVA=yes | |
785 # This is the Debian default path | |
786 elif test -d "/usr/lib/jvm/default-java"; then | |
787 JAVA_HOME=/usr/lib/jvm/default-java | |
788 # This is the path of java 6 on debian | |
789 elif test -d "/usr/lib/jvm/java-6-sun"; then | |
790 JAVA_HOME=//usr/lib/jvm/java-6-sun | |
791 else | |
792 JAVA_HOME=/usr/lib/jvm | |
793 fi | |
794 fi | |
795 JAVA_HOME=[`echo $JAVA_HOME | sed -e 's|/$||'`] | |
796 if test -z "$JAVA_ARCH"; then | |
797 if test -d "${JAVA_HOME}/jre/lib/i386"; then | |
798 JAVA_ARCH="i386"; | |
799 elif test -d "${JAVA_HOME}/jre/lib/amd64"; then | |
800 JAVA_ARCH="amd64" | |
801 elif test -d "${JAVA_HOME}/jre/lib/mac"; then | |
802 JAVA_ARCH="mac" | |
803 elif test -d "${JAVA_HOME}/jre/lib/maci"; then | |
804 JAVA_ARCH="maci" | |
805 elif test -d "${JAVA_HOME}/jre/lib/solaris"; then | |
806 JAVA_ARCH="solaris" | |
807 elif test -d "${JAVA_HOME}/jre/lib/solarisv9"; then | |
808 JAVA_ARCH="solarisv9" | |
809 fi | |
810 fi | |
811 if test -n "$JAVA_ARCH"; then | |
812 HAVE_JAVA=yes | |
813 case "$canonical_host_type" in | |
814 *-mingw* | *-cygwin*) | |
815 JAVA_LIBS=-ladvapi32 | |
816 JAVA_CPPFLAGS="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/win32" | |
817 ;; | |
818 *) | |
819 JAVA_CPPFLAGS="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux" | |
820 ;; | |
821 esac | |
822 fi | |
823 ;; | |
824 esac | |
825 if test "$HAVE_JAVA" = "yes"; then | |
826 AC_DEFINE(HAVE_JAVA, 1, | |
827 [Define to 1 if Java is available and is at least version 1.5]) | |
828 fi | |
829 else | |
830 warn_java="Java 1.5 or later not found. Octave will not be able to call Java methods." | |
831 fi | |
832 fi | |
833 | |
834 AC_SUBST(JAVAC) | |
835 AC_SUBST(JAR) | |
836 AC_SUBST(JAVA_CPPFLAGS) | |
837 AC_SUBST(JAVA_LIBS) | |
838 AC_DEFINE_UNQUOTED([JAVA_HOME], ["$JAVA_HOME"], [Java home.]) | |
839 AC_DEFINE_UNQUOTED([JAVA_ARCH], ["$JAVA_ARCH"], [Java arch.]) | |
840 | 740 |
841 ### Check for HDF5 library. | 741 ### Check for HDF5 library. |
842 | 742 |
843 save_CPPFLAGS="$CPPFLAGS" | 743 save_CPPFLAGS="$CPPFLAGS" |
844 save_LIBS="$LIBS" | 744 save_LIBS="$LIBS" |
2283 fi | 2183 fi |
2284 | 2184 |
2285 AC_SUBST(WARN_CFLAGS) | 2185 AC_SUBST(WARN_CFLAGS) |
2286 AC_SUBST(WARN_CXXFLAGS) | 2186 AC_SUBST(WARN_CXXFLAGS) |
2287 | 2187 |
2188 ### Check for Java. | |
2189 | |
2190 build_java=true | |
2191 AC_ARG_ENABLE([java], | |
2192 [AS_HELP_STRING([--disable-java], | |
2193 [disable Java interface])], | |
2194 [if test "$enableval" = no; then | |
2195 build_java=false | |
2196 fi], | |
2197 []) | |
2198 | |
2199 HAVE_JAVA=no | |
2200 ## Grab JAVA_HOME from environment variable if it exists | |
2201 AC_ARG_VAR([JAVA_HOME], [path to Java installation]) | |
2202 JAVA_ARCH= | |
2203 JAVAC= | |
2204 JAR= | |
2205 JAVA_CPPFLAGS= | |
2206 JAVA_LIBS= | |
2207 | |
2208 if test $build_java = true; then | |
2209 | |
2210 warn_java= | |
2211 | |
2212 if test -z "$JAVA_HOME"; then | |
2213 AC_CHECK_PROG(JAVA, java, java) | |
2214 AC_CHECK_PROG(JAVAC, javac, javac) | |
2215 AC_CHECK_PROG(JAR, jar, jar) | |
2216 else | |
2217 AC_PATH_PROG(JAVA, java, [], [$JAVA_HOME/bin$PATH_SEPARATOR$PATH]) | |
2218 AC_PATH_PROG(JAVAC, javac, [], [$JAVA_HOME/bin$PATH_SEPARATOR$PATH]) | |
2219 AC_PATH_PROG(JAR, jar, [], [$JAVA_HOME/bin$PATH_SEPARATOR$PATH]) | |
2220 fi | |
2221 if test -n "$JAVAC" -a -n "$JAR"; then | |
2222 AC_MSG_CHECKING([for Java version]) | |
2223 java_version=[`$JAVA -version 2>&1 | sed -n -e 's/^java version[^0-9"]*"\([^"]*\)"/\1/p'`] | |
2224 AC_MSG_RESULT($java_version) | |
2225 java_major=[`echo $java_version | sed -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\1/'`] | |
2226 java_minor=[`echo $java_version | sed -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\2/'`] | |
2227 if test $java_major -ge 1 -a $java_minor -ge 5; then | |
2228 case "$canonical_host_type" in | |
2229 *-msdosmsvc*) | |
2230 HAVE_JAVA=yes | |
2231 JAVA_LIBS=-ladvapi32 | |
2232 ;; | |
2233 *) | |
2234 if test -z "$JAVA_HOME"; then | |
2235 # This is the location of Java on an OS X box. In this | |
2236 # directory we can find the various versions of a | |
2237 # JavaVMs. Check for the newest version set the JAVA_HOME | |
2238 # variable. | |
2239 if test -d "/System/Library/Frameworks/JavaVM.framework"; then | |
2240 # Sneak the -framework flag into mkoctfile via LFLAGS | |
2241 LFLAGS="$LFLAGS -framework JavaVM" | |
2242 JAVA_TEMP="/System/Library/Frameworks/JavaVM.framework" | |
2243 JAVA_HOME="${JAVA_TEMP}/Home" | |
2244 JAVA_ARCH="${JAVA_TEMP}/Libraries/libjvm_compat.dylib" | |
2245 JAVA_LIBS="-framework JavaVM" | |
2246 # According to: | |
2247 # http://developer.apple.com/unix/crossplatform.html | |
2248 # you need to explicitly set the include path | |
2249 JAVA_CPPFLAGS="-I${JAVA_HOME}/include" | |
2250 HAVE_JAVA=yes | |
2251 # This is the Debian default path | |
2252 elif test -d "/usr/lib/jvm/default-java"; then | |
2253 JAVA_HOME=/usr/lib/jvm/default-java | |
2254 # This is the path of java 6 on debian | |
2255 elif test -d "/usr/lib/jvm/java-6-sun"; then | |
2256 JAVA_HOME=//usr/lib/jvm/java-6-sun | |
2257 else | |
2258 JAVA_HOME=/usr/lib/jvm | |
2259 fi | |
2260 fi | |
2261 JAVA_HOME=[`echo $JAVA_HOME | sed -e 's|/$||'`] | |
2262 if test -z "$JAVA_ARCH"; then | |
2263 if test -d "${JAVA_HOME}/jre/lib/i386"; then | |
2264 JAVA_ARCH="i386"; | |
2265 elif test -d "${JAVA_HOME}/jre/lib/amd64"; then | |
2266 JAVA_ARCH="amd64" | |
2267 elif test -d "${JAVA_HOME}/jre/lib/mac"; then | |
2268 JAVA_ARCH="mac" | |
2269 elif test -d "${JAVA_HOME}/jre/lib/maci"; then | |
2270 JAVA_ARCH="maci" | |
2271 elif test -d "${JAVA_HOME}/jre/lib/solaris"; then | |
2272 JAVA_ARCH="solaris" | |
2273 elif test -d "${JAVA_HOME}/jre/lib/solarisv9"; then | |
2274 JAVA_ARCH="solarisv9" | |
2275 fi | |
2276 fi | |
2277 if test -n "$JAVA_ARCH"; then | |
2278 HAVE_JAVA=yes | |
2279 case "$canonical_host_type" in | |
2280 *-mingw* | *-cygwin*) | |
2281 JAVA_LIBS=-ladvapi32 | |
2282 JAVA_CPPFLAGS="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/win32" | |
2283 ;; | |
2284 *) | |
2285 JAVA_CPPFLAGS="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux" | |
2286 ;; | |
2287 esac | |
2288 fi | |
2289 ;; | |
2290 esac | |
2291 if test "$HAVE_JAVA" = "yes"; then | |
2292 AC_DEFINE(HAVE_JAVA, 1, | |
2293 [Define to 1 if Java is available and is at least version 1.5]) | |
2294 fi | |
2295 else | |
2296 warn_java="Java 1.5 or later not found. Octave will not be able to call Java methods." | |
2297 fi | |
2298 fi | |
2299 fi | |
2300 | |
2301 ## For later reporting in configure summary | |
2302 if test $HAVE_JAVA = no; then | |
2303 build_java=false | |
2304 fi | |
2305 AM_CONDITIONAL([AMCOND_HAVE_JAVA], [test $HAVE_JAVA = yes]) | |
2306 AC_SUBST(JAVAC) | |
2307 AC_SUBST(JAR) | |
2308 AC_SUBST(JAVA_CPPFLAGS) | |
2309 AC_SUBST(JAVA_LIBS) | |
2310 AC_DEFINE_UNQUOTED([JAVA_HOME], ["$JAVA_HOME"], [Java home.]) | |
2311 AC_DEFINE_UNQUOTED([JAVA_ARCH], ["$JAVA_ARCH"], [Java arch.]) | |
2312 | |
2288 ### GUI/Qt related tests. | 2313 ### GUI/Qt related tests. |
2289 | 2314 |
2290 HAVE_QT=false | 2315 HAVE_QT=false |
2291 QT_CPPFLAGS= | 2316 QT_CPPFLAGS= |
2292 QT_LDFLAGS= | 2317 QT_LDFLAGS= |
2642 graphics CFLAGS: $GRAPHICS_CFLAGS | 2667 graphics CFLAGS: $GRAPHICS_CFLAGS |
2643 graphics libraries: $GRAPHICS_LIBS | 2668 graphics libraries: $GRAPHICS_LIBS |
2644 HDF5 CPPFLAGS: $HDF5_CPPFLAGS | 2669 HDF5 CPPFLAGS: $HDF5_CPPFLAGS |
2645 HDF5 LDFLAGS: $HDF5_LDFLAGS | 2670 HDF5 LDFLAGS: $HDF5_LDFLAGS |
2646 HDF5 libraries: $HDF5_LIBS | 2671 HDF5 libraries: $HDF5_LIBS |
2672 Java home: $JAVA_HOME | |
2647 Java arch: $JAVA_ARCH | 2673 Java arch: $JAVA_ARCH |
2648 Java home: $JAVA_HOME | |
2649 Java CPPFLAGS: $JAVA_CPPFLAGS | 2674 Java CPPFLAGS: $JAVA_CPPFLAGS |
2650 Java libraries: $JAVA_LIBS | 2675 Java libraries: $JAVA_LIBS |
2651 LAPACK libraries: $LAPACK_LIBS | 2676 LAPACK libraries: $LAPACK_LIBS |
2652 LLVM CPPFLAGS: $LLVM_CPPFLAGS | 2677 LLVM CPPFLAGS: $LLVM_CPPFLAGS |
2653 LLVM LDFLAGS: $LLVM_LDFLAGS | 2678 LLVM LDFLAGS: $LLVM_LDFLAGS |
2682 Default pager: $DEFAULT_PAGER | 2707 Default pager: $DEFAULT_PAGER |
2683 gnuplot: $GNUPLOT | 2708 gnuplot: $GNUPLOT |
2684 | 2709 |
2685 Build Octave GUI: $build_gui | 2710 Build Octave GUI: $build_gui |
2686 JIT compiler for loops: $build_jit | 2711 JIT compiler for loops: $build_jit |
2712 Build Java interface: $build_java | |
2687 Do internal array bounds checking: $BOUNDS_CHECKING | 2713 Do internal array bounds checking: $BOUNDS_CHECKING |
2688 Use octave_allocator: $USE_OCTAVE_ALLOCATOR | 2714 Use octave_allocator: $USE_OCTAVE_ALLOCATOR |
2689 Build static libraries: $STATIC_LIBS | 2715 Build static libraries: $STATIC_LIBS |
2690 Build shared libraries: $SHARED_LIBS | 2716 Build shared libraries: $SHARED_LIBS |
2691 Dynamic Linking: $ENABLE_DYNAMIC_LINKING $DL_API_MSG | 2717 Dynamic Linking: $ENABLE_DYNAMIC_LINKING $DL_API_MSG |