1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
From: Uwe Kleine-König <uwe@kleine-koenig.org>
Subject: Use ld --as-needed to drop superfluous dependencies
This fixes:
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/sparse/usr/bin/test-inspect was not linked against libgio-2.0.so.0 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/sparse/usr/bin/test-inspect was not linked against libgdk_pixbuf-2.0.so.0 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/sparse/usr/bin/test-inspect was not linked against libpango-1.0.so.0 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/sparse/usr/bin/test-inspect was not linked against libcairo.so.2 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/sparse/usr/bin/test-inspect was not linked against libfontconfig.so.1 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/sparse/usr/bin/test-inspect was not linked against libatk-1.0.so.0 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/sparse/usr/bin/test-inspect was not linked against libpangocairo-1.0.so.0 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/sparse/usr/bin/test-inspect was not linked against libfreetype.so.6 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/sparse/usr/bin/test-inspect was not linked against libgdk-x11-2.0.so.0 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/sparse/usr/bin/test-inspect was not linked against libpangoft2-1.0.so.0 (it uses none of the library's symbols)
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/Makefile
+++ b/Makefile
@@ -14,7 +14,7 @@
CC = gcc
CFLAGS = -O2 -finline-functions -fno-strict-aliasing -g
CFLAGS += -Wall -Wwrite-strings
-LDFLAGS += -g
+LDFLAGS += -g -Wl,--as-needed
LD = gcc
AR = ar
@@ -84,7 +84,7 @@
else
LLVM_PROGS := sparse-llvm
$(LLVM_PROGS): LD := g++
-LLVM_LDFLAGS := $(shell llvm-config --ldflags)
+LLVM_LDFLAGS := -Wl,--no-as-needed $(shell llvm-config --ldflags) -Wl,--as-needed
LLVM_CFLAGS := $(shell llvm-config --cflags | sed -e "s/-DNDEBUG//g")
LLVM_LIBS := $(shell llvm-config --libs)
LLVM_LIBS += $(shell llvm-config --system-libs 2>/dev/null)
|