summaryrefslogtreecommitdiffstats
path: root/share/mk/configure/build-depends/ld.mk
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:41:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:41:09 +0000
commit0db324e2e5d9d3347ea0e93138372fb65aac09e6 (patch)
tree1b794022fb98db123c73021e75286a82c116aa7f /share/mk/configure/build-depends/ld.mk
parentReleasing progress-linux version 6.05.01-1~progress7.99u1. (diff)
downloadmanpages-0db324e2e5d9d3347ea0e93138372fb65aac09e6.tar.xz
manpages-0db324e2e5d9d3347ea0e93138372fb65aac09e6.zip
Merging upstream version 6.7.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'share/mk/configure/build-depends/ld.mk')
-rw-r--r--share/mk/configure/build-depends/ld.mk50
1 files changed, 50 insertions, 0 deletions
diff --git a/share/mk/configure/build-depends/ld.mk b/share/mk/configure/build-depends/ld.mk
new file mode 100644
index 0000000..a78a189
--- /dev/null
+++ b/share/mk/configure/build-depends/ld.mk
@@ -0,0 +1,50 @@
+# Copyright 2022-2024, Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_LD_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_LD_INCLUDED := 1
+
+
+include $(MAKEFILEDIR)/configure/build-depends/cc.mk
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/pkgconf.mk
+include $(MAKEFILEDIR)/configure/verbose.mk
+
+
+LD := $(CC) $(CFLAGS)
+
+
+LD_HAS_FUSE_LINKER_PLUGIN := \
+ $(shell \
+ $(ECHO) 'int main(void) {}' \
+ | $(LD) -fuse-linker-plugin -x c -o /dev/null /dev/stdin $(HIDE_ERR) \
+ && $(ECHO) yes \
+ || $(ECHO) no; \
+ )
+
+
+DEFAULT_LDFLAGS := \
+ -Wl,--as-needed \
+ -Wl,--no-allow-shlib-undefined \
+ -Wl,--no-copy-dt-needed-entries \
+ -Wl,--no-undefined \
+ $(shell $(PKGCONF_CMD) --libs-only-L $(PKGCONF_LIBS) $(HIDE_ERR)) \
+ $(shell $(PKGCONF_CMD) --libs-only-other $(PKGCONF_LIBS) $(HIDE_ERR))
+
+ifeq ($(LD_HAS_FUSE_LINKER_PLUGIN),yes)
+DEFAULT_LDFLAGS += -fuse-linker-plugin
+endif
+
+EXTRA_LDFLAGS :=
+LDFLAGS := $(DEFAULT_LDFLAGS) $(EXTRA_LDFLAGS)
+
+
+DEFAULT_LDLIBS := \
+ -lc \
+ $(shell $(PKGCONF_CMD) --libs-only-l $(PKGCONF_LIBS) $(HIDE_ERR))
+EXTRA_LDLIBS :=
+LDLIBS := $(DEFAULT_LDLIBS) $(EXTRA_LDLIBS)
+
+
+endif # include guard