This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository legacy-imlib2.
View the commit online.
commit 46d2faec1e72d78ce512f3eb2386b74b7c9ebcd2
Author: Kim Woelders <k...@woelders.dk>
AuthorDate: Fri Mar 21 19:53:20 2025 +0100
autofoo: Optionally link modules with libImlib2.la
Needed on systems where libImlib2.so is loaded with RTLD_LOCAL.
https://git.enlightenment.org/old/legacy-imlib2/issues/30
---
configure.ac | 6 +++++
src/modules/filters/Makefile.am | 8 ++++++-
src/modules/loaders/Makefile.am | 49 +++++++++++++++++++++++++++--------------
3 files changed, 45 insertions(+), 18 deletions(-)
diff --git a/configure.ac b/configure.ac
index 234124d..5eca34c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -276,6 +276,12 @@ AC_ARG_ENABLE([doc-build],
)
AM_CONDITIONAL(BUILD_DOC, test "$enable_doc_build" = "yes")
+# If libImlib2 is loaded with RTLD_LOCAL, modules must be linked with libimlib2
+AC_ARG_ENABLE([rtld-local-support],
+ [AS_HELP_STRING([--enable-rtld-local-support], [Link modules with libImlib2 @<:@default=no@:>@])]
+)
+AM_CONDITIONAL(ENABLE_RTLD_LOCAL_SUPPORT, test "$enable_rtld_local_support" = "yes")
+
EC_C_WARNINGS()
EC_C_VISIBILITY(yes)
EC_C_PACKING()
diff --git a/src/modules/filters/Makefile.am b/src/modules/filters/Makefile.am
index 90aa7a4..dbb9d08 100644
--- a/src/modules/filters/Makefile.am
+++ b/src/modules/filters/Makefile.am
@@ -6,16 +6,22 @@ pkg_LTLIBRARIES = testfilter.la bumpmap.la colormod.la
EXTRA_DIST = filter_common.h
+if ENABLE_RTLD_LOCAL_SUPPORT
+LIBADD_EXTRA = $(top_builddir)/src/lib/libImlib2.la
+endif
+
testfilter_la_SOURCES = filter_test.c
testfilter_la_LDFLAGS = -module -avoid-version
+testfilter_la_LIBADD = $(LIBADD_EXTRA)
testfilter_la_LIBTOOLFLAGS = --tag=disable-static
bumpmap_la_SOURCES = filter_bumpmap.c
bumpmap_la_LDFLAGS = -module -avoid-version
-bumpmap_la_LIBADD = -lm
+bumpmap_la_LIBADD = $(LIBADD_EXTRA) -lm
bumpmap_la_LIBTOOLFLAGS = --tag=disable-static
colormod_la_SOURCES = filter_colormod.c
colormod_la_LDFLAGS = -module -avoid-version
+colormod_la_LIBADD = $(LIBADD_EXTRA)
colormod_la_LIBTOOLFLAGS = --tag=disable-static
diff --git a/src/modules/loaders/Makefile.am b/src/modules/loaders/Makefile.am
index fa3fc53..d6cca35 100644
--- a/src/modules/loaders/Makefile.am
+++ b/src/modules/loaders/Makefile.am
@@ -74,147 +74,162 @@ endif
SRCS_EXIF = exif.c exif.h
SRCS_SAVE = ldrs_util.c ldrs_util.h
+if ENABLE_RTLD_LOCAL_SUPPORT
+LIBADD_EXTRA = $(top_builddir)/src/lib/libImlib2.la
+endif
+
ani_la_SOURCES = loader_ani.c
ani_la_LDFLAGS = -module -avoid-version
+ani_la_LIBADD = $(LIBADD_EXTRA)
ani_la_LIBTOOLFLAGS = --tag=disable-static
argb_la_SOURCES = loader_argb.c
argb_la_LDFLAGS = -module -avoid-version
+argb_la_LIBADD = $(LIBADD_EXTRA)
argb_la_LIBTOOLFLAGS = --tag=disable-static
avif_la_SOURCES = loader_avif.c $(SRCS_SAVE)
avif_la_CPPFLAGS = $(AM_CPPFLAGS) $(AVIF_CFLAGS)
avif_la_LDFLAGS = -module -avoid-version
-avif_la_LIBADD = $(AVIF_LIBS)
+avif_la_LIBADD = $(AVIF_LIBS) $(LIBADD_EXTRA)
avif_la_LIBTOOLFLAGS = --tag=disable-static
bmp_la_SOURCES = loader_bmp.c
bmp_la_LDFLAGS = -module -avoid-version
+bmp_la_LIBADD = $(LIBADD_EXTRA)
bmp_la_LIBTOOLFLAGS = --tag=disable-static
ff_la_SOURCES = loader_ff.c
ff_la_LDFLAGS = -module -avoid-version
+ff_la_LIBADD = $(LIBADD_EXTRA)
ff_la_LIBTOOLFLAGS = --tag=disable-static
gif_la_SOURCES = loader_gif.c
gif_la_LDFLAGS = -module -avoid-version
-gif_la_LIBADD = $(GIF_LIBS)
+gif_la_LIBADD = $(GIF_LIBS) $(LIBADD_EXTRA)
gif_la_LIBTOOLFLAGS = --tag=disable-static
heif_la_SOURCES = loader_heif.c $(SRCS_SAVE)
heif_la_CPPFLAGS = $(AM_CPPFLAGS) $(HEIF_CFLAGS)
heif_la_LDFLAGS = -module -avoid-version
-heif_la_LIBADD = $(HEIF_LIBS)
+heif_la_LIBADD = $(HEIF_LIBS) $(LIBADD_EXTRA)
heif_la_LIBTOOLFLAGS = --tag=disable-static
ico_la_SOURCES = loader_ico.c
ico_la_LDFLAGS = -module -avoid-version
+ico_la_LIBADD = $(LIBADD_EXTRA)
ico_la_LIBTOOLFLAGS = --tag=disable-static
jpeg_la_SOURCES = loader_jpeg.c $(SRCS_EXIF) $(SRCS_SAVE)
jpeg_la_CPPFLAGS = $(AM_CPPFLAGS) $(JPEG_CFLAGS)
jpeg_la_LDFLAGS = -module -avoid-version
-jpeg_la_LIBADD = $(JPEG_LIBS)
+jpeg_la_LIBADD = $(JPEG_LIBS) $(LIBADD_EXTRA)
jpeg_la_LIBTOOLFLAGS = --tag=disable-static
j2k_la_SOURCES = loader_j2k.c
j2k_la_CPPFLAGS = $(AM_CPPFLAGS) $(J2K_CFLAGS)
j2k_la_LDFLAGS = -module -avoid-version
-j2k_la_LIBADD = $(J2K_LIBS)
+j2k_la_LIBADD = $(J2K_LIBS) $(LIBADD_EXTRA)
j2k_la_LIBTOOLFLAGS = --tag=disable-static
jxl_la_SOURCES = loader_jxl.c $(SRCS_SAVE)
jxl_la_CPPFLAGS = $(AM_CPPFLAGS) $(JXL_CFLAGS)
jxl_la_LDFLAGS = -module -avoid-version
-jxl_la_LIBADD = $(JXL_LIBS)
+jxl_la_LIBADD = $(JXL_LIBS) $(LIBADD_EXTRA)
jxl_la_LIBTOOLFLAGS = --tag=disable-static
lbm_la_SOURCES = loader_lbm.c
lbm_la_LDFLAGS = -module -avoid-version
+lbm_la_LIBADD = $(LIBADD_EXTRA)
lbm_la_LIBTOOLFLAGS = --tag=disable-static
png_la_SOURCES = loader_png.c $(SRCS_SAVE)
png_la_CPPFLAGS = $(AM_CPPFLAGS) $(PNG_CFLAGS)
png_la_LDFLAGS = -module -avoid-version
-png_la_LIBADD = $(PNG_LIBS)
+png_la_LIBADD = $(PNG_LIBS) $(LIBADD_EXTRA)
png_la_LIBTOOLFLAGS = --tag=disable-static
pnm_la_SOURCES = loader_pnm.c
pnm_la_LDFLAGS = -module -avoid-version
+pnm_la_LIBADD = $(LIBADD_EXTRA)
pnm_la_LIBTOOLFLAGS = --tag=disable-static
ps_la_SOURCES = loader_ps.c
ps_la_CPPFLAGS = $(AM_CPPFLAGS) $(PS_CFLAGS)
ps_la_LDFLAGS = -module -avoid-version
-ps_la_LIBADD = $(PS_LIBS)
+ps_la_LIBADD = $(PS_LIBS) $(LIBADD_EXTRA)
ps_la_LIBTOOLFLAGS = --tag=disable-static
raw_la_SOURCES = loader_raw.c
raw_la_CPPFLAGS = $(AM_CPPFLAGS) $(RAW_CFLAGS)
raw_la_LDFLAGS = -module -avoid-version
-raw_la_LIBADD = $(RAW_LIBS)
+raw_la_LIBADD = $(RAW_LIBS) $(LIBADD_EXTRA)
raw_la_LIBTOOLFLAGS = --tag=disable-static
qoi_la_SOURCES = loader_qoi.c
qoi_la_LDFLAGS = -module -avoid-version
+qoi_la_LIBADD = $(LIBADD_EXTRA)
qoi_la_LIBTOOLFLAGS = --tag=disable-static
svg_la_SOURCES = loader_svg.c
svg_la_CPPFLAGS = $(AM_CPPFLAGS) $(SVG_CFLAGS)
svg_la_LDFLAGS = -module -avoid-version
-svg_la_LIBADD = $(SVG_LIBS)
+svg_la_LIBADD = $(SVG_LIBS) $(LIBADD_EXTRA)
svg_la_LIBTOOLFLAGS = --tag=disable-static
tga_la_SOURCES = loader_tga.c
tga_la_LDFLAGS = -module -avoid-version
+tga_la_LIBADD = $(LIBADD_EXTRA)
tga_la_LIBTOOLFLAGS = --tag=disable-static
tiff_la_SOURCES = loader_tiff.c $(SRCS_SAVE)
tiff_la_CPPFLAGS = $(AM_CPPFLAGS) $(TIFF_CFLAGS)
tiff_la_LDFLAGS = -module -avoid-version
-tiff_la_LIBADD = $(TIFF_LIBS)
+tiff_la_LIBADD = $(TIFF_LIBS) $(LIBADD_EXTRA)
tiff_la_LIBTOOLFLAGS = --tag=disable-static
webp_la_SOURCES = loader_webp.c $(SRCS_SAVE)
webp_la_CPPFLAGS = $(AM_CPPFLAGS) $(WEBP_CFLAGS)
webp_la_LDFLAGS = -module -avoid-version
-webp_la_LIBADD = $(WEBP_LIBS)
+webp_la_LIBADD = $(WEBP_LIBS) $(LIBADD_EXTRA)
webp_la_LIBTOOLFLAGS = --tag=disable-static
xbm_la_SOURCES = loader_xbm.c
xbm_la_LDFLAGS = -module -avoid-version
+xbm_la_LIBADD = $(LIBADD_EXTRA)
xbm_la_LIBTOOLFLAGS = --tag=disable-static
xpm_la_SOURCES = loader_xpm.c
xpm_la_LDFLAGS = -module -avoid-version
+xpm_la_LIBADD = $(LIBADD_EXTRA)
xpm_la_LIBTOOLFLAGS = --tag=disable-static
y4m_la_SOURCES = loader_y4m.c
y4m_la_CPPFLAGS = $(AM_CPPFLAGS) $(Y4M_CFLAGS)
y4m_la_LDFLAGS = -module -avoid-version
-y4m_la_LIBADD = $(Y4M_LIBS)
+y4m_la_LIBADD = $(Y4M_LIBS) $(LIBADD_EXTRA)
y4m_la_LIBTOOLFLAGS = --tag=disable-static
bz2_la_SOURCES = loader_bz2.c decompress_load.c compression.h
bz2_la_CPPFLAGS = $(AM_CPPFLAGS) $(BZ2_CFLAGS)
bz2_la_LDFLAGS = -module -avoid-version
-bz2_la_LIBADD = $(BZ2_LIBS)
+bz2_la_LIBADD = $(BZ2_LIBS) $(LIBADD_EXTRA)
bz2_la_LIBTOOLFLAGS = --tag=disable-static
lzma_la_SOURCES = loader_lzma.c decompress_load.c compression.h
lzma_la_CPPFLAGS = $(AM_CPPFLAGS) $(LZMA_CFLAGS)
lzma_la_LDFLAGS = -module -avoid-version
-lzma_la_LIBADD = $(LZMA_LIBS)
+lzma_la_LIBADD = $(LZMA_LIBS) $(LIBADD_EXTRA)
lzma_la_LIBTOOLFLAGS = --tag=disable-static
zlib_la_SOURCES = loader_zlib.c decompress_load.c compression.h
zlib_la_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_CFLAGS)
zlib_la_LDFLAGS = -module -avoid-version
-zlib_la_LIBADD = $(ZLIB_LIBS)
+zlib_la_LIBADD = $(ZLIB_LIBS) $(LIBADD_EXTRA)
zlib_la_LIBTOOLFLAGS = --tag=disable-static
id3_la_SOURCES = loader_id3.c
id3_la_CPPFLAGS = $(AM_CPPFLAGS) $(ID3_CFLAGS)
id3_la_LDFLAGS = -module -avoid-version
-id3_la_LIBADD = $(ID3_LIBS)
+id3_la_LIBADD = $(ID3_LIBS) $(LIBADD_EXTRA)
id3_la_LIBTOOLFLAGS = --tag=disable-static
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.