Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2023-02-14 16:52:39 +0300
committerJon Turney <jon.turney@dronecode.org.uk>2023-02-14 17:37:32 +0300
commit1387ea9f984d5a7aa096a66b67d61dc2cc565d21 (patch)
tree06bc83002d6764fb94a4e60fba381a6e85de2627
parent588624da2b0a921c7e72d12d19c2ac3321de0326 (diff)
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.
-rw-r--r--.appveyor.yml1
-rw-r--r--.github/workflows/cygwin.yml1
-rw-r--r--winsup/configure.ac10
-rw-r--r--winsup/doc/faq-programming.xml2
-rw-r--r--winsup/utils/Makefile.am7
5 files changed, 11 insertions, 10 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 10d0255ef..575ff1fdc 100644
--- a/.github/workflows/cygwin.yml
+++ b/.github/workflows/cygwin.yml
@@ -81,6 +81,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 76baf0a7d..13fce0da6 100644
--- a/winsup/configure.ac
+++ b/winsup/configure.ac
@@ -118,10 +118,12 @@ AC_ARG_ENABLE([dumper],
AM_CONDITIONAL(BUILD_DUMPER, [test "x$build_dumper" = "xyes"])
-AC_CHECK_LIB([sframe], [sframe_decode],
- AC_MSG_NOTICE([Detected libsframe; Assuming that libbfd depends on it]), [true])
-
-AM_CONDITIONAL(HAVE_LIBSFRAME, [test "x$ac_cv_lib_sframe_sframe_decode" = "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
diff --git a/winsup/doc/faq-programming.xml b/winsup/doc/faq-programming.xml
index 24c7f928e..7fc6baf25 100644
--- a/winsup/doc/faq-programming.xml
+++ b/winsup/doc/faq-programming.xml
@@ -684,7 +684,7 @@ installed; you at least need <literal>gcc-g++</literal>,
<para>
Additionally, building the <code>dumper</code> utility requires
-<literal>gettext-devel</literal>, <literal>libiconv-devel</literal>
+<literal>gettext-devel</literal>, <literal>libiconv-devel</literal>, <literal>libzstd-devel</literal> and
<literal>zlib-devel</literal>. Building this program can be disabled with the
<literal>--disable-dumper</literal> option to <literal>configure</literal>.
</para>
diff --git a/winsup/utils/Makefile.am b/winsup/utils/Makefile.am
index f59cf9f50..57a4f377c 100644
--- a/winsup/utils/Makefile.am
+++ b/winsup/utils/Makefile.am
@@ -79,7 +79,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
@@ -89,10 +90,6 @@ profiler_LDADD = $(LDADD) -lntdll
cygps_LDADD = $(LDADD) -lpsapi -lntdll
newgrp_LDADD = $(LDADD) -luserenv
-if HAVE_LIBSFRAME
-dumper_LDADD += -lsframe
-endif
-
if CROSS_BOOTSTRAP
SUBDIRS = mingw
endif