public inbox for newlib-cvs@sourceware.org
help / color / mirror / Atom feed
* [newlib-cygwin/cygwin-3_4-branch] Cygwin: dumper: also link with libzstd, as libbfd may require it
@ 2023-02-14 22:05 Jon Turney
  0 siblings, 0 replies; only message in thread
From: Jon Turney @ 2023-02-14 22:05 UTC (permalink / raw)
  To: cygwin-cvs, newlib-cvs

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=2fd459c3b180def80b0db4b6c91e4f088e779cc1

commit 2fd459c3b180def80b0db4b6c91e4f088e779cc1
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Tue Feb 14 13:52:39 2023 +0000

    Cygwin: dumper: also link with libzstd, as libbfd may require it
    
    Also allow that linkage to be dynamic, as libzstd-devel doesn't
    currently provide a static library.

Diff:
---
 .appveyor.yml                  | 1 +
 .github/workflows/cygwin.yml   | 1 +
 winsup/configure.ac            | 7 +++++++
 winsup/doc/faq-programming.xml | 2 +-
 winsup/utils/Makefile.am       | 3 ++-
 5 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/.appveyor.yml b/.appveyor.yml
index 50a9101b7..9f20f6d83 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -35,6 +35,7 @@ patch,\
 cocom,\
 gettext-devel,\
 libiconv-devel,\
+libzstd-devel,\
 zlib-devel,\
 %PKGARCH%-gcc-core,\
 %PKGARCH%-gcc-g++,\
diff --git a/.github/workflows/cygwin.yml b/.github/workflows/cygwin.yml
index 7ad5ccf5f..8f7b888e3 100644
--- a/.github/workflows/cygwin.yml
+++ b/.github/workflows/cygwin.yml
@@ -80,6 +80,7 @@ jobs:
           gettext-devel,
           libiconv,
           libiconv-devel,
+          libzstd-devel,
           make,
           mingw64-${{ matrix.pkgarch }}-gcc-g++,
           mingw64-${{ matrix.pkgarch }}-zlib,
diff --git a/winsup/configure.ac b/winsup/configure.ac
index 9205a8886..49a8346fa 100644
--- a/winsup/configure.ac
+++ b/winsup/configure.ac
@@ -116,6 +116,13 @@ AC_CHECK_LIB([bfd], [bfd_init], [true],
 
 AM_CONDITIONAL(BUILD_DUMPER, [test "x$ac_cv_lib_bfd_bfd_init" = "xyes"])
 
+# libbfd.a doesn't have a pkgconfig file, so we guess what it's dependencies
+# are, based on what's present in the build environment
+BFD_LIBS="-lintl -liconv -liberty -lz"
+AC_CHECK_LIB([sframe], [sframe_decode], [BFD_LIBS="${BFD_LIBS} -lsframe"])
+AC_CHECK_LIB([zstd], [ZSTD_isError], [BFD_LIBS="${BFD_LIBS} -lzstd"])
+AC_SUBST([BFD_LIBS])
+
 AC_CONFIG_FILES([
     Makefile
     cygwin/Makefile
diff --git a/winsup/doc/faq-programming.xml b/winsup/doc/faq-programming.xml
index 632d1a173..d23f32c3a 100644
--- a/winsup/doc/faq-programming.xml
+++ b/winsup/doc/faq-programming.xml
@@ -679,7 +679,7 @@ rewriting the runtime library in question from specs...
 installed; you at least need <literal>gcc-g++</literal>,
 <literal>make</literal>, <literal>automake</literal>,
 <literal>autoconf</literal>, <literal>git</literal>, <literal>perl</literal>,
-<literal>gettext-devel</literal>, <literal>libiconv-devel</literal>
+<literal>gettext-devel</literal>, <literal>libiconv-devel</literal>, <literal>libzstd-devel</literal>,
 <literal>zlib-devel</literal>, <literal>cocom</literal> and <literal>patch</literal>.
 </para>
 
diff --git a/winsup/utils/Makefile.am b/winsup/utils/Makefile.am
index 6be5b12c2..fa6499dfe 100644
--- a/winsup/utils/Makefile.am
+++ b/winsup/utils/Makefile.am
@@ -78,7 +78,8 @@ LDADD = -lnetapi32
 cygpath_CXXFLAGS = -fno-threadsafe-statics $(AM_CXXFLAGS)
 cygpath_LDADD = $(LDADD) -luserenv -lntdll
 dumper_CXXFLAGS = -I$(top_srcdir)/../include $(AM_CXXFLAGS)
-dumper_LDADD = $(LDADD) -lpsapi -lbfd -lintl -liconv -liberty -lz -lntdll
+dumper_LDADD = $(LDADD) -lpsapi -lntdll -lbfd @BFD_LIBS@
+dumper_LDFLAGS =
 ldd_LDADD = $(LDADD) -lpsapi -lntdll
 mount_CXXFLAGS = -DFSTAB_ONLY $(AM_CXXFLAGS)
 minidumper_LDADD = $(LDADD) -ldbghelp

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-02-14 22:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-14 22:05 [newlib-cygwin/cygwin-3_4-branch] Cygwin: dumper: also link with libzstd, as libbfd may require it Jon Turney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).