From 898850f333ec1975453ceb2859724f2cf402adf4 Mon Sep 17 00:00:00 2001 From: mattjala <124107509+mattjala@users.noreply.github.com> Date: Thu, 15 Jun 2023 15:54:12 -0500 Subject: [PATCH] Add java options to build scripts (#3137) Previously, cmakehdf5 turned on compiling of the java interface by default due to a value set in cacheinit.cmake. Now, consistent with how Fortran and CPP interfaces are handled, the script overwrites this default value to disable the libraries, fixing #2958. I also implemented the --enable-java/--disable java options for cmakehdf5, and -java for buildhdf5. Allen said these scripts should mention that compilers are to be specified in environment variables, but missing compilers causes errors at the CMake level, and CMake's error messages are already pretty informative (See the one in #2958 about JAVA_COMPILER). --- bin/buildhdf5 | 6 +++++- bin/cmakehdf5 | 11 +++++++++++ test/dt_arith.c | 2 +- test/testerror.sh.in | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/bin/buildhdf5 b/bin/buildhdf5 index 4c848841b00..a2a13cb225c 100755 --- a/bin/buildhdf5 +++ b/bin/buildhdf5 @@ -25,7 +25,7 @@ can continue from a previous build. Command Syntax ============== -buildhdf5 [-config] [-szlib] [-help] [-n] [-srcdir dir] [-fortran] [-cxx] [-pp] config-arguments ... +buildhdf5 [-config] [-szlib] [-help] [-n] [-srcdir dir] [-fortran] [-cxx] [-java] [-pp] config-arguments ... -config: run configure only. [default to do build too] -szlib: configure in the szlib option -help: show this help page @@ -35,6 +35,7 @@ buildhdf5 [-config] [-szlib] [-help] [-n] [-srcdir dir] [-fortran] [-cxx] [-pp] which will be passed to configure] -fortran: add --enable-fortran -cxx: add --enable-cxx + -java: add --enable-java -pp: add --enable-parallel all other arguments are passed to configure @@ -251,6 +252,9 @@ while [ $# -gt 0 ]; do -cxx) CONFIG_OP="$CONFIG_OP --enable-cxx" ;; + -java) + CONFIG_OP="$CONFIG_OP --enable-java" + ;; -fortran) CONFIG_OP="$CONFIG_OP --enable-fortran" ;; diff --git a/bin/cmakehdf5 b/bin/cmakehdf5 index e59c772a3b3..f17b9c4d131 100755 --- a/bin/cmakehdf5 +++ b/bin/cmakehdf5 @@ -45,6 +45,7 @@ fi cacheinit=$srcdir/config/cmake/cacheinit.cmake build_cpp_lib=-DHDF5_BUILD_CPP_LIB:BOOL=OFF # C++ interface default off build_fortran=-DHDF5_BUILD_FORTRAN:BOOL=OFF # Fortran interface default off +build_java=-DHDF5_BUILD_JAVA:BOOL=OFF # Java interface default off build_hl_lib=-DHDF5_BUILD_HL_LIB:BOOL=ON # High Level interface default on build_threadsafe=-DHDF5_ENABLE_THREADSAFE:BOOL=OFF # Threadsafe feature default off build_testing=-DBUILD_TESTING:BOOL=ON # Build tests default on @@ -82,6 +83,8 @@ Usage: $progname [] enable or disable fortran API. Default is off. --enable-cxx | --disable-cxx: enable or disable c++ API. Default is off. + --enable-java | --disable-java: + enable or disable Java API. Default is off. --enable-hl | --disable-hl: enable or disable high level API. Default is on. --enable-threadsafe | --disable-threadsafe: @@ -210,6 +213,7 @@ fi # XXX can be: # fortran Fortran interface # cxx C++ interface +# java Java interface # hl Highlevel interface # testing Build tests # tools Build tools @@ -227,6 +231,12 @@ while [ $# -gt 0 ]; do --disable-cxx) build_cpp_lib=-DHDF5_BUILD_CPP_LIB:BOOL=OFF ;; + --enable-java) + build_java=-DHDF5_BUILD_JAVA:BOOL=ON + ;; + --disable-java) + build_java=-DHDF5_BUILD_JAVA:BOOL=OFF + ;; --enable-hl) build_hl_lib=-DHDF5_BUILD_HL_LIB:BOOL=ON ;; @@ -345,6 +355,7 @@ STEP "Configure..." \ -C $cacheinit \ $build_cpp_lib \ $build_fortran \ + $build_java \ $build_hl_lib \ $build_threadsafe \ $shared_lib \ diff --git a/test/dt_arith.c b/test/dt_arith.c index b2742aeac81..f09e08dcd73 100644 --- a/test/dt_arith.c +++ b/test/dt_arith.c @@ -2847,7 +2847,7 @@ test_conv_flt_1(const char *name, int run_test, hid_t src, hid_t dst) int status; /*child exit status */ /* - * Some systems generage SIGFPE during floating point overflow and we + * Some systems generate SIGFPE during floating point overflow and we * cannot assume that we can continue from such a signal. Therefore, we * fork here and let the child run the test and return the number of * failures with the exit status. diff --git a/test/testerror.sh.in b/test/testerror.sh.in index 72bb943eb58..1e6a5603a6d 100644 --- a/test/testerror.sh.in +++ b/test/testerror.sh.in @@ -14,7 +14,7 @@ srcdir=@srcdir@ -# Determine backward compatibility options eneabled +# Check if backward compatibility options are enabled DEPRECATED_SYMBOLS="@DEPRECATED_SYMBOLS@" CMP='cmp -s'