mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 08:21:14 +00:00
1ca571b6c2
Rework static linker flags to not link libm statically, this should fix the build on CentOS where libm.a is not provided by the libc devel package. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 46989
44 lines
1.2 KiB
Diff
44 lines
1.2 KiB
Diff
--- a/common.mk
|
|
+++ b/common.mk
|
|
@@ -2,6 +2,16 @@ CC := $(CROSS)gcc
|
|
AR := $(CROSS)ar
|
|
RANLIB := $(CROSS)ranlib
|
|
|
|
+ifeq ($(STATIC),1)
|
|
+ define static_link
|
|
+ -Wl,-Bstatic $(1) -Wl,-Bdynamic
|
|
+ endef
|
|
+else
|
|
+ define static_link
|
|
+ $(1)
|
|
+ endef
|
|
+endif
|
|
+
|
|
# Stolen from Linux build system
|
|
comma = ,
|
|
try-run = $(shell set -e; ($(1)) >/dev/null 2>&1 && echo "$(2)" || echo "$(3)")
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -89,10 +89,10 @@ obj-mkfs.jffs2 = compr_rtime.o compr_zli
|
|
compr_lzma.o lzma/LzFind.o lzma/LzmaEnc.o lzma/LzmaDec.o \
|
|
compr.o rbtree.o
|
|
LDFLAGS_mkfs.jffs2 = $(ZLIBLDFLAGS) $(LZOLDFLAGS)
|
|
-LDLIBS_mkfs.jffs2 = -lz $(LZOLDLIBS)
|
|
+LDLIBS_mkfs.jffs2 = $(call static_link,-lz $(LZOLDLIBS))
|
|
|
|
LDFLAGS_jffs2reader = $(ZLIBLDFLAGS) $(LZOLDFLAGS)
|
|
-LDLIBS_jffs2reader = -lz $(LZOLDLIBS)
|
|
+LDLIBS_jffs2reader = $(call static_link,-lz $(LZOLDLIBS))
|
|
|
|
$(foreach v,$(MTD_BINS),$(eval $(call mkdep,,$(v))))
|
|
|
|
@@ -119,7 +119,7 @@ else
|
|
XZLDLIBS = -llzma
|
|
endif
|
|
|
|
-LDLIBS_mkfs.ubifs = -lz $(LZOLDLIBS) $(XZLDLIBS) -lm -luuid
|
|
+LDLIBS_mkfs.ubifs = $(call static_link,-lz $(LZOLDLIBS) $(XZLDLIBS)) -lm $(call static_link,-luuid)
|
|
$(call mkdep,mkfs.ubifs/,mkfs.ubifs,,ubi-utils/libubi.a)
|
|
|
|
#
|