+2020-11-30 Dmitry V. Levin <ldv@altlinux.org>
+
+ * configure.ac (LIBDEBUGINFOD_SONAME): New AC_SUBST variable.
+ (AC_CONFIG_FILES): Add debuginfod/debuginfod.h.
+
2020-11-01 Érico N. Rolim <erico.erc@gmail.com>
* configure.ac: Check for fts and obstack from outside libc.
[Define to home page for this package])
AC_SUBST([PACKAGE_URL], ["http://elfutils.org/"])])
+LIBDEBUGINFOD_SONAME=libdebuginfod.so.1
+AC_SUBST([LIBDEBUGINFOD_SONAME])
+
# We want eu- as default program prefix if none was given by the user.
# But if the user explicitly provided --program-prefix="" then pretend
# it wasn't set at all (NONE). We want to test this really early before
AC_CONFIG_FILES([elfutils.spec:config/elfutils.spec.in])
dnl debuginfo-server client & server parts.
-AC_CONFIG_FILES([debuginfod/Makefile])
+AC_CONFIG_FILES([debuginfod/Makefile debuginfod/debuginfod.h])
AC_CANONICAL_HOST
+2020-11-30 Dmitry V. Levin <ldv@altlinux.org>
+
+ * Makefile.am (libdebuginfod.so): Replace $@.$(VERSION) with
+ $(LIBDEBUGINFOD_SONAME).
+ (install, uninstall, MOSTLYCLEANFILES): Replace
+ libdebuginfod.so.$(VERSION) with $(LIBDEBUGINFOD_SONAME).
+ (VERSION): Remove.
+ * debuginfod.h: Rename to ...
+ * debuginfod.h.in ... this.
+ (DEBUGINFOD_SONAME): New macro.
+
2020-11-30 Dmitry V. Levin <ldv@altlinux.org>
* Makefile.am (libdebuginfod.so$(EXEEXT)): Drop $(EXEEXT) suffix.
-I$(srcdir)/../libdw -I$(srcdir)/../libdwelf \
$(libmicrohttpd_CFLAGS) $(libcurl_CFLAGS) $(sqlite3_CFLAGS) \
$(libarchive_CFLAGS)
-VERSION = 1
# Disable eu- prefixing for artifacts (binaries & man pages) in this
# directory, since they do not conflict with binutils tools.
endif
libdebuginfod.so: $(srcdir)/libdebuginfod.map $(libdebuginfod_so_LIBS)
$(AM_V_CCLD)$(LINK) $(dso_LDFLAGS) -o $@ \
- -Wl,--soname,$@.$(VERSION) \
+ -Wl,--soname,$(LIBDEBUGINFOD_SONAME) \
-Wl,--version-script,$<,--no-undefined \
-Wl,--whole-archive $(libdebuginfod_so_LIBS) -Wl,--no-whole-archive \
$(libdebuginfod_so_LDLIBS)
@$(textrel_check)
- $(AM_V_at)ln -fs $@ $@.$(VERSION)
+ $(AM_V_at)ln -fs $@ $(LIBDEBUGINFOD_SONAME)
endif
if LIBDEBUGINFOD
install: install-am libdebuginfod.so
$(mkinstalldirs) $(DESTDIR)$(libdir)
$(INSTALL_PROGRAM) libdebuginfod.so $(DESTDIR)$(libdir)/libdebuginfod-$(PACKAGE_VERSION).so
- ln -fs libdebuginfod-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/libdebuginfod.so.$(VERSION)
- ln -fs libdebuginfod.so.$(VERSION) $(DESTDIR)$(libdir)/libdebuginfod.so
+ ln -fs libdebuginfod-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/$(LIBDEBUGINFOD_SONAME)
+ ln -fs libdebuginfod-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/libdebuginfod.so
uninstall: uninstall-am
rm -f $(DESTDIR)$(libdir)/libdebuginfod-$(PACKAGE_VERSION).so
- rm -f $(DESTDIR)$(libdir)/libdebuginfod.so.$(VERSION)
+ rm -f $(DESTDIR)$(libdir)/$(LIBDEBUGINFOD_SONAME)
rm -f $(DESTDIR)$(libdir)/libdebuginfod.so
rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/elfutils
endif
EXTRA_DIST = libdebuginfod.map
-MOSTLYCLEANFILES = $(am_libdebuginfod_pic_a_OBJECTS) libdebuginfod.so.$(VERSION)
+MOSTLYCLEANFILES = $(am_libdebuginfod_pic_a_OBJECTS) $(LIBDEBUGINFOD_SONAME)
CLEANFILES += $(am_libdebuginfod_pic_a_OBJECTS) libdebuginfod.so
# automake std-options override: arrange to pass LD_LIBRARY_PATH
#define DEBUGINFOD_PROGRESS_ENV_VAR "DEBUGINFOD_PROGRESS"
#define DEBUGINFOD_VERBOSE_ENV_VAR "DEBUGINFOD_VERBOSE"
+/* The libdebuginfod soname. */
+#define DEBUGINFOD_SONAME "@LIBDEBUGINFOD_SONAME@"
+
/* Handle for debuginfod-client connection. */
typedef struct debuginfod_client debuginfod_client;
+2020-12-06 Dmitry V. Levin <ldv@altlinux.org>
+
+ * debuginfod_find_debuginfo.3: Document DEBUGINFOD_SONAME macro.
+
2020-11-11 Mark Wielaard <mark@klomp.org>
* debuginfod_find_debuginfo.3: Document debuginfod_set_verbose_fd
ASCII decimal integer representing the interval or max unused age in seconds.
The default is one day and one week, respectively. Values of zero mean "immediately".
+.SH "MACROS"
+
+.SS "DEBUGINFOD_SONAME"
+
+Defined to the string that could be passed to
+.BR dlopen (3)
+if the library is loaded at runtime, for example
+
+.PP
+.in +4n
+.EX
+void *debuginfod_so = dlopen(DEBUGINFOD_SONAME, RTLD_LAZY);
+.EE
+.in
+
.SH "SECURITY"
.BR debuginfod_find_debuginfo (),
.BR debuginfod_find_executable (),