summaryrefslogtreecommitdiff
path: root/src/mapi
diff options
context:
space:
mode:
authorEmil Velikov <emil.l.velikov@gmail.com>2014-03-11 17:58:08 +0000
committerEmil Velikov <emil.l.velikov@gmail.com>2014-03-31 14:56:14 +0100
commitd681b22ed77274a805c6c8e81925c18eeb57a968 (patch)
tree123ac46987e30805fe5ca7b514597ae0b0565f02 /src/mapi
parentd187a150d45cbf5bd3476eab49be5057382c2c86 (diff)
automake: ask the linker to do garbage collection
By doing GC the linker removes all the symbols that are not referenced and/or used by the final library. This results in a saving of ~100K up-to ~600K per (stripped) binary (classic vs gallium drivers). If interested one can ask the compiler to print the sections that are removed using -Wl,--print-gc-sections. v2: Check if ld supports the flag before using it. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Acked-by: Matt Turner <mattst88@gmail.com> (v1)
Diffstat (limited to 'src/mapi')
-rw-r--r--src/mapi/es1api/Makefile.am1
-rw-r--r--src/mapi/es2api/Makefile.am1
-rw-r--r--src/mapi/shared-glapi/Makefile.am1
-rw-r--r--src/mapi/vgapi/Makefile.am1
4 files changed, 4 insertions, 0 deletions
diff --git a/src/mapi/es1api/Makefile.am b/src/mapi/es1api/Makefile.am
index b9581184a96..febb137eafa 100644
--- a/src/mapi/es1api/Makefile.am
+++ b/src/mapi/es1api/Makefile.am
@@ -47,6 +47,7 @@ libGLESv1_CM_la_LIBADD = $(GLESv1_CM_LIB_DEPS)
libGLESv1_CM_la_LDFLAGS = \
-no-undefined \
-version-number 1:1 \
+ $(GC_SECTIONS) \
-Wl,--no-undefined
if HAVE_SHARED_GLAPI
diff --git a/src/mapi/es2api/Makefile.am b/src/mapi/es2api/Makefile.am
index 1fb6d7c9604..e694a36e5d3 100644
--- a/src/mapi/es2api/Makefile.am
+++ b/src/mapi/es2api/Makefile.am
@@ -51,6 +51,7 @@ libGLESv2_la_LIBADD = $(GLESv2_LIB_DEPS)
libGLESv2_la_LDFLAGS = \
-no-undefined \
-version-number 2 \
+ $(GC_SECTIONS) \
-Wl,--no-undefined
if HAVE_SHARED_GLAPI
diff --git a/src/mapi/shared-glapi/Makefile.am b/src/mapi/shared-glapi/Makefile.am
index 7e1068fdfec..33a939a90f9 100644
--- a/src/mapi/shared-glapi/Makefile.am
+++ b/src/mapi/shared-glapi/Makefile.am
@@ -11,6 +11,7 @@ libglapi_la_SOURCES = $(MAPI_GLAPI_FILES)
libglapi_la_LIBADD = $(PTHREAD_LIBS) $(SELINUX_LIBS)
libglapi_la_LDFLAGS = \
-no-undefined \
+ $(GC_SECTIONS) \
-Wl,--no-undefined
include $(GLAPI)/gen/glapi_gen.mk
diff --git a/src/mapi/vgapi/Makefile.am b/src/mapi/vgapi/Makefile.am
index f85addc7c31..f946b9bb6f9 100644
--- a/src/mapi/vgapi/Makefile.am
+++ b/src/mapi/vgapi/Makefile.am
@@ -47,6 +47,7 @@ libOpenVG_la_LIBADD = $(VG_LIB_DEPS)
libOpenVG_la_LDFLAGS = \
-no-undefined \
-version-number 1 \
+ $(GC_SECTIONS) \
-Wl,--no-undefined
vgapi_tmp.h: $(srcdir)/vgapi.csv $(top_srcdir)/src/mapi/mapi_abi.py