1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
From 4fa9a211adbcb1ae9329db41c27854af70f39d64 Mon Sep 17 00:00:00 2001
From: orbea <orbea@riseup.net>
Date: Fri, 6 May 2022 17:13:36 -0700
Subject: [PATCH] bindings: Fix tcl build with slibtool
---
bindings/Makefile.am | 3 ++-
configure.ac | 16 ++++++++++++----
macros/tcl.m4 | 1 +
3 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/bindings/Makefile.am b/bindings/Makefile.am
index f9f17d567..7e2647945 100644
--- a/bindings/Makefile.am
+++ b/bindings/Makefile.am
@@ -149,8 +149,9 @@ PKG_VER = $(ABI_VERSION).$(ABI_REVISION)
DLL = hamlibtcl-$(PKG_VER)$(TCL_SHLIB_SUFFIX)
nodist_hamlibtcl_la_SOURCES = hamlibtcl_wrap.c
+hamlibtcl_la_CFLAGS = $(TCL_CFLAGS)
hamlibtcl_la_LDFLAGS = -no-undefined -module -release $(PKG_VER) -avoid-version
-hamlibtcl_la_LIBADD = $(top_builddir)/src/libhamlib.la $(TCL_LIB_SPEC)
+hamlibtcl_la_LIBADD = $(top_builddir)/src/libhamlib.la $(TCL_LIB_SPEC) $(TCL_LIBS)
hamlibtcl_ladir = $(tcldir)
hamlibtcl_la_DATA = pkgIndex.tcl
diff --git a/configure.ac b/configure.ac
index f58eb0925..ab6e120f7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -589,11 +589,16 @@ AC_ARG_WITH([tcl-binding],
[build_tcl=no])
AC_MSG_RESULT([$build_tcl])
-dnl SC_PATH_TCLCONFIG and SC_LOAD_TCLCONFIG from macros/tcl.m4
+dnl tcl.pc or SC_PATH_TCLCONFIG and SC_LOAD_TCLCONFIG from macros/tcl.m4
AS_IF([test x"${build_tcl}" = "xyes"],[
- dnl Search for and load tclConfig.sh.
- SC_PATH_TCLCONFIG
- SC_LOAD_TCLCONFIG
+ dnl Search for and load tcl.pc or tclConfig.sh.
+ PKG_CHECK_MODULES([TCL], [tcl],
+ [],
+ [
+ AC_MSG_WARN([Unable to find Tcl pkgconfig])
+ SC_PATH_TCLCONFIG
+ SC_LOAD_TCLCONFIG
+ ])
tcl_save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $TCL_INCLUDE_SPEC"
@@ -617,6 +622,9 @@ AC_SUBST([TCL_VERSION])
AC_SUBST([TCL_LIB_SPEC])
AC_SUBST([TCL_INCLUDE_SPEC])
AC_SUBST([TCL_SHLIB_SUFFIX])
+dnl These variables are set once tcl.pc is found.
+AC_SUBST([TCL_LIBS])
+AC_SUBST([TCL_CFLAGS])
dnl Check for lua availability, so we can enable HamlibLua
diff --git a/macros/tcl.m4 b/macros/tcl.m4
index feed05ce3..c1d308cf4 100644
--- a/macros/tcl.m4
+++ b/macros/tcl.m4
@@ -130,6 +130,7 @@ AC_DEFUN([SC_LOAD_TCLCONFIG], [
. $TCL_BIN_DIR/tclConfig.sh
else
AC_MSG_RESULT([file not found])
+ AC_MSG_ERROR([failed to load tclConfig.sh])
fi
#
|