summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-06-18 00:44:57 +0200
committerLennart Poettering <lennart@poettering.net>2010-06-18 00:44:57 +0200
commit139be57d9441b5c890e1e4ee69e15aad03276fde (patch)
tree46f829d432b5f73ec8a1ef4497518d0060e031ef
parent8745297f9853c4a17bac69e1b7e652fe81bc1940 (diff)
build-sys: speed up build via convenience library
-rw-r--r--Makefile.am86
-rwxr-xr-xbootstrap.sh1
-rw-r--r--configure.ac3
-rw-r--r--fixme2
4 files changed, 60 insertions, 32 deletions
diff --git a/Makefile.am b/Makefile.am
index 798b4635ce..3dc4b0f28e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -200,10 +200,15 @@ dist_doc_DATA = \
src/sd-daemon.h \
src/sd-daemon.c
+noinst_LTLIBRARIES = \
+ libsystemd-basic.la \
+ libsystemd-core.la
+
# This is needed because automake is buggy in how it generates the
# rules for C programs, but not Vala programs. We therefore can't
# list the .h files as dependencies if we want make dist to work.
-BASIC_SOURCES = \
+
+libsystemd_basic_la_SOURCES = \
src/util.c \
src/hashmap.c \
src/set.c \
@@ -213,8 +218,7 @@ BASIC_SOURCES = \
src/log.c \
src/ratelimit.c
-COMMON_SOURCES = \
- $(BASIC_SOURCES) \
+libsystemd_core_la_SOURCES = \
src/unit.c \
src/job.c \
src/manager.c \
@@ -259,8 +263,23 @@ COMMON_SOURCES = \
src/namespace.c \
src/tcpwrap.c
+libsystemd_core_la_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(DBUS_CFLAGS) \
+ $(UDEV_CFLAGS) \
+ $(CGROUP_CFLAGS)
+
+libsystemd_core_la_LIBADD = \
+ libsystemd-basic.la \
+ $(DBUS_LIBS) \
+ $(UDEV_LIBS) \
+ $(CGROUP_LIBS) \
+ $(LIBWRAP_LIBS) \
+ $(PAM_LIBS)
+
EXTRA_DIST += \
- ${COMMON_SOURCES:.c=.h} \
+ ${libsystemd_basic_la_SOURCES:.c=.h} \
+ ${libsystemd_core_la_SOURCES:.c=.h} \
src/macro.h \
src/ioprio.h \
src/missing.h \
@@ -292,7 +311,6 @@ EXTRA_DIST += \
man/systemd.special.html.in
systemd_SOURCES = \
- $(COMMON_SOURCES) \
src/main.c
systemd_CFLAGS = \
@@ -302,55 +320,50 @@ systemd_CFLAGS = \
$(CGROUP_CFLAGS)
systemd_LDADD = \
- $(DBUS_LIBS) \
- $(UDEV_LIBS) \
- $(CGROUP_LIBS) \
- $(LIBWRAP_LIBS) \
- $(PAM_LIBS)
+ libsystemd-core.la
test_engine_SOURCES = \
- $(COMMON_SOURCES) \
src/test-engine.c
test_engine_CFLAGS = $(systemd_CFLAGS)
test_engine_LDADD = $(systemd_LDADD)
test_job_type_SOURCES = \
- $(COMMON_SOURCES) \
src/test-job-type.c
test_job_type_CFLAGS = $(systemd_CFLAGS)
test_job_type_LDADD = $(systemd_LDADD)
test_ns_SOURCES = \
- $(BASIC_SOURCES) \
- src/test-ns.c \
- src/namespace.c
+ src/test-ns.c
test_ns_CFLAGS = $(systemd_CFLAGS)
test_ns_LDADD = $(systemd_LDADD)
test_loopback_SOURCES = \
- $(BASIC_SOURCES) \
src/test-loopback.c \
src/loopback-setup.c
+test_loopback_LDADD = \
+ libsystemd-basic.la
+
test_daemon_SOURCES = \
- $(BASIC_SOURCES) \
src/test-daemon.c \
src/sd-daemon.c
+test_daemon_LDADD = \
+ libsystemd-basic.la
+
systemd_logger_SOURCES = \
- $(BASIC_SOURCES) \
src/logger.c \
src/sd-daemon.c \
src/tcpwrap.c
systemd_logger_LDADD = \
+ libsystemd-basic.la \
$(LIBWRAP_LIBS)
systemd_initctl_SOURCES = \
- $(BASIC_SOURCES) \
src/initctl.c \
src/sd-daemon.c
@@ -359,10 +372,10 @@ systemd_initctl_CFLAGS = \
$(DBUS_CFLAGS)
systemd_initctl_LDADD = \
+ libsystemd-basic.la \
$(DBUS_LIBS)
systemd_cgroups_agent_SOURCES = \
- $(BASIC_SOURCES) \
src/cgroups-agent.c
systemd_cgroups_agent_CFLAGS = \
@@ -370,28 +383,39 @@ systemd_cgroups_agent_CFLAGS = \
$(DBUS_CFLAGS)
systemd_cgroups_agent_LDADD = \
+ libsystemd-basic.la \
$(DBUS_LIBS)
systemctl_SOURCES = \
src/systemctl.c \
- src/utmp-wtmp.c \
- $(BASIC_SOURCES)
+ src/utmp-wtmp.c
+
+systemctl_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(DBUS_CFLAGS)
-systemctl_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
-systemctl_LDADD = $(DBUS_LIBS)
+systemctl_LDADD = \
+ libsystemd-basic.la \
+ $(DBUS_LIBS)
systemd_notify_SOURCES = \
src/notify.c \
- src/sd-daemon.c \
- $(BASIC_SOURCES)
+ src/sd-daemon.c
+
+systemd_notify_LDADD = \
+ libsystemd-basic.la
systemd_install_SOURCES = \
src/install.c \
- src/path-lookup.c \
- $(BASIC_SOURCES)
+ src/path-lookup.c
+
+systemd_install_LDADD = \
+ libsystemd-basic.la
# We don't really link here against D-Bus, however we indirectly include D-Bus header files
-systemd_install_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
+systemd_install_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(DBUS_CFLAGS)
systemadm_SOURCES = \
src/systemadm.vala \
@@ -412,7 +436,9 @@ systemadm_VALAFLAGS = \
--pkg=gtk+-2.0 \
-g
-systemadm_LDADD = $(DBUSGLIB_LIBS) $(GTK_LIBS)
+systemadm_LDADD = \
+ $(DBUSGLIB_LIBS) \
+ $(GTK_LIBS)
SED_PROCESS = \
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
diff --git a/bootstrap.sh b/bootstrap.sh
index f59a8156bf..6f13ba2b2d 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -59,6 +59,7 @@ else
rm -rf autom4te.cache
rm -f config.cache
+ libtoolize -c --force
run_versioned aclocal "$AM_VERSION" -I m4
run_versioned autoconf "$AC_VERSION" -Wall
run_versioned autoheader "$AC_VERSION"
diff --git a/configure.ac b/configure.ac
index 6e28bfcad0..cdcb71cec1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -87,6 +87,9 @@ CC_CHECK_CFLAGS_APPEND([ \
-fdiagnostics-show-option \
-fno-strict-aliasing])
+LT_PREREQ(2.2)
+LT_INIT
+
AC_SEARCH_LIBS([clock_gettime], [rt], [], [AC_MSG_ERROR([*** POSIX RT library not found])])
AC_SEARCH_LIBS([cap_init], [cap], [], [AC_MSG_ERROR([*** POSIX caps library not found])])
AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps headers not found])])
diff --git a/fixme b/fixme
index 7aca3ee08b..947ae0d144 100644
--- a/fixme
+++ b/fixme
@@ -67,8 +67,6 @@
* systemd-sysvinit as package
-* convenience library
-
* install must understand templates
* shutdown must be able to do wall