build: use --gc-sections, -fvisibility=hidden

After:
  # ls -l /sbin/udevadm /sbin/udevd /lib/udev/*_id
  -rwxr-xr-x 1 root root  22984 May 18 18:19 /lib/udev/ata_id
  -rwxr-xr-x 1 root root  31208 May 18 18:19 /lib/udev/cdrom_id
  -rwxr-xr-x 1 root root  27128 May 18 18:19 /lib/udev/input_id
  -rwxr-xr-x 1 root root  31272 May 18 18:19 /lib/udev/path_id
  -rwxr-xr-x 1 root root  31896 May 18 18:19 /lib/udev/scsi_id
  -rwxr-xr-x 1 root root  35456 May 18 18:19 /lib/udev/usb_id
  -rwxr-xr-x 1 root root   6416 May 18 18:19 /lib/udev/v4l_id
  -rwxr-xr-x 1 root root 130320 May 18 18:19 /sbin/udevadm
  -rwxr-xr-x 1 root root 134648 May 18 18:19 /sbin/udevd

Before:
  # ls -l /sbin/udevadm /sbin/udevd /lib/udev/*_id
  -rwxr-xr-x 1 root root  27208 May 18 18:22 /lib/udev/ata_id
  -rwxr-xr-x 1 root root  35456 May 18 18:22 /lib/udev/cdrom_id
  -rwxr-xr-x 1 root root  39584 May 18 18:22 /lib/udev/input_id
  -rwxr-xr-x 1 root root  39600 May 18 18:22 /lib/udev/path_id
  -rwxr-xr-x 1 root root  36056 May 18 18:22 /lib/udev/scsi_id
  -rwxr-xr-x 1 root root  43712 May 18 18:22 /lib/udev/usb_id
  -rwxr-xr-x 1 root root   6504 May 18 18:22 /lib/udev/v4l_id
  -rwxr-xr-x 1 root root 142656 May 18 18:22 /sbin/udevadm
  -rwxr-xr-x 1 root root 142888 May 18 18:22 /sbin/udevd
This commit is contained in:
Kay Sievers 2011-05-18 18:29:24 +02:00
parent f34939e79b
commit f0ed90b767

View file

@ -17,7 +17,13 @@ AM_CPPFLAGS = \
-DSYSCONFDIR=\""$(sysconfdir)"\" \
-DLIBEXECDIR=\""$(libexecdir)"\"
AM_CFLAGS = \
-fvisibility=hidden \
-ffunction-sections \
-fdata-sections
AM_LDFLAGS = \
-Wl,--gc-sections \
-Wl,--as-needed
DISTCHECK_CONFIGURE_FLAGS = \
@ -54,6 +60,9 @@ libudev_libudev_la_SOURCES =\
libudev/libudev-monitor.c \
libudev/libudev-queue.c
libudev_libudev_la_CFLAGS = \
-fvisibility=default
libudev_libudev_la_LDFLAGS = \
-version-info $(LIBUDEV_CURRENT):$(LIBUDEV_REVISION):$(LIBUDEV_AGE) \
-export-symbols $(top_srcdir)/libudev/exported_symbols
@ -404,7 +413,11 @@ extras_gudev_libgudev_1_0_la_CPPFLAGS = \
-D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \
-D_GUDEV_COMPILATION \
-DG_LOG_DOMAIN=\"GUdev\"
extras_gudev_libgudev_1_0_la_CFLAGS = $(GLIB_CFLAGS)
extras_gudev_libgudev_1_0_la_CFLAGS = \
-fvisibility=default \
$(GLIB_CFLAGS)
extras_gudev_libgudev_1_0_la_LIBADD = libudev/libudev.la $(GLIB_LIBS)
extras_gudev_libgudev_1_0_la_LDFLAGS = \
@ -434,20 +447,20 @@ extras/gudev/gudevenumtypes.c: extras/gudev/gudevenumtypes.c.template extras/gud
$@.tmp && mv $@.tmp $@
if ENABLE_INTROSPECTION
extras/gudev/GUdev-1.0.gir: extras/gudev/libgudev-1.0.la $(G_IR_SCANNER) Makefile.am
$(AM_V_GEN)PKG_CONFIG_PATH=$(top_builddir)/data:$$PKG_CONFIG_PATH \
LD_LIBRARY_PATH=$(top_builddir)/extras/gudev:$$LD_LIBRARY_PATH \
$(G_IR_SCANNER) -v \
extras/gudev/GUdev-1.0.gir: extras/gudev/libgudev-1.0.la $(G_IR_SCANNER)
$(AM_V_GEN)$(G_IR_SCANNER) -v \
--warn-all \
--namespace GUdev \
--nsversion=1.0 \
--include=GObject-2.0 \
--library=gudev-1.0 \
--library-path=extras/gudev \
--library-path=$(top_builddir)/libudev \
--library-path=$(top_builddir)/extras/gudev \
--output $@ \
--pkg=glib-2.0 \
--pkg=gobject-2.0 \
-I$(top_builddir)/extras \
-I$(top_srcdir)/extras \
-I$(top_builddir)/extras \
-D_GUDEV_COMPILATION \
-D_GUDEV_WORK_AROUND_DEV_T_BUG \
$(top_srcdir)/extras/gudev/gudev.h \