summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Gallagher <sgallagh@redhat.com>2009-04-11 10:15:12 -0400
committerSimo Sorce <ssorce@redhat.com>2009-04-13 09:06:39 -0400
commitc0c9939f0b41d51fb5edd44198d13baee086a6fa (patch)
tree61336b30a6889d154f2f3dbe7cbc9e9071368f36
parentc57cb8cfff2edf4bfb0437d00d505d5dcf27faa6 (diff)
downloadding-libs-c0c9939f0b41d51fb5edd44198d13baee086a6fa.tar.gz
ding-libs-c0c9939f0b41d51fb5edd44198d13baee086a6fa.tar.xz
ding-libs-c0c9939f0b41d51fb5edd44198d13baee086a6fa.zip
Build system improvements for common tools
Allows building shared or static libraries using autotools and provides a pkg-config file to simplify inclusion into other parts of the project (or other projects in the future) For now, we will statically link the collection library and INI parser.
-rw-r--r--Makefile.am2
-rw-r--r--collection/Makefile.am16
-rw-r--r--collection/collection.pc.in11
-rw-r--r--configure.ac2
-rw-r--r--ini/Makefile.am16
-rw-r--r--ini/ini_config.pc.in11
-rw-r--r--trace/Makefile.am1
7 files changed, 43 insertions, 16 deletions
diff --git a/Makefile.am b/Makefile.am
index b06c0e7..ea23cb9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1 +1 @@
-SUBDIRS = collection ini
+SUBDIRS = collection ini trace
diff --git a/collection/Makefile.am b/collection/Makefile.am
index bdc1111..a47f8f9 100644
--- a/collection/Makefile.am
+++ b/collection/Makefile.am
@@ -4,14 +4,16 @@ TRACE_LEVEL=@TRACE_VAR@
topdir=..
AM_CPPFLAGS = -Wall -I$(topdir) -I$(topdir)/trace $(TRACE_LEVEL)
-# Build static libraty
-noinst_LIBRARIES = libcollection.a
-libcollection_a_SOURCES = collection.c collection_tools.c collection.h trace.h collection_tools.h collection_class.h
+# Set up the pkg-config file
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = collection.pc
-# Build shared library - reserved for future
-# lib_LTLIBRARIES = libcollection.la
-# libcollection_la_SOURCES = collection.c collection_tools.c collection.h trace.h collection_tools.h collection_class.h
+# Build libraty
+lib_LTLIBRARIES = libcollection.la
+libcollection_la_SOURCES = collection.c collection_tools.c collection_tools.h collection_class.h
+include_HEADERS = collection.h collection_tools.h
+# Build unit test
noinst_PROGRAMS = collection_ut
collection_ut_SOURCES = collection_ut.c
-collection_ut_LDADD = libcollection.a -lm -lz
+collection_ut_LDADD = libcollection.la -lm -lz
diff --git a/collection/collection.pc.in b/collection/collection.pc.in
new file mode 100644
index 0000000..c73a588
--- /dev/null
+++ b/collection/collection.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: collection
+Description: A data-type to collect data in a heirarchical structure for easy iteration and serialization
+Version: @PACKAGE_VERSION@
+Libs: -L${libdir} -lcollection
+Cflags: -I${includedir}
+URL: http://fedorahosted.org/sssd/
diff --git a/configure.ac b/configure.ac
index 941125d..8804b4d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,7 +17,7 @@ AC_ARG_ENABLE([trace],
AS_IF([test ["$trace_level" -gt "0"] -a ["$trace_level" -lt "8"] ],[AC_SUBST([TRACE_VAR],["-DTRACE_LEVEL=$trace_level"])])
-AC_CONFIG_FILES([Makefile collection/Makefile ini/Makefile])
+AC_CONFIG_FILES([Makefile collection/Makefile collection/collection.pc ini/Makefile ini/ini_config.pc trace/Makefile])
AC_OUTPUT
diff --git a/ini/Makefile.am b/ini/Makefile.am
index a673aec..962172f 100644
--- a/ini/Makefile.am
+++ b/ini/Makefile.am
@@ -4,14 +4,16 @@ TRACE_LEVEL=@TRACE_VAR@
topdir=..
AM_CPPFLAGS = -Wall -I$(topdir) -I$(topdir)/trace -I$(topdir)/collection $(TRACE_LEVEL)
-# Build static libraty
-noinst_LIBRARIES = libini_config.a
-libini_config_a_SOURCES = ini_config.c collection.h trace.h collection_tools.h collection_class.h ini_config.h
+# Set up the pkg-config file
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = ini_config.pc
-# Build shared library
-#lib_LTLIBRARIES = libini.la
-#libini_la_SOURCES = ini_config.c collection.h trace.h collection_tools.h collection_class.h ini_config.h
+# Build library
+lib_LTLIBRARIES = libini_config.la
+libini_config_la_SOURCES = ini_config.c collection.h collection_tools.h collection_class.h
+include_HEADERS = ini_config.h
+# Build unit test
noinst_PROGRAMS = ini_config_ut
ini_config_ut_SOURCES = ini_config_ut.c
-ini_config_ut_LDADD = libini_config.a -lm -lz ../collection/libcollection.a
+ini_config_ut_LDADD = libini_config.la -lm -lz ../collection/libcollection.la \ No newline at end of file
diff --git a/ini/ini_config.pc.in b/ini/ini_config.pc.in
new file mode 100644
index 0000000..d08e5b5
--- /dev/null
+++ b/ini/ini_config.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: ini_config
+Description: Library to process config files in INI format into a libcollection data structure
+Version: @PACKAGE_VERSION@
+Libs: -L${libdir} -lini_config
+Cflags: -I${includedir}
+URL: http://fedorahosted.org/sssd/
diff --git a/trace/Makefile.am b/trace/Makefile.am
new file mode 100644
index 0000000..489a9d9
--- /dev/null
+++ b/trace/Makefile.am
@@ -0,0 +1 @@
+include_HEADERS = trace.h