[Hamlib-commits] Hamlib -- Ham radio control libraries branch master updated. 17cb45f2f0424bff46dc0
Library to control radio transceivers and receivers
Brought to you by:
n0nb
From: n0nb <n0...@us...> - 2025-08-24 20:53:20
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Hamlib -- Ham radio control libraries". The branch, master has been updated via 17cb45f2f0424bff46dc0ac26d93543a2781136e (commit) via d66a601c8395178bf02955a0f99b42180438701b (commit) via a0792e4f85833f499daf007f7e5fef8302494ec9 (commit) via 43d9b3d35487a5344b3eca6df2398a356f7451a2 (commit) via e81e40ed70062765ad21a6eadfd5cb4753722165 (commit) via 91e5f1441f43f638a0698fe037a4127ea6a11493 (commit) via b300747aa228d42740a76e6d6d3418ae2be7ec51 (commit) via 8febac180a6f98900ccb5d2c2cffd12ba46886f9 (commit) via cb6866ff8650b266f2fa8d4554b5de51d6cdba35 (commit) via e772d6481ef7d016a687ae6f57a26d1087543ae1 (commit) via 3b2df4ecd0ce49311f75612c56de78349ff24e35 (commit) via 7dc8462b20f597184bd942569b50cdad03977f6f (commit) via ee7c0c323503d7dc95bf10744a4fc2e0dfbe4edf (commit) from ad8707c74cea2bea661ffd1a187db36dc269e06c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 17cb45f2f0424bff46dc0ac26d93543a2781136e Merge: ad8707c74 d66a601c8 Author: Nate Bargmann <n0...@n0...> Date: Sun Aug 24 15:50:44 2025 -0500 Merge GitHub PR #1862 commit d66a601c8395178bf02955a0f99b42180438701b Author: Nate Bargmann <n0...@n0...> Date: Sun Aug 24 21:58:50 2025 +0200 Fix typo in digraph diff --git a/configure.ac b/configure.ac index fb1cf573e..81e045539 100644 --- a/configure.ac +++ b/configure.ac @@ -407,7 +407,7 @@ AC_MSG_CHECKING([whether to use INDI in rotctl/rotctld]) AC_ARG_WITH([indi], [AS_HELP_STRING([--without-indi], - [disable INDI in rotctl/rotctld @<:@default=detect:>@])], + [disable INDI in rotctl/rotctld @<:@default=detect@:>@])], [cf_with_indi_support=$withval], [cf_with_indi_support=detect] ) commit a0792e4f85833f499daf007f7e5fef8302494ec9 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sun Aug 24 13:41:10 2025 +0200 Excercise the detect logic for INDI on the macOS CI libnova is available in brew, but libindi isn't available; ./configure will detect that and not build the INDI driver. diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 77953f3d9..21c9a58c4 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -68,6 +68,7 @@ jobs: run: | brew install autoconf brew install automake + brew install libnova brew install libtool brew install grep brew install swig @@ -86,7 +87,7 @@ jobs: run: ./configure ${{ matrix.configure_args }} - name: configure on macOS if: runner.os == 'macOS' - run: ./configure ${{ matrix.configure_args }} --without-lua-binding PYTHON=/opt/homebrew/bin/python3 + run: ./configure ${{ matrix.configure_args }} --with-indi=detect --without-lua-binding PYTHON=/opt/homebrew/bin/python3 - name: make run: make -j 4 V=0 --no-print-directory - name: make distcheck @@ -94,4 +95,4 @@ jobs: run: make distcheck V=0 --no-print-directory AM_DISTCHECK_CONFIGURE_FLAGS="${{ matrix.configure_args }} --without-perl-binding" - name: make distcheck on macOS if: runner.os == 'macOS' - run: make distcheck V=0 --no-print-directory AM_DISTCHECK_CONFIGURE_FLAGS="${{ matrix.configure_args }} --without-perl-binding --without-lua-binding --without-tcl-binding PYTHON=/opt/homebrew/bin/python3" + run: make distcheck V=0 --no-print-directory AM_DISTCHECK_CONFIGURE_FLAGS="${{ matrix.configure_args }} --with-indi=detect --without-perl-binding --without-lua-binding --without-tcl-binding PYTHON=/opt/homebrew/bin/python3" commit 43d9b3d35487a5344b3eca6df2398a356f7451a2 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sun Aug 24 11:09:21 2025 +0200 If --with-indi[=yes] was given, error out if prerequisites aren't met Error out also if libnova or libindi are missing, not just if a C++11 compiler is missing. diff --git a/configure.ac b/configure.ac index 439ea6b95..fb1cf573e 100644 --- a/configure.ac +++ b/configure.ac @@ -414,37 +414,35 @@ AC_ARG_WITH([indi], AC_MSG_RESULT([$cf_with_indi_support]) -case "${cf_with_indi_support}" in - detect) cf_with_indi_support=$cf_with_cxx ;; - yes) - AS_IF([test x"${cf_with_cxx}" != "xyes"], - [AC_MSG_ERROR([INDI support needs a C++ compiler.])] - ) - ;; - no) ;; - *) AC_MSG_ERROR([invalid value for --without-indi: ${cf_with_indi_support}]) ;; -esac - AS_IF([test x"$cf_with_indi_support" != "xno"], [ # macros/ax_lib_nova.m4 AX_LIB_NOVA - AS_IF([test x"$ax_cv_lib_nova" = "xno"], [ - AC_MSG_WARN([libnova support not found, required by INDI.]) - cf_with_indi_support=no - ]) + # macros/ax_lib_indi.m4 + AX_LIB_INDI +]) - AS_IF([test x"$ax_cv_lib_nova" != "xno"], [ - # macros/ax_lib_indi.m4 - AX_LIB_INDI +AS_IF([test x"$cf_with_indi_support" = "xyes"], [ + AS_IF([test x"$cf_with_cxx" = "xno"], + [AC_MSG_ERROR([INDI support needs a C++ compiler.])] + ) - AS_IF([test x"$ax_cv_lib_indi" = "xno"], [ - AC_MSG_WARN([INDI support not found.]) - cf_with_indi_support=no - ]) + AS_IF([test x"$ax_cv_lib_nova" = "xno"], + [AC_MSG_ERROR([libnova support not found, required by INDI.])] + ) - ]) + AS_IF([test x"$ax_cv_lib_indi" = "xno"], + [AC_MSG_ERROR([libindi support not found, required by INDI.])] + ) ]) + +AS_IF([test x"$cf_with_indi_support" = "xdetect"], [ + AS_IF([test x"$cf_with_cxx" = "xno" -o x"$ax_cv_lib_nova" = "xno" -o x"$ax_cv_lib_indi" = "xno"], + [cf_with_indi_support=no], + [cf_with_indi_support=yes] + ) +]) + AS_IF([test x"$cf_with_indi_support" != "xno"], [ROT_BACKEND_LIST="$ROT_BACKEND_LIST rotators/indi"], [ROT_BACKEND_OPTIONAL_LIST="$ROT_BACKEND_OPTIONAL_LIST rotators/indi"] commit e81e40ed70062765ad21a6eadfd5cb4753722165 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sun Aug 24 09:37:48 2025 +0200 If neither yes or no were given, build C++ binding only if prerequisites are met Options availables are: ./configure # same as --with-cxx-binding=detect ./configure --with-cxx-binding=detect # build if prerequisites are met ./configure --with-cxx-binding=no # do not build ./configure --without-cxx-binding # do not build ./configure --with-cxx-binding=yes # fail if prerequisites aren't met diff --git a/configure.ac b/configure.ac index 647ab65da..439ea6b95 100644 --- a/configure.ac +++ b/configure.ac @@ -555,22 +555,27 @@ BINDING_LIST="" BINDING_LIB_TARGETS="" -dnl Check if cxx-binding not wanted, default is to build it +dnl Check if cxx-binding not wanted, default is to build it if a C++ compiler is available # C++ binding AC_MSG_CHECKING([whether to build C++ binding]) AC_ARG_WITH([cxx-binding], [AS_HELP_STRING([--without-cxx-binding], - [do not build C++ binding @<:@default=yes@:>@])], + [do not build C++ binding @<:@default=detect@:>@])], [cf_with_cxx_binding=$withval], - [cf_with_cxx_binding=yes]) + [cf_with_cxx_binding=detect]) AC_MSG_RESULT([$cf_with_cxx_binding]) -AS_IF([test x"$cf_with_cxx_binding" = "xyes"], [ - AS_IF([test x"${cf_with_cxx}" != "xyes"], [ - AC_MSG_ERROR([C++ binding needs a C++ compiler.]) - ]) -]) +case "${cf_with_cxx_binding}" in + detect) cf_with_cxx_binding=$cf_with_cxx ;; + yes) + AS_IF([test x"${cf_with_cxx}" != "xyes"], + [AC_MSG_ERROR([C++ binding needs a C++ compiler.])] + ) + ;; + no) ;; + *) AC_MSG_ERROR([invalid value for --without-cxx-binding: ${cf_with_cxx_binding}]) ;; +esac AS_IF([test x"${cf_with_cxx_binding}" = "xyes"], [BINDINGS="${BINDINGS} c++"]) commit 91e5f1441f43f638a0698fe037a4127ea6a11493 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sun Aug 24 09:34:33 2025 +0200 If neither yes or no were given, build INDI only if prerequisites are met Options availables are: ./configure # same as --with-indi=detect ./configure --with-indi=detect # build if prerequisites are met ./configure --with-indi=no # do not build ./configure --without-indi # do not build ./configure --with-indi=yes # fail if prerequisites aren't met diff --git a/configure.ac b/configure.ac index 1a2635c6c..647ab65da 100644 --- a/configure.ac +++ b/configure.ac @@ -407,18 +407,23 @@ AC_MSG_CHECKING([whether to use INDI in rotctl/rotctld]) AC_ARG_WITH([indi], [AS_HELP_STRING([--without-indi], - [disable INDI in rotctl/rotctld @<:@default=yes:>@])], + [disable INDI in rotctl/rotctld @<:@default=detect:>@])], [cf_with_indi_support=$withval], - [cf_with_indi_support=yes] + [cf_with_indi_support=detect] ) AC_MSG_RESULT([$cf_with_indi_support]) -AS_IF([test x"$cf_with_indi_support" = "xyes"], [ - AS_IF([test x"${cf_with_cxx}" != "xyes"], [ - AC_MSG_ERROR([INDI support needs a C++ compiler.]) - ]) -]) +case "${cf_with_indi_support}" in + detect) cf_with_indi_support=$cf_with_cxx ;; + yes) + AS_IF([test x"${cf_with_cxx}" != "xyes"], + [AC_MSG_ERROR([INDI support needs a C++ compiler.])] + ) + ;; + no) ;; + *) AC_MSG_ERROR([invalid value for --without-indi: ${cf_with_indi_support}]) ;; +esac AS_IF([test x"$cf_with_indi_support" != "xno"], [ # macros/ax_lib_nova.m4 commit b300747aa228d42740a76e6d6d3418ae2be7ec51 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sat Aug 23 22:52:54 2025 +0200 Fix comment and messages Looks like they were copied from the texts for readline. diff --git a/configure.ac b/configure.ac index ad43b6065..1a2635c6c 100644 --- a/configure.ac +++ b/configure.ac @@ -402,12 +402,12 @@ AS_IF([test x"$ax_cv_lib_readline" = "xno"], [ cf_with_readline_support=no ]) -dnl Check if INDI support in rigctl/rotctl is wanted -AC_MSG_CHECKING([whether to use INDI in rigctl/rotctl]) +dnl Check if INDI support in rotctl/rotctld is wanted +AC_MSG_CHECKING([whether to use INDI in rotctl/rotctld]) AC_ARG_WITH([indi], [AS_HELP_STRING([--without-indi], - [disable INDI in rigctl/rotctl @<:@default=yes@:>@])], + [disable INDI in rotctl/rotctld @<:@default=yes:>@])], [cf_with_indi_support=$withval], [cf_with_indi_support=yes] ) commit 8febac180a6f98900ccb5d2c2cffd12ba46886f9 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Fri Aug 22 14:38:12 2025 +0200 Fix typo diff --git a/configure.ac b/configure.ac index 327e8fae2..ad43b6065 100644 --- a/configure.ac +++ b/configure.ac @@ -111,7 +111,7 @@ AC_PROG_AWK AC_PROG_INSTALL AC_PROG_LN_S -dml check whether CXX is functional +dnl check whether CXX is functional AX_CXX_COMPILE_STDCXX([11],[noext],[optional]) AS_IF([test "$HAVE_CXX11" = 1], [cf_with_cxx=yes], commit cb6866ff8650b266f2fa8d4554b5de51d6cdba35 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Fri Aug 22 10:47:28 2025 +0200 Fix detecting functional C++11 compilers Allows to build Hamlib when a C++ compiler isn't available, by running: ./configure --without-indi --without-cxx-binding diff --git a/configure.ac b/configure.ac index ccad1182e..327e8fae2 100644 --- a/configure.ac +++ b/configure.ac @@ -111,11 +111,13 @@ AC_PROG_AWK AC_PROG_INSTALL AC_PROG_LN_S -AS_IF([test -z "$CXX"], - [cf_with_cxx=no], - [cf_with_cxx=yes] +dml check whether CXX is functional +AX_CXX_COMPILE_STDCXX([11],[noext],[optional]) +AS_IF([test "$HAVE_CXX11" = 1], + [cf_with_cxx=yes], + [cf_with_cxx=no] ) -AM_CONDITIONAL([ENABLE_CXX], [test x"${cf_with_cxx}" = "xyes"]) +AM_CONDITIONAL([ENABLE_CXX], [test "$HAVE_CXX11" = 1]) dnl Broke on older Automake, so test for its existence. m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) @@ -821,9 +823,6 @@ AS_IF([test x"${DL_LIBS}" = "x-ldl"], AC_SUBST([DL_LIBS]) -dnl check for c++11 -AX_CXX_COMPILE_STDCXX([11],[noext],[optional]) - dnl stuff that requires C++ support AS_IF([test x"${cf_with_usrp}" = "xyes"],[ commit e772d6481ef7d016a687ae6f57a26d1087543ae1 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Thu Aug 21 22:37:22 2025 +0200 Fix usage of AS_IF Needs one set of square brackets for the true case and one sert for false case. diff --git a/configure.ac b/configure.ac index 24b2c6b70..ccad1182e 100644 --- a/configure.ac +++ b/configure.ac @@ -111,10 +111,10 @@ AC_PROG_AWK AC_PROG_INSTALL AC_PROG_LN_S -AS_IF([test -z "$CXX"], [ - cf_with_cxx=yes, - cf_with_cxx=no -]) +AS_IF([test -z "$CXX"], + [cf_with_cxx=no], + [cf_with_cxx=yes] +) AM_CONDITIONAL([ENABLE_CXX], [test x"${cf_with_cxx}" = "xyes"]) dnl Broke on older Automake, so test for its existence. commit 3b2df4ecd0ce49311f75612c56de78349ff24e35 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Thu Aug 21 19:56:13 2025 +0200 Fix detecting the availability of a C++ compiler that needs arguments If the earlier macro AC_PROG_CXX found a compiler that needs some arguments, the variable CXX will contain also the arguments, so the macro AC_CHECK_PROG will try to find a file that doesn't exist (such as "g++ -std=gnu++11" instead of just "g++"). If AC_PROG_CXX didn't find a compiler, the variable CXX is empty. diff --git a/configure.ac b/configure.ac index e10251f05..24b2c6b70 100644 --- a/configure.ac +++ b/configure.ac @@ -111,9 +111,10 @@ AC_PROG_AWK AC_PROG_INSTALL AC_PROG_LN_S -# TODO: check whether CXX is functional -AC_CHECK_PROG([cf_with_cxx], ["${CXX}"], [yes], [no]) - +AS_IF([test -z "$CXX"], [ + cf_with_cxx=yes, + cf_with_cxx=no +]) AM_CONDITIONAL([ENABLE_CXX], [test x"${cf_with_cxx}" = "xyes"]) dnl Broke on older Automake, so test for its existence. commit 7dc8462b20f597184bd942569b50cdad03977f6f Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Thu Aug 21 18:02:17 2025 +0200 Add missing AC_MSG_RESULT diff --git a/configure.ac b/configure.ac index 7b3db011e..e10251f05 100644 --- a/configure.ac +++ b/configure.ac @@ -409,6 +409,8 @@ AC_ARG_WITH([indi], [cf_with_indi_support=yes] ) +AC_MSG_RESULT([$cf_with_indi_support]) + AS_IF([test x"$cf_with_indi_support" = "xyes"], [ AS_IF([test x"${cf_with_cxx}" != "xyes"], [ AC_MSG_ERROR([INDI support needs a C++ compiler.]) commit ee7c0c323503d7dc95bf10744a4fc2e0dfbe4edf Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Thu Aug 21 16:54:36 2025 +0200 Make a C++11 compiler mandatory if INDI or C++ binding are requested Otherwise make it optional. Fixes issue #1730. diff --git a/configure.ac b/configure.ac index c6a0caa24..7b3db011e 100644 --- a/configure.ac +++ b/configure.ac @@ -401,20 +401,17 @@ AS_IF([test x"$ax_cv_lib_readline" = "xno"], [ dnl Check if INDI support in rigctl/rotctl is wanted AC_MSG_CHECKING([whether to use INDI in rigctl/rotctl]) -#AS_IF([test x"${cf_with_cxx_binding}" = "xyes"], [ - AC_ARG_WITH([indi], - [AS_HELP_STRING([--without-indi], - [disable INDI in rigctl/rotctl @<:@default=yes@:>@])], - [cf_with_indi_support=$with_indi], - [cf_with_indi_support=no] - ) -#]) -AS_IF([test x"$cf_with_indi_support" != "xno"], [ - # INDI support needs a C++ compiler, tested for presence above. +AC_ARG_WITH([indi], + [AS_HELP_STRING([--without-indi], + [disable INDI in rigctl/rotctl @<:@default=yes@:>@])], + [cf_with_indi_support=$withval], + [cf_with_indi_support=yes] +) + +AS_IF([test x"$cf_with_indi_support" = "xyes"], [ AS_IF([test x"${cf_with_cxx}" != "xyes"], [ - AC_MSG_WARN([INDI support needs a C++ compiler.]) - cf_with_indi_support=no + AC_MSG_ERROR([INDI support needs a C++ compiler.]) ]) ]) @@ -556,9 +553,15 @@ AC_ARG_WITH([cxx-binding], [AS_HELP_STRING([--without-cxx-binding], [do not build C++ binding @<:@default=yes@:>@])], [cf_with_cxx_binding=$withval], - [cf_with_cxx_binding=$cf_with_cxx]) + [cf_with_cxx_binding=yes]) AC_MSG_RESULT([$cf_with_cxx_binding]) +AS_IF([test x"$cf_with_cxx_binding" = "xyes"], [ + AS_IF([test x"${cf_with_cxx}" != "xyes"], [ + AC_MSG_ERROR([C++ binding needs a C++ compiler.]) + ]) +]) + AS_IF([test x"${cf_with_cxx_binding}" = "xyes"], [BINDINGS="${BINDINGS} c++"]) @@ -816,7 +819,7 @@ AS_IF([test x"${DL_LIBS}" = "x-ldl"], AC_SUBST([DL_LIBS]) dnl check for c++11 -AX_CXX_COMPILE_STDCXX([11],[noext],[mandatory]) +AX_CXX_COMPILE_STDCXX([11],[noext],[optional]) dnl stuff that requires C++ support ----------------------------------------------------------------------- Summary of changes: .github/workflows/c-cpp.yml | 5 ++- configure.ac | 91 ++++++++++++++++++++++++++------------------- 2 files changed, 55 insertions(+), 41 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |