Mercurial > jwe > octave
comparison configure.ac @ 31130:c4f52c6c5944
build: cache JAVA_LDPATH and Java "jni.h" path (bug #62715)
* configure.ac: Use AC_CACHE_VAL macro for "octave_cv_java_ldpath",
"octave_cv_java_have_jni". Cache actual path for "jni.h" in
"octave_cv_java_jni_h_path" variable..
author | Rik <rik@octave.org> |
---|---|
date | Thu, 07 Jul 2022 22:07:04 -0700 |
parents | 1d819b308578 |
children | 4dc326899f65 |
comparison
equal
deleted
inserted
replaced
31129:441aa6226223 | 31130:c4f52c6c5944 |
---|---|
2495 ;; | 2495 ;; |
2496 esac | 2496 esac |
2497 | 2497 |
2498 AC_MSG_CHECKING([for $jvmlib]) | 2498 AC_MSG_CHECKING([for $jvmlib]) |
2499 | 2499 |
2500 if test -z "$JAVA_LDPATH"; then | 2500 AC_CACHE_VAL([octave_cv_java_ldpath],[ |
2501 ## Run Java to try and determine library path to libjvm.so. | 2501 if test -z "$JAVA_LDPATH"; then |
2502 JAVA_TMP_LDPATH=`$JAVA -classpath ${srcdir}/build-aux OctJavaQry JAVA_LDPATH` | 2502 ## Run Java to try and determine library path to libjvm.so. |
2503 JAVA_TMP_LDPATH=`echo $JAVA_TMP_LDPATH | $SED -e "s/${PATH_SEPARATOR}/ /g"` | 2503 JAVA_TMP_LDPATH=`$JAVA -classpath ${srcdir}/build-aux OctJavaQry JAVA_LDPATH` |
2504 for dir in $JAVA_TMP_LDPATH; do | 2504 JAVA_TMP_LDPATH=`echo $JAVA_TMP_LDPATH | $SED -e "s/${PATH_SEPARATOR}/ /g"` |
2505 if test -f "$dir/$jvmlib"; then | 2505 for dir in $JAVA_TMP_LDPATH; do |
2506 JAVA_LDPATH=$dir | 2506 if test -f "$dir/$jvmlib"; then |
2507 break | 2507 JAVA_LDPATH=$dir |
2508 break | |
2509 fi | |
2510 done | |
2511 fi | |
2512 | |
2513 if test -z "$JAVA_LDPATH"; then | |
2514 ## Nothing found. Try Java again using bootpath argument. | |
2515 JAVA_TMP_LDPATH=`$JAVA -classpath ${srcdir}/build-aux OctJavaQry JAVA_BOOTPATH` | |
2516 JAVA_TMP_LDPATH="${JAVA_TMP_LDPATH} ${JAVA_TMP_LDPATH}/client ${JAVA_TMP_LDPATH}/server" | |
2517 for dir in $JAVA_TMP_LDPATH; do | |
2518 if test -f "$dir/$jvmlib"; then | |
2519 JAVA_LDPATH=$dir | |
2520 break | |
2521 fi | |
2522 done | |
2523 fi | |
2524 | |
2525 if test -z "$JAVA_LDPATH"; then | |
2526 ## Java failed to find its own library path. Guess wildly. | |
2527 JAVA_TMP_LDPATH=`ls -d $JAVA_HOME/jre/lib/*/client` | |
2528 JAVA_TMP_LDPATH="${JAVA_TMP_LDPATH} `ls -d $JAVA_HOME/jre/lib/*/server`" | |
2529 ## Add some paths that might work on Macs. | |
2530 JAVA_TMP_LDPATH="${JAVA_TMP_LDPATH} ${JAVA_HOME}/../Libraries ${JAVA_HOME}/Libraries" | |
2531 ## Add some paths that might work on MinGW | |
2532 JAVA_TMP_LDPATH="${JAVA_TMP_LDPATH} ${JAVA_HOME}/bin/client ${JAVA_HOME}/bin/server" | |
2533 for dir in $JAVA_TMP_LDPATH; do | |
2534 if test -f "$dir/$jvmlib"; then | |
2535 JAVA_LDPATH=$dir | |
2536 break | |
2537 fi | |
2538 done | |
2539 fi | |
2540 | |
2541 ## Verify value passed in option --with-java-libdir | |
2542 if test -n "$JAVA_LDPATH"; then | |
2543 if test -f "${JAVA_LDPATH}/$jvmlib"; then | |
2544 : # libjvm found | |
2545 else | |
2546 JAVA_LDPATH="" | |
2508 fi | 2547 fi |
2509 done | |
2510 fi | |
2511 | |
2512 if test -z "$JAVA_LDPATH"; then | |
2513 ## Nothing found. Try Java again using bootpath argument. | |
2514 JAVA_TMP_LDPATH=`$JAVA -classpath ${srcdir}/build-aux OctJavaQry JAVA_BOOTPATH` | |
2515 JAVA_TMP_LDPATH="${JAVA_TMP_LDPATH} ${JAVA_TMP_LDPATH}/client ${JAVA_TMP_LDPATH}/server" | |
2516 for dir in $JAVA_TMP_LDPATH; do | |
2517 if test -f "$dir/$jvmlib"; then | |
2518 JAVA_LDPATH=$dir | |
2519 break | |
2520 fi | |
2521 done | |
2522 fi | |
2523 | |
2524 if test -z "$JAVA_LDPATH"; then | |
2525 ## Java failed to find its own library path. Guess wildly. | |
2526 JAVA_TMP_LDPATH=`ls -d $JAVA_HOME/jre/lib/*/client` | |
2527 JAVA_TMP_LDPATH="${JAVA_TMP_LDPATH} `ls -d $JAVA_HOME/jre/lib/*/server`" | |
2528 ## Add some paths that might work on Macs. | |
2529 JAVA_TMP_LDPATH="${JAVA_TMP_LDPATH} ${JAVA_HOME}/../Libraries ${JAVA_HOME}/Libraries" | |
2530 ## Add some paths that might work on MinGW | |
2531 JAVA_TMP_LDPATH="${JAVA_TMP_LDPATH} ${JAVA_HOME}/bin/client ${JAVA_HOME}/bin/server" | |
2532 for dir in $JAVA_TMP_LDPATH; do | |
2533 if test -f "$dir/$jvmlib"; then | |
2534 JAVA_LDPATH=$dir | |
2535 break | |
2536 fi | |
2537 done | |
2538 fi | |
2539 | |
2540 ## Verify value passed in option --with-java-libdir | |
2541 if test -n "$JAVA_LDPATH"; then | |
2542 if test -f "${JAVA_LDPATH}/$jvmlib"; then | |
2543 : # libjvm found | |
2544 else | |
2545 JAVA_LDPATH="" | |
2546 fi | 2548 fi |
2547 fi | 2549 |
2548 | 2550 octave_cv_java_ldpath=$JAVA_LDPATH |
2551 ]) | |
2552 JAVA_LDPATH=$octave_cv_java_ldpath | |
2549 if test -z "$JAVA_LDPATH"; then | 2553 if test -z "$JAVA_LDPATH"; then |
2550 AC_MSG_RESULT([not found]) | 2554 AC_MSG_RESULT([not found]) |
2551 warn_java="Library $jvmlib not found. Octave will not be able to call Java methods." | 2555 warn_java="Library $jvmlib not found. Octave will not be able to call Java methods." |
2552 break | 2556 break |
2553 else | 2557 else |
2573 fi | 2577 fi |
2574 ;; | 2578 ;; |
2575 esac | 2579 esac |
2576 | 2580 |
2577 ## Verify jni.h include file exists. | 2581 ## Verify jni.h include file exists. |
2578 JNI_PATH=`echo $JAVA_CPPFLAGS | $SED -e 's/-I//g'` | 2582 AC_CACHE_VAL([octave_cv_java_have_jni],[ |
2579 have_jni=no | 2583 JNI_PATH=`echo $JAVA_CPPFLAGS | $SED -e 's/-I//g'` |
2580 for dir in $JNI_PATH; do | 2584 octave_cv_java_have_jni=no |
2581 if test -f "${dir}/jni.h"; then have_jni=yes; break; fi | 2585 for dir in $JNI_PATH; do |
2582 done | 2586 if test -f "${dir}/jni.h"; then |
2583 if test $have_jni = yes; then | 2587 octave_cv_java_have_jni=yes |
2584 AC_MSG_RESULT([$dir]) | 2588 octave_cv_java_jni_h_path=$dir |
2589 break | |
2590 fi | |
2591 done | |
2592 ]) | |
2593 if test $octave_cv_java_have_jni = yes; then | |
2594 AC_MSG_RESULT([$octave_cv_java_jni_h_path]) | |
2585 else | 2595 else |
2586 AC_MSG_RESULT([not found]) | 2596 AC_MSG_RESULT([not found]) |
2587 warn_java="Include file <jni.h> not found. Octave will not be able to call Java methods." | 2597 warn_java="Include file <jni.h> not found. Octave will not be able to call Java methods." |
2588 break | 2598 break |
2589 fi | 2599 fi |