diff options
author | 2021-07-24 15:20:16 +0200 | |
---|---|---|
committer | 2021-07-24 18:29:54 +0200 | |
commit | 3111ad92464028a0247047e08921cec15c2b0d0e (patch) | |
tree | 520197a8f83c3261f0d460693180069832b7f6c3 | |
parent | Gentoo: Pass --hash-style=sysv to ld in the testsuite (diff) | |
download | binutils-gdb-3111ad92464028a0247047e08921cec15c2b0d0e.tar.gz binutils-gdb-3111ad92464028a0247047e08921cec15c2b0d0e.tar.bz2 binutils-gdb-3111ad92464028a0247047e08921cec15c2b0d0e.zip |
Give also libctf optionally a gentoo-specific soversion
-rw-r--r-- | libctf/Makefile.am | 13 | ||||
-rw-r--r-- | libctf/Makefile.in | 9 | ||||
-rwxr-xr-x | libctf/configure | 45 | ||||
-rw-r--r-- | libctf/configure.ac | 8 |
4 files changed, 70 insertions, 5 deletions
diff --git a/libctf/Makefile.am b/libctf/Makefile.am index e586d25fb37..eabc7fa8394 100644 --- a/libctf/Makefile.am +++ b/libctf/Makefile.am @@ -21,6 +21,8 @@ ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd AUTOMAKE_OPTIONS = dejagnu foreign no-texinfo.tex +EXTRA_SOVERSION_SUFFIX = @EXTRA_SOVERSION_SUFFIX@ + # This is where we get zlib from. zlibdir is -L../zlib and zlibinc is # -I../zlib, unless we were configured with --with-system-zlib, in which # case both are empty. @@ -41,8 +43,17 @@ include_HEADERS = noinst_LTLIBRARIES = libctf.la libctf-nobfd.la endif +# libctf by default uses libtool versioning. Unfortunately that keeps us from adding +# a supplement to the soversion. So we need to switch tracks and be creative. + +if HAVE_EXTRA_SOVERSION_SUFFIX +gentoo_ctf_soversion = 0.0.0.$(EXTRA_SOVERSION_SUFFIX) +else +gentoo_ctf_soversion = 0.0.0 +endif + libctf_nobfd_la_LIBADD = @CTF_LIBADD@ $(ZLIB) -libctf_nobfd_la_LDFLAGS = -version-info 0:0:0 @SHARED_LDFLAGS@ @VERSION_FLAGS@ +libctf_nobfd_la_LDFLAGS = -release $(gentoo_ctf_soversion) @SHARED_LDFLAGS@ @VERSION_FLAGS@ libctf_nobfd_la_CPPFLAGS = $(AM_CPPFLAGS) -DNOBFD=1 libctf_nobfd_la_SOURCES = ctf-archive.c ctf-dump.c ctf-create.c ctf-decl.c ctf-error.c \ ctf-hash.c ctf-labels.c ctf-dedup.c ctf-link.c ctf-lookup.c \ diff --git a/libctf/Makefile.in b/libctf/Makefile.in index 5cfa100f9cc..d92002a51d1 100644 --- a/libctf/Makefile.in +++ b/libctf/Makefile.in @@ -338,6 +338,7 @@ EXEEXT = @EXEEXT@ # Setup the testing framework, if you have one EXPECT = expect +EXTRA_SOVERSION_SUFFIX = @EXTRA_SOVERSION_SUFFIX@ FGREP = @FGREP@ GENCAT = @GENCAT@ GMSGFMT = @GMSGFMT@ @@ -436,6 +437,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -469,8 +471,13 @@ AM_CFLAGS = -std=gnu99 @ac_libctf_warn_cflags@ @warn@ @c_warn@ @WARN_PEDANTIC@ @ @INSTALL_LIBBFD_FALSE@include_HEADERS = @INSTALL_LIBBFD_TRUE@include_HEADERS = $(INCDIR)/ctf.h $(INCDIR)/ctf-api.h @INSTALL_LIBBFD_FALSE@noinst_LTLIBRARIES = libctf.la libctf-nobfd.la +@HAVE_EXTRA_SOVERSION_SUFFIX_FALSE@gentoo_ctf_soversion = 0.0.0 + +# libctf by default uses libtool versioning. Unfortunately that keeps us from adding +# a supplement to the soversion. So we need to switch tracks and be creative. +@HAVE_EXTRA_SOVERSION_SUFFIX_TRUE@gentoo_ctf_soversion = 0.0.0.$(EXTRA_SOVERSION_SUFFIX) libctf_nobfd_la_LIBADD = @CTF_LIBADD@ $(ZLIB) -libctf_nobfd_la_LDFLAGS = -version-info 0:0:0 @SHARED_LDFLAGS@ @VERSION_FLAGS@ +libctf_nobfd_la_LDFLAGS = -release $(gentoo_ctf_soversion) @SHARED_LDFLAGS@ @VERSION_FLAGS@ libctf_nobfd_la_CPPFLAGS = $(AM_CPPFLAGS) -DNOBFD=1 libctf_nobfd_la_SOURCES = ctf-archive.c ctf-dump.c ctf-create.c \ ctf-decl.c ctf-error.c ctf-hash.c ctf-labels.c ctf-dedup.c \ diff --git a/libctf/configure b/libctf/configure index 82bcf13a606..f2cbcf5f969 100755 --- a/libctf/configure +++ b/libctf/configure @@ -643,6 +643,9 @@ CTF_LIBADD SHARED_LDFLAGS NEED_CTF_QSORT_R_FALSE NEED_CTF_QSORT_R_TRUE +HAVE_EXTRA_SOVERSION_SUFFIX_FALSE +HAVE_EXTRA_SOVERSION_SUFFIX_TRUE +EXTRA_SOVERSION_SUFFIX ENABLE_LIBCTF_HASH_DEBUGGING_FALSE ENABLE_LIBCTF_HASH_DEBUGGING_TRUE zlibinc @@ -768,6 +771,7 @@ infodir docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -804,6 +808,7 @@ enable_maintainer_mode enable_install_libbfd with_system_zlib enable_libctf_hash_debugging +with_extra_soversion_suffix ' ac_precious_vars='build_alias host_alias @@ -852,6 +857,7 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1104,6 +1110,15 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1241,7 +1256,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir + libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1394,6 +1409,7 @@ Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -1461,6 +1477,8 @@ Optional Packages: both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-system-zlib use installed libz + --with-extra-soversion-suffix=SUFFIX + Append '.SUFFIX' to SONAME [[default=]] Some influential environment variables: CC C compiler command @@ -11586,7 +11604,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11589 "configure" +#line 11607 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11692,7 +11710,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11695 "configure" +#line 11713 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12899,6 +12917,23 @@ else fi +EXTRA_SOVERSION_SUFFIX= + +# Check whether --with-extra-soversion-suffix was given. +if test "${with_extra_soversion_suffix+set}" = set; then : + withval=$with_extra_soversion_suffix; EXTRA_SOVERSION_SUFFIX="${withval}" +fi + + + if test -n "${with_extra_soversion_suffix}"; then + HAVE_EXTRA_SOVERSION_SUFFIX_TRUE= + HAVE_EXTRA_SOVERSION_SUFFIX_FALSE='#' +else + HAVE_EXTRA_SOVERSION_SUFFIX_TRUE='#' + HAVE_EXTRA_SOVERSION_SUFFIX_FALSE= +fi + + # Similar to GDB_AC_CHECK_BFD. OLD_CFLAGS=$CFLAGS OLD_LDFLAGS=$LDFLAGS @@ -13657,6 +13692,10 @@ if test -z "${ENABLE_LIBCTF_HASH_DEBUGGING_TRUE}" && test -z "${ENABLE_LIBCTF_HA as_fn_error $? "conditional \"ENABLE_LIBCTF_HASH_DEBUGGING\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${HAVE_EXTRA_SOVERSION_SUFFIX_TRUE}" && test -z "${HAVE_EXTRA_SOVERSION_SUFFIX_FALSE}"; then + as_fn_error $? "conditional \"HAVE_EXTRA_SOVERSION_SUFFIX\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${NEED_CTF_QSORT_R_TRUE}" && test -z "${NEED_CTF_QSORT_R_FALSE}"; then as_fn_error $? "conditional \"NEED_CTF_QSORT_R\" was never defined. diff --git a/libctf/configure.ac b/libctf/configure.ac index 80644b89d67..f7e6180afd8 100644 --- a/libctf/configure.ac +++ b/libctf/configure.ac @@ -77,6 +77,14 @@ if test "${enable_libctf_hash_debugging}" = yes; then fi AM_CONDITIONAL(ENABLE_LIBCTF_HASH_DEBUGGING, test "${enable_libctf_hash_debugging}" = yes) +EXTRA_SOVERSION_SUFFIX= +AC_ARG_WITH(extra-soversion-suffix, + AS_HELP_STRING([--with-extra-soversion-suffix=SUFFIX], + [Append '.SUFFIX' to SONAME [[default=]]]), +[EXTRA_SOVERSION_SUFFIX="${withval}"]) +AC_SUBST(EXTRA_SOVERSION_SUFFIX) +AM_CONDITIONAL([HAVE_EXTRA_SOVERSION_SUFFIX], [test -n "${with_extra_soversion_suffix}"]) + # Similar to GDB_AC_CHECK_BFD. OLD_CFLAGS=$CFLAGS OLD_LDFLAGS=$LDFLAGS |