]> granicus.if.org Git - graphviz/commitdiff
fix: use '-module -avoid-version' when compiling TCL packages
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Fri, 17 Jun 2022 03:36:56 +0000 (20:36 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Wed, 22 Jun 2022 03:42:06 +0000 (20:42 -0700)
Quoting from #1285:

  They are runtime loadable (dlopen, or equivalent, from tcl program, via
  'load') rather than shared libraries for dynamic linking by others. On OS X,
  these two concepts have different extensions (.so vs .dylib). It's confusing
  when a runtime-loadable module has a dynamic-linker extension. In commit
  40123aedcd2761e98d8c9917be6040ea6187c97f, the -module flag was added to
  LDFLAGS in tclpkg/gv/Makefile.am, which fixes libgv_tcl.
  Could the same change be applied to the other tclpkg/*/Makefile.am LDFLAGS?

Gitlab: fixes #1285
Suggested-by: Daniel Macks
CHANGELOG.md
tclpkg/gdtclft/Makefile.am
tclpkg/tcldot/Makefile.am
tclpkg/tclhandle/Makefile.am
tclpkg/tclpathplan/Makefile.am
tclpkg/tclstubs/Makefile.am
tclpkg/tkspline/Makefile.am
tclpkg/tkstubs/Makefile.am

index 652afa385200c880ae582c0cb5932a8f0e743d5c..6c8addf2896f181cf3cc30aca589e3e769df4725 100644 (file)
@@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 - Failed assertion in `chkSgraph` for circo layout and ortho splines. #1990
 - Segmentation Fault with splines="ortho". #1658
 - Transparent Label appear in SVG output #146
+- Binary tcl modules should compile with -module #1285
 
 ## [4.0.0] – 2022-05-29
 
index 89d3b8bc670a9cdae9a56591fbf5d1a3f3f3438d..c2f77c318a6ddf2ef3e3d29c9a80bd81426e09cc 100644 (file)
@@ -28,7 +28,7 @@ endif
 libgdtclft_la_SOURCES = gdtclft.c
 libgdtclft_C_la_SOURCES = gdtclft.c
 
-libgdtclft_la_LDFLAGS = -no-undefined
+libgdtclft_la_LDFLAGS = -no-undefined -module -avoid-version
 
 if WITH_LIBGD
 libgdtclft_la_LIBADD = \
index d6ff588b3b5a900bad8c5852fada88bea56461eb..115cf9c9656febbcc7cf58c664f67b864a8a09d4 100644 (file)
@@ -46,7 +46,7 @@ libtcldot_la_SOURCES = \
        tcldot-io.c \
        no_builtins.c $(GDTCLFT)
 libtcldot_la_CPPFLAGS = $(AM_CPPFLAGS) -DDEMAND_LOADING=1
-libtcldot_la_LDFLAGS = -no-undefined
+libtcldot_la_LDFLAGS = -no-undefined -module -avoid-version
 
 libtcldot_la_LIBADD = $(TCLHANDLE_LIBS) $(GDTCLFT_LIBS) \
        $(top_builddir)/tclpkg/tclstubs/libtclstubs_C.la \
@@ -74,7 +74,7 @@ libtcldot_builtin_la_SOURCES = \
        tcldot-io.c \
        tcldot_builtins.c $(GDTCLFT)
 libtcldot_builtin_la_CPPFLAGS = $(AM_CPPFLAGS) -DDEMAND_LOADING=1
-libtcldot_builtin_la_LDFLAGS = -no-undefined
+libtcldot_builtin_la_LDFLAGS = -no-undefined -module -avoid-version
 
 libtcldot_builtin_la_LIBADD = $(TCLHANDLE_LIBS) \
        $(top_builddir)/plugin/dot_layout/libgvplugin_dot_layout_C.la \
index 8f5911861780f634e2fb26c5001c397b785dcb84..039aace1cdf91b96fc15e261e7a5ea2450415e18 100644 (file)
@@ -6,3 +6,4 @@ noinst_LTLIBRARIES = libtclhandle_C.la
 endif
 
 libtclhandle_C_la_SOURCES = tclhandle.c
+libtclhandle_C_la_LDFLAGS = -module -avoid-version
index ee29105a4f92c2a973567f5bb32a202c29a38218..a48dd37c07860ca429318c0cb29821eed689db10 100644 (file)
@@ -15,7 +15,7 @@ libtclplan_la_CPPFLAGS = \
        -I$(top_srcdir)/tclpkg/tclhandle \
        -I$(top_srcdir)/lib/pathplan $(TCL_INCLUDES)
 libtclplan_la_CFLAGS = $(TCL_CFLAGS)
-libtclplan_la_LDFLAGS = -no-undefined
+libtclplan_la_LDFLAGS = -no-undefined -module -avoid-version
 libtclplan_la_LIBADD = \
        $(top_builddir)/tclpkg/tclhandle/libtclhandle_C.la \
        $(top_builddir)/tclpkg/tclstubs/libtclstubs_C.la \
index a9adb7566c714922d9fa2a01c9ce3237cbe833b6..0a758cc79ba813362be840ffea1d9f10fefb924d 100644 (file)
@@ -9,3 +9,4 @@ endif
 libtclstubs_C_la_SOURCES = tclStubLib.c
 libtclstubs_C_la_CPPFLAGS = $(TCL_CFLAGS) $(TCL_INCLUDES)
 libtclstubs_C_la_LIBADD = $(TCL_STUB_LIB_SPEC)
+libtclstubs_C_la_LDFLAGS = -module -avoid-version
index 6b746a79a374ad6a5a2d37f5d2280c07795fcc25..099654d3c6547413a859ee223972d61bd52ce5dd 100644 (file)
@@ -25,7 +25,7 @@ pdf_DATA = tkspline.3tk.pdf
 endif
 endif
 
-libtkspline_la_LDFLAGS = -no-undefined
+libtkspline_la_LDFLAGS = -no-undefined -module -avoid-version
 libtkspline_la_SOURCES = tkspline.c
 libtkspline_la_LIBADD = \
        $(top_builddir)/tclpkg/tkstubs/libtkstubs_C.la \
index c63aed87381de2a0a05ff550f2074290f552de9e..27f2153908f4b20f41e0c4088e9587800f2fb59f 100644 (file)
@@ -9,3 +9,4 @@ endif
 libtkstubs_C_la_SOURCES = tkStubLib.c tkStubImg.c
 libtkstubs_C_la_CPPFLAGS = $(TCL_CFLAGS) $(TK_CFLAGS) $(TCL_INCLUDES) $(TK_INCLUDES) $(TK_XINCLUDES)
 libtkstubs_C_la_LIBADD = $(TK_STUB_LIB_SPEC)
+libtkstubs_C_la_LDFLAGS = -module -avoid-version