From 8710078a03eae9864b4455c98001f6842c133243 Mon Sep 17 00:00:00 2001 From: Georg Hopp Date: Fri, 11 Oct 2013 23:18:14 +0100 Subject: [PATCH] build shared libraries from the parts that might be useful on their on and let taskrambler use them --- .gitignore | 5 ++- configure.ac | 4 +- src/Makefile.am | 76 +++++++++++++++++++++++-------------- src/application/Makefile.am | 6 +-- src/asset/Makefile.am | 6 +-- src/auth/Makefile.am | 16 ++++---- src/cbuf/Makefile.am | 6 +-- src/class/Makefile.am | 6 +-- src/config/Makefile.am | 6 +-- src/hash/Makefile.am | 6 +-- src/http/Makefile.am | 6 +-- src/logger/Makefile.am | 6 +-- src/queue/Makefile.am | 6 +-- src/server/Makefile.am | 6 +-- src/session/Makefile.am | 6 +-- src/socket/Makefile.am | 6 +-- src/storage/Makefile.am | 6 +-- src/stream/Makefile.am | 6 +-- src/tree/Makefile.am | 6 +-- src/user/Makefile.am | 6 +-- 20 files changed, 111 insertions(+), 86 deletions(-) diff --git a/.gitignore b/.gitignore index bf73de2..d9f45e9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,13 @@ .*.swp *.o *.a +*.lo +*.la *.gcda *.gcno .dirstamp .deps/ +.libs/ Makefile configure Makefile.in @@ -34,4 +37,4 @@ src/taskrambler /tests/*.trs gmon.out test-driver - +/assets/html/_documentation.html diff --git a/configure.ac b/configure.ac index 3e07182..bb13d96 100644 --- a/configure.ac +++ b/configure.ac @@ -8,7 +8,7 @@ AC_INIT([taskrambler], LT_INIT AM_INIT_AUTOMAKE #AM_INIT_AUTOMAKE([subdir-objects]) -AM_SILENT_RULES([yes]) +#AM_SILENT_RULES([yes]) AC_COPYRIGHT([Copyright © 2013 Georg Hopp]) AC_REVISION([m4_esyscmd_s([git describe --always])]) AC_CONFIG_SRCDIR([src/taskrambler.c]) @@ -66,10 +66,12 @@ myetcdir=${sysconfdir}/taskrambler varlibdir=${localstatedir}/lib/taskrambler varrundir=${localstatedir}/run/taskrambler trdatadir=${datadir}/taskrambler +trlibdir=${libdir}/taskrambler AC_SUBST(myetcdir) AC_SUBST(varlibdir) AC_SUBST(varrundir) AC_SUBST(trdatadir) +AC_SUBST(trlibdir) AM_CFLAGS="${AM_CFLAGS} ${DRAGONEGG_FLAGS}" AM_CFLAGS="${AM_CFLAGS} ${MEM_OPT_FLAGS}" diff --git a/src/Makefile.am b/src/Makefile.am index 09f6e6e..57a1f74 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,42 +1,60 @@ ACLOCAL_AMFLAGS = -I m4 AUTOMAKE_OPTIONS = subdir-objects -IFACE = interface/subject.c \ - interface/observer.c - -UTILS = utils/hash.c \ - utils/memory.c \ - utils/http.c \ - utils/daemonize.c \ - utils/signalHandling.c \ - utils/mime_type.c - -LIBS = ./application/libapplication.a \ - ./user/libuser.a \ - ./storage/libstorage.a \ - ./http/libhttp.a \ - ./auth/libauth.a \ - ./cbuf/libcbuf.a \ - ./class/libclass.a \ - ./asset/libasset.a \ - ./hash/libhash.a \ - ./queue/libqueue.a \ - ./logger/liblogger.a \ - ./server/libserver.a \ - ./session/libsession.a \ - ./socket/libsocket.a \ - ./stream/libstream.a \ - ./tree/libtree.a \ - ./config/libconfig.a + +TRUTILS = utils/hash.c \ + utils/memory.c \ + utils/http.c \ + utils/daemonize.c \ + utils/signalHandling.c \ + utils/mime_type.c + +TRBASESRC = interface/subject.c \ + interface/observer.c + +TRBASELIBS = class/libclass.la \ + cbuf/libcbuf.la \ + hash/libhash.la \ + queue/libqueue.la \ + logger/liblogger.la \ + tree/libtree.la \ + stream/libstream.la + +TRHTTPSERVER = http/libhttp.la \ + asset/libasset.la \ + server/libserver.la \ + socket/libsocket.la + +TR = ./application/.libs/libapplication.a \ + ./user/.libs/libuser.a \ + ./storage/.libs/libstorage.a \ + ./auth/.libs/libauth.a \ + ./session/.libs/libsession.a \ + ./config/.libs/libconfig.a + +TRLIBS = -ltrutils -ltrhttpserver -ltrbase +USEDLIBS = -lrt -lssl -lldap -lgdbm -luuid AM_CFLAGS += -I../include/ bin_PROGRAMS = taskrambler +lib_LTLIBRARIES = libtrutils.la libtrbase.la libtrhttpserver.la + +libtrutils_la_SOURCES = $(TRUTILS) +libtrutils_la_CFLAGS = $(AM_CFLAGS) +libtrutils_la_LIBADD = + +libtrbase_la_SOURCES = $(TRBASESRC) +libtrbase_la_CFLAGS = $(AM_CFLAGS) +libtrbase_la_LIBADD = $(TRBASELIBS) + +libtrhttpserver_la_SOURCES = +libtrhttpserver_la_CFLAGS = $(AM_CFLAGS) +libtrhttpserver_la_LIBADD = $(TRHTTPSERVER) taskrambler_SOURCES = taskrambler.c $(IFACE) $(UTILS) taskrambler_CFLAGS = $(AM_CFLAGS) -taskrambler_LDADD = $(LIBS) -lrt -lssl -lldap -lgdbm -luuid -#taskrambler_LDFLAGS = $(COVERAGE_LDFLAGS) +taskrambler_LDADD = $(TRLIBS) $(USEDLIBS) $(TR) SUBDIRS = asset auth cbuf class hash queue http \ logger server session socket stream tree application \ diff --git a/src/application/Makefile.am b/src/application/Makefile.am index 7be0e8f..af6f02c 100644 --- a/src/application/Makefile.am +++ b/src/application/Makefile.am @@ -14,7 +14,7 @@ ADAPTERHTTP = adapter/http/http.c \ AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = libapplication.a +noinst_LTLIBRARIES = libapplication.la -libapplication_a_SOURCES = $(APPLICATION) $(ADAPTERHTTP) -libapplication_a_CFLAGS = $(AM_CFLAGS) +libapplication_la_SOURCES = $(APPLICATION) $(ADAPTERHTTP) +libapplication_la_CFLAGS = $(AM_CFLAGS) diff --git a/src/asset/Makefile.am b/src/asset/Makefile.am index 9a96670..fe53f3e 100644 --- a/src/asset/Makefile.am +++ b/src/asset/Makefile.am @@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS = subdir-objects AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = libasset.a +noinst_LTLIBRARIES = libasset.la -libasset_a_SOURCES = asset.c pool.c -libasset_a_CFLAGS = $(AM_CFLAGS) +libasset_la_SOURCES = asset.c pool.c +libasset_la_CFLAGS = $(AM_CFLAGS) diff --git a/src/auth/Makefile.am b/src/auth/Makefile.am index be28d13..52b1612 100644 --- a/src/auth/Makefile.am +++ b/src/auth/Makefile.am @@ -1,13 +1,15 @@ ACLOCAL_AMFLAGS = -I m4 AUTOMAKE_OPTIONS = subdir-objects +AUTH = interface/auth.c \ + credential.c \ + ldap.c \ + storage/storage.c \ + storage/hash_pw.c + AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = libauth.a +noinst_LTLIBRARIES = libauth.la -libauth_a_SOURCES = interface/auth.c \ - credential.c \ - ldap.c \ - storage/storage.c \ - storage/hash_pw.c -libauth_a_CFLAGS = $(AM_CFLAGS) +libauth_la_SOURCES = $(AUTH) +libauth_la_CFLAGS = $(AM_CFLAGS) diff --git a/src/cbuf/Makefile.am b/src/cbuf/Makefile.am index 6397e1e..c743a89 100644 --- a/src/cbuf/Makefile.am +++ b/src/cbuf/Makefile.am @@ -10,7 +10,7 @@ CB = cbuf.c read.c \ AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = libcbuf.a +noinst_LTLIBRARIES = libcbuf.la -libcbuf_a_SOURCES = $(CB) -libcbuf_a_CFLAGS = $(AM_CFLAGS) +libcbuf_la_SOURCES = $(CB) +libcbuf_la_CFLAGS = $(AM_CFLAGS) diff --git a/src/class/Makefile.am b/src/class/Makefile.am index b776aeb..118d65b 100644 --- a/src/class/Makefile.am +++ b/src/class/Makefile.am @@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS = subdir-objects AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = libclass.a +noinst_LTLIBRARIES = libclass.la -libclass_a_SOURCES = interface.c interface/i_class.c -libclass_a_CFLAGS = $(AM_CFLAGS) +libclass_la_SOURCES = interface.c interface/i_class.c +libclass_la_CFLAGS = $(AM_CFLAGS) diff --git a/src/config/Makefile.am b/src/config/Makefile.am index 71b5e23..ac482cf 100644 --- a/src/config/Makefile.am +++ b/src/config/Makefile.am @@ -5,7 +5,7 @@ CONFIG = config.c value.c get.c AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = libconfig.a +noinst_LTLIBRARIES = libconfig.la -libconfig_a_SOURCES = $(CONFIG) -libconfig_a_CFLAGS = $(AM_CFLAGS) +libconfig_la_SOURCES = $(CONFIG) +libconfig_la_CFLAGS = $(AM_CFLAGS) diff --git a/src/hash/Makefile.am b/src/hash/Makefile.am index 699bdfb..5eab16f 100644 --- a/src/hash/Makefile.am +++ b/src/hash/Makefile.am @@ -6,7 +6,7 @@ HASH = hash.c add.c get.c get_first.c delete.c each.c value.c \ AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = libhash.a +noinst_LTLIBRARIES = libhash.la -libhash_a_SOURCES = $(HASH) -libhash_a_CFLAGS = $(AM_CFLAGS) +libhash_la_SOURCES = $(HASH) +libhash_la_CFLAGS = $(AM_CFLAGS) diff --git a/src/http/Makefile.am b/src/http/Makefile.am index 934e001..8cc182d 100644 --- a/src/http/Makefile.am +++ b/src/http/Makefile.am @@ -36,8 +36,8 @@ HEADER = header.c \ AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = libhttp.a +noinst_LTLIBRARIES = libhttp.la -libhttp_a_SOURCES = $(MSG) $(REQ) $(RESP) $(PARSER) $(WRITER) \ +libhttp_la_SOURCES = $(MSG) $(REQ) $(RESP) $(PARSER) $(WRITER) \ $(WORKER) $(HEADER) interface/i_http_intro.c -libhttp_a_CFLAGS = $(AM_CFLAGS) +libhttp_la_CFLAGS = $(AM_CFLAGS) diff --git a/src/logger/Makefile.am b/src/logger/Makefile.am index f0bf5dc..0699e88 100644 --- a/src/logger/Makefile.am +++ b/src/logger/Makefile.am @@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS = subdir-objects AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = liblogger.a +noinst_LTLIBRARIES = liblogger.la -liblogger_a_SOURCES = interface/i_logger.c logger.c stderr.c syslog.c -liblogger_a_CFLAGS = $(AM_CFLAGS) +liblogger_la_SOURCES = interface/i_logger.c logger.c stderr.c syslog.c +liblogger_la_CFLAGS = $(AM_CFLAGS) diff --git a/src/queue/Makefile.am b/src/queue/Makefile.am index c4f01ca..838dd53 100644 --- a/src/queue/Makefile.am +++ b/src/queue/Makefile.am @@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS = subdir-objects AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = libqueue.a +noinst_LTLIBRARIES = libqueue.la -libqueue_a_SOURCES = queue.c get.c put.c -libqueue_a_CFLAGS = $(AM_CFLAGS) +libqueue_la_SOURCES = queue.c get.c put.c +libqueue_la_CFLAGS = $(AM_CFLAGS) diff --git a/src/server/Makefile.am b/src/server/Makefile.am index 9a67a09..947ddca 100644 --- a/src/server/Makefile.am +++ b/src/server/Makefile.am @@ -6,7 +6,7 @@ SERVER = server.c run.c close_conn.c poll.c \ AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = libserver.a +noinst_LTLIBRARIES = libserver.la -libserver_a_SOURCES = $(SERVER) -libserver_a_CFLAGS = $(AM_CFLAGS) +libserver_la_SOURCES = $(SERVER) +libserver_la_CFLAGS = $(AM_CFLAGS) diff --git a/src/session/Makefile.am b/src/session/Makefile.am index a20394b..e33b7b1 100644 --- a/src/session/Makefile.am +++ b/src/session/Makefile.am @@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS = subdir-objects AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = libsession.a +noinst_LTLIBRARIES = libsession.la -libsession_a_SOURCES = session.c -libsession_a_CFLAGS = $(AM_CFLAGS) +libsession_la_SOURCES = session.c +libsession_la_CFLAGS = $(AM_CFLAGS) diff --git a/src/socket/Makefile.am b/src/socket/Makefile.am index b93c272..21c0849 100644 --- a/src/socket/Makefile.am +++ b/src/socket/Makefile.am @@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS = subdir-objects AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = libsocket.a +noinst_LTLIBRARIES = libsocket.la -libsocket_a_SOURCES = socket.c accept.c connect.c listen.c nonblock.c -libsocket_a_CFLAGS = $(AM_CFLAGS) +libsocket_la_SOURCES = socket.c accept.c connect.c listen.c nonblock.c +libsocket_la_CFLAGS = $(AM_CFLAGS) diff --git a/src/storage/Makefile.am b/src/storage/Makefile.am index e00006c..8bd34f0 100644 --- a/src/storage/Makefile.am +++ b/src/storage/Makefile.am @@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS = subdir-objects AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = libstorage.a +noinst_LTLIBRARIES = libstorage.la -libstorage_a_SOURCES = storage.c get.c put.c update.c -libstorage_a_CFLAGS = $(AM_CFLAGS) +libstorage_la_SOURCES = storage.c get.c put.c update.c +libstorage_la_CFLAGS = $(AM_CFLAGS) diff --git a/src/stream/Makefile.am b/src/stream/Makefile.am index 88e74b8..f408675 100644 --- a/src/stream/Makefile.am +++ b/src/stream/Makefile.am @@ -7,7 +7,7 @@ IFACE = interface/reader.c \ AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = libstream.a +noinst_LTLIBRARIES = libstream.la -libstream_a_SOURCES = $(STREAM) $(IFACE) -libstream_a_CFLAGS = $(AM_CFLAGS) +libstream_la_SOURCES = $(STREAM) $(IFACE) +libstream_la_CFLAGS = $(AM_CFLAGS) diff --git a/src/tree/Makefile.am b/src/tree/Makefile.am index 9538685..49c09b7 100644 --- a/src/tree/Makefile.am +++ b/src/tree/Makefile.am @@ -6,7 +6,7 @@ TREE = tree.c find.c insert.c inOrderSuccessor.c delete.c walk.c \ AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = libtree.a +noinst_LTLIBRARIES = libtree.la -libtree_a_SOURCES = $(TREE) -libtree_a_CFLAGS = $(AM_CFLAGS) +libtree_la_SOURCES = $(TREE) +libtree_la_CFLAGS = $(AM_CFLAGS) diff --git a/src/user/Makefile.am b/src/user/Makefile.am index a1e6ad5..3c1af04 100644 --- a/src/user/Makefile.am +++ b/src/user/Makefile.am @@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS = subdir-objects AM_CFLAGS += -I../../include/ -noinst_LIBRARIES = libuser.a +noinst_LTLIBRARIES = libuser.la -libuser_a_SOURCES = user.c load.c save.c -libuser_a_CFLAGS = $(AM_CFLAGS) +libuser_la_SOURCES = user.c load.c save.c +libuser_la_CFLAGS = $(AM_CFLAGS)