[PATCH 1/3] Comment out the plugin tests as they break "make rpm"
by Angus Salkeld
I can't figure out a "nice" way of doing this.
Signed-off-by: Angus Salkeld <asalkeld(a)redhat.com>
---
tests/Makefile.am | 34 ++++++++++++++++++----------------
1 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index f044614..579a9da 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -32,31 +32,33 @@ bms_SOURCES = bms.c
bms_CFLAGS = -I$(top_srcdir)/include
bms_LDADD = -lrt $(top_builddir)/lib/libqb.la
-noinst_libdir = $(abs_top_builddir)/tests
-noinst_lib_LTLIBRARIES = libtest_a.la libtest_b.la
-
-libtest_a_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libtest_a_la_LDFLAGS = -version-info 0:0:0
-libtest_a_la_SOURCES = libtest_a.c
-
-libtest_b_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libtest_b_la_LDFLAGS = -version-info 0:0:0
-libtest_b_la_SOURCES = libtest_b.c
+#noinst_libdir = $(abs_top_builddir)/tests
+#noinst_lib_LTLIBRARIES = libtest_a.la libtest_b.la
+#
+#libtest_a_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
+#libtest_a_la_LDFLAGS = -version-info 0:0:0
+#libtest_a_la_SOURCES = libtest_a.c
+#
+#libtest_b_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
+#libtest_b_la_LDFLAGS = -version-info 0:0:0
+#libtest_b_la_SOURCES = libtest_b.c
if HAVE_CHECK
-TESTS = check_hash check_plugin
+TESTS = check_hash
+#check_plugin
-check_PROGRAMS = check_hash check_plugin
+check_PROGRAMS = check_hash
+#check_plugin
check_hash_SOURCES = check_hash.c $(top_builddir)/include/qb/qbhash.h
check_hash_CFLAGS = @CHECK_CFLAGS@ -I$(top_srcdir)/include
check_hash_LDADD = $(top_builddir)/lib/libqb.la -lrt @CHECK_LIBS@
-check_plugin_SOURCES = check_plugin.c
-check_plugin_CFLAGS = @CHECK_CFLAGS@ -I$(top_srcdir)/include
-check_plugin_LDADD = $(top_builddir)/lib/libqbplugin.a @CHECK_LIBS@
-check_plugin_LDFLAGS = $(OS_DYFLAGS)
+#check_plugin_SOURCES = check_plugin.c
+#check_plugin_CFLAGS = @CHECK_CFLAGS@ -I$(top_srcdir)/include
+#check_plugin_LDADD = $(top_builddir)/lib/libqbplugin.a @CHECK_LIBS@
+#check_plugin_LDFLAGS = $(OS_DYFLAGS)
endif
--
1.6.6.1
13 years, 10 months
[PATCH] Roll all little libs into libqb.
by Angus Salkeld
This really makes things simpler (to produce and use).
Signed-off-by: Angus Salkeld <asalkeld(a)redhat.com>
---
.gitignore | 1 +
Makefile.am | 2 +-
configure.ac | 2 +-
docs/Makefile.am | 6 +++-
lib/Makefile.am | 63 +++----------------------------------
lib/libqb.pc.in | 11 ++++++
libqb.spec.in | 28 ++--------------
pkgconfig/.gitignore | 1 -
pkgconfig/Makefile.am | 72 -------------------------------------------
pkgconfig/libtemplate.pc.in | 11 ------
tests/Makefile.am | 31 +++++++++---------
11 files changed, 43 insertions(+), 185 deletions(-)
create mode 100644 lib/libqb.pc.in
delete mode 100644 pkgconfig/.gitignore
delete mode 100644 pkgconfig/Makefile.am
delete mode 100644 pkgconfig/libtemplate.pc.in
diff --git a/.gitignore b/.gitignore
index aee9a1a..3179bbf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,7 @@
*.so.*
*.3
*.rpm
+*.pc
Makefile
Makefile.in
include/config.h
diff --git a/Makefile.am b/Makefile.am
index fdf3275..a817ec5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -37,7 +37,7 @@ ACLOCAL_AMFLAGS = -I m4
dist_doc_DATA = COPYING INSTALL README TODO
-SUBDIRS = include lib docs pkgconfig tests
+SUBDIRS = include lib docs tests
lint:
diff --git a/configure.ac b/configure.ac
index f0541e2..caba670 100644
--- a/configure.ac
+++ b/configure.ac
@@ -357,8 +357,8 @@ AC_CONFIG_FILES([Makefile
include/Makefile
include/qb/Makefile
lib/Makefile
+ lib/libqb.pc
tests/Makefile
- pkgconfig/Makefile
docs/Makefile
docs/man.dox
docs/html.dox])
diff --git a/docs/Makefile.am b/docs/Makefile.am
index 234932a..06c976e 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -22,7 +22,11 @@ EXTRA_DIST = man.dox html.dox
inc_dir = $(top_srcdir)/include/qb
dependant_headers = $(wildcard $(inc_dir)/qb*.h)
-dist_man_MANS = $(addsuffix .3,$(subst $(inc_dir),man3,$(dependant_headers)))
+dist_man_MANS = man3/qbhash.h.3 man3/qbipcc.h.3 man3/qbipcs.h.3 man3/qblogsys.h.3 \
+ man3/qbplugin.h.3 man3/qbqueue.h.3 man3/qbtsafe.h.3 man3/qbwthread.h.3 \
+ man3/qbhdb.h.3 man3/qbipc_common.h.3 man3/qblist.h.3 man3/qbplugin_comp.h.3 \
+ man3/qbpoll.h.3 man3/qbtimer.h.3 man3/qbutil.h.3
+#$(addsuffix .3,$(subst $(inc_dir),man3,$(dependant_headers)))
$(dist_man_MANS): man.dox $(dependant_headers)
mkdir -p man3
diff --git a/lib/Makefile.am b/lib/Makefile.am
index e4356fc..a84489d 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -38,63 +38,10 @@ libqbplugin_a_SOURCES = plugin_loader.c
# If any interfaces have been removed since the last public release, then set age to 0.
#
-lib_LTLIBRARIES = libqbutil.la libqbtsafe.la
-# make sure libraries that use libqbutil are listed below.
-lib_LTLIBRARIES += libqbhash.la libqbpoll.la libqbtimer.la libqblogsys.la
-lib_LTLIBRARIES += libqbwthread.la libqbipcc.la libqbipcs.la
+lib_LTLIBRARIES = libqb.la
-libqbutil_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libqbutil_la_LDFLAGS = -version-info 0:0:0
-libqbutil_la_SOURCES = util.c
-
-libqbtsafe_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libqbtsafe_la_LDFLAGS = -version-info 0:0:0
-libqbtsafe_la_SOURCES = tsafe.c
-
-
-#
-# libs dependant on qbutil
-#
-
-libqbhash_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libqbhash_la_LDFLAGS = -version-info 0:0:0
-libqbhash_la_SOURCES = hash.c
-libqbhash_la_LIBADD = libqbutil.la
-libqbhash_la_DEPENDENCIES = libqbutil.la
-
-libqbpoll_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libqbpoll_la_LDFLAGS = -version-info 0:0:0
-libqbpoll_la_SOURCES = poll.c
-libqbpoll_la_LIBADD = libqbutil.la
-libqbpoll_la_DEPENDENCIES = libqbutil.la
-
-libqbtimer_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libqbtimer_la_LDFLAGS = -version-info 0:0:0
-libqbtimer_la_SOURCES = timer.c
-libqbtimer_la_LIBADD = libqbutil.la
-libqbtimer_la_DEPENDENCIES = libqbutil.la
-
-libqbwthread_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libqbwthread_la_LDFLAGS = -version-info 0:0:0
-libqbwthread_la_SOURCES = wthread.c
-libqbwthread_la_LIBADD = libqbutil.la
-libqbwthread_la_DEPENDENCIES = libqbutil.la
-
-libqbipcc_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libqbipcc_la_LDFLAGS = -version-info 0:0:0
-libqbipcc_la_SOURCES = ipcc.c
-libqbipcc_la_LIBADD = libqbutil.la
-libqbipcc_la_DEPENDENCIES = libqbutil.la
-
-libqbipcs_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libqbipcs_la_LDFLAGS = -version-info 0:0:0
-libqbipcs_la_SOURCES = ipcs.c
-libqbipcs_la_LIBADD = libqbutil.la
-libqbipcs_la_DEPENDENCIES = libqbutil.la
-
-libqblogsys_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libqblogsys_la_LDFLAGS = -version-info 0:0:0
-libqblogsys_la_SOURCES = logsys.c
-libqblogsys_la_LIBADD = libqbutil.la
-libqblogsys_la_DEPENDENCIES = libqbutil.la
+libqb_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
+libqb_la_LDFLAGS = -version-info 0:0:0
+libqb_la_SOURCES = util.c tsafe.c hash.c poll.c timer.c wthread.c \
+ ipcc.c ipcs.c logsys.c
diff --git a/lib/libqb.pc.in b/lib/libqb.pc.in
new file mode 100644
index 0000000..d5d9d87
--- /dev/null
+++ b/lib/libqb.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=@libdir@
+includedir=${prefix}/include
+
+Name: libqb
+Version: @VERSION@
+Description: libqb
+Requires:
+Libs: -L${libdir} -lqb -lrt
+Cflags: -I${includedir}
diff --git a/libqb.spec.in b/libqb.spec.in
index 0353aa2..e72814f 100644
--- a/libqb.spec.in
+++ b/libqb.spec.in
@@ -43,14 +43,7 @@ This package contains libqb libraries.
%files -n libqb
%defattr(-,root,root,-)
%doc COPYING
-%{_libdir}/libqbtsafe.so.*
-%{_libdir}/libqbpoll.so.*
-%{_libdir}/libqbtimer.so.*
-%{_libdir}/libqbipcc.so.*
-%{_libdir}/libqbipcs.so.*
-%{_libdir}/libqbwthread.so.*
-%{_libdir}/libqblogsys.so.*
-%{_libdir}/libqbhash.so.*
+%{_libdir}/libqb.so.*
%post -n libqb -p /sbin/ldconfig
@@ -71,22 +64,8 @@ The Quarterback APIs.
%defattr(-,root,root,-)
%doc COPYING README
%dir %{_includedir}/qb/
-%{_libdir}/libqbtsafe.so
-%{_libdir}/libqbpoll.so
-%{_libdir}/libqbtimer.so
-%{_libdir}/libqbipcc.so
-%{_libdir}/libqbipcs.so
-%{_libdir}/libqbwthread.so
-%{_libdir}/libqbhash.so
-%{_libdir}/libqblogsys.so
-%{_libdir}/libqbtsafe.la
-%{_libdir}/libqbpoll.la
-%{_libdir}/libqbtimer.la
-%{_libdir}/libqbipcc.la
-%{_libdir}/libqbipcs.la
-%{_libdir}/libqbwthread.la
-%{_libdir}/libqbhash.la
-%{_libdir}/libqblogsys.la
+%{_libdir}/libqb.so
+%{_libdir}/libqb.la
%{_includedir}/qb/qbtsafe.h
%{_includedir}/qb/qbpoll.h
%{_includedir}/qb/qbhdb.h
@@ -101,6 +80,7 @@ The Quarterback APIs.
%{_includedir}/qb/qbwthread.h
%{_includedir}/qb/qblogsys.h
%{_includedir}/qb/qbhash.h
+%{_includedir}/qb/qbutil.h
%{_mandir}/man3/qb*3*
%changelog
diff --git a/pkgconfig/.gitignore b/pkgconfig/.gitignore
deleted file mode 100644
index 6fd0ef0..0000000
--- a/pkgconfig/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.pc
diff --git a/pkgconfig/Makefile.am b/pkgconfig/Makefile.am
deleted file mode 100644
index 8ddf6c0..0000000
--- a/pkgconfig/Makefile.am
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright (c) 2009 Red Hat, Inc.
-#
-# All rights reserved.
-#
-# This software licensed under BSD license, the text of which follows:
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# - Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-# - Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-# - Neither the name of the MontaVista Software, Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from this
-# software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR ENGINES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-# THE POSSIBILITY OF SUCH DAMAGE.
-
-MAINTAINERCLEANFILES = Makefile.in
-
-EXTRA_DIST = libtemplate.pc.in
-
-LIBS = qbipcc qbipcs qbhash qblogsys qbpoll qbtimer qbtsafe qbwthread qbutil
-
-qbipcc_LIBS = -lqbutil
-qbipcs_LIBS = -lqbutil
-qbhash_LIBS = -lqbutil
-qblogsys_LIBS = -lqbutil
-qbtimer_LIBS = -lqbutil
-qbpoll_LIBS = "-lqbutil -lrt"
-qbwthread_LIBS = -lqbutil
-qbtsafe_LIBS =
-qbutil_LIBS =
-
-target_LIBS = $(LIBS:%=lib%.pc)
-
-lib%.pc: libtemplate.pc.in Makefile
- rm -f $@-t $@
- sed \
- -e 's#@''PREFIX@#$(exec_prefix)#g' \
- -e 's#@''LIBDIR@#$(libdir)#g' \
- -e 's#@''LIBVERSION@#$(VERSION)#g' \
- -e 's#@''LIBNAME@#'$(*:lib%=%)'#g' \
- -e 's#@''LIBS@#'-l$(*:lib%=%)\ $($(*:lib%=%)_LIBS)'#g' \
- $< > $@-t
- chmod a-w $@-t
- mv $@-t $@
-
-all-local: $(target_LIBS)
-
-install-exec-local: $(target_LIBS) $(target_PACKAGE)
- $(INSTALL) -d $(DESTDIR)/$(libdir)/pkgconfig
- $(INSTALL) -m 644 $(target_LIBS) $(target_PACKAGE) $(DESTDIR)/$(libdir)/pkgconfig
-
-uninstall-local:
- cd $(DESTDIR)/$(libdir)/pkgconfig && rm -f $(target_LIBS) $(target_PACKAGE)
- rmdir $(DESTDIR)/$(libdir)/pkgconfig 2> /dev/null || :
-
-clean-local:
- rm -f *.pc
diff --git a/pkgconfig/libtemplate.pc.in b/pkgconfig/libtemplate.pc.in
deleted file mode 100644
index 1938d84..0000000
--- a/pkgconfig/libtemplate.pc.in
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=@PREFIX@
-exec_prefix=${prefix}
-libdir=@LIBDIR@
-includedir=${prefix}/include
-
-Name: @LIBNAME@
-Version: @LIBVERSION@
-Description: @LIBNAME@
-Requires:
-Libs: -L${libdir} @LIBS@
-Cflags: -I${includedir}
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 9356e08..f044614 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -22,15 +22,26 @@ noinst_PROGRAMS = bmc bmcpt bms
bmc_SOURCES = bmc.c
bmc_CFLAGS = -I$(top_srcdir)/include
-bmc_LDADD = -lrt $(top_builddir)/lib/libqbipcc.la $(top_builddir)/lib/libqbpoll.la
+bmc_LDADD = -lrt $(top_builddir)/lib/libqb.la
bmcpt_SOURCES = bmcpt.c
bmcpt_CFLAGS = -I$(top_srcdir)/include
-bmcpt_LDADD = -lrt $(top_builddir)/lib/libqbipcc.la $(top_builddir)/lib/libqbpoll.la
+bmcpt_LDADD = -lrt $(top_builddir)/lib/libqb.la
bms_SOURCES = bms.c
bms_CFLAGS = -I$(top_srcdir)/include
-bms_LDADD = -lrt $(top_builddir)/lib/libqbipcs.la $(top_builddir)/lib/libqbpoll.la
+bms_LDADD = -lrt $(top_builddir)/lib/libqb.la
+
+noinst_libdir = $(abs_top_builddir)/tests
+noinst_lib_LTLIBRARIES = libtest_a.la libtest_b.la
+
+libtest_a_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
+libtest_a_la_LDFLAGS = -version-info 0:0:0
+libtest_a_la_SOURCES = libtest_a.c
+
+libtest_b_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
+libtest_b_la_LDFLAGS = -version-info 0:0:0
+libtest_b_la_SOURCES = libtest_b.c
if HAVE_CHECK
@@ -40,24 +51,12 @@ check_PROGRAMS = check_hash check_plugin
check_hash_SOURCES = check_hash.c $(top_builddir)/include/qb/qbhash.h
check_hash_CFLAGS = @CHECK_CFLAGS@ -I$(top_srcdir)/include
-check_hash_LDADD = $(top_builddir)/lib/libqbhash.la @CHECK_LIBS@
+check_hash_LDADD = $(top_builddir)/lib/libqb.la -lrt @CHECK_LIBS@
check_plugin_SOURCES = check_plugin.c
check_plugin_CFLAGS = @CHECK_CFLAGS@ -I$(top_srcdir)/include
check_plugin_LDADD = $(top_builddir)/lib/libqbplugin.a @CHECK_LIBS@
check_plugin_LDFLAGS = $(OS_DYFLAGS)
-noinst_libdir = $(shell pwd)/$(top_builddir)/tests
-
-noinst_lib_LTLIBRARIES = libtest_a.la libtest_b.la
-
-libtest_a_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libtest_a_la_LDFLAGS = -version-info 0:0:0
-libtest_a_la_SOURCES = libtest_a.c
-
-libtest_b_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libtest_b_la_LDFLAGS = -version-info 0:0:0
-libtest_b_la_SOURCES = libtest_b.c
-
endif
--
1.6.6.1
13 years, 11 months
[PATCH 1/2] Add pkg-config files.
by Angus Salkeld
Signed-off-by: Angus Salkeld <asalkeld(a)redhat.com>
---
Makefile.am | 3 +-
configure.ac | 5 ++-
pkgconfig/.gitignore | 1 +
pkgconfig/Makefile.am | 72 +++++++++++++++++++++++++++++++++++++++++++
pkgconfig/libtemplate.pc.in | 11 ++++++
5 files changed, 88 insertions(+), 4 deletions(-)
create mode 100644 pkgconfig/.gitignore
create mode 100644 pkgconfig/Makefile.am
create mode 100644 pkgconfig/libtemplate.pc.in
diff --git a/Makefile.am b/Makefile.am
index d88a6e2..f2107d9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -37,8 +37,7 @@ ACLOCAL_AMFLAGS = -I m4
dist_doc_DATA = COPYING INSTALL README TODO
-SUBDIRS = include lib docs tests
-#pkgconfig
+SUBDIRS = include lib docs pkgconfig tests
install-exec-local:
$(INSTALL) -d $(DESTDIR)/${SOCKETDIR}
diff --git a/configure.ac b/configure.ac
index a3db919..f0541e2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -357,10 +357,11 @@ AC_CONFIG_FILES([Makefile
include/Makefile
include/qb/Makefile
lib/Makefile
+ tests/Makefile
+ pkgconfig/Makefile
docs/Makefile
docs/man.dox
- docs/html.dox
- tests/Makefile])
+ docs/html.dox])
AC_OUTPUT
diff --git a/pkgconfig/.gitignore b/pkgconfig/.gitignore
new file mode 100644
index 0000000..6fd0ef0
--- /dev/null
+++ b/pkgconfig/.gitignore
@@ -0,0 +1 @@
+*.pc
diff --git a/pkgconfig/Makefile.am b/pkgconfig/Makefile.am
new file mode 100644
index 0000000..8ddf6c0
--- /dev/null
+++ b/pkgconfig/Makefile.am
@@ -0,0 +1,72 @@
+# Copyright (c) 2009 Red Hat, Inc.
+#
+# All rights reserved.
+#
+# This software licensed under BSD license, the text of which follows:
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# - Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+# - Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+# - Neither the name of the MontaVista Software, Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from this
+# software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR ENGINES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+# THE POSSIBILITY OF SUCH DAMAGE.
+
+MAINTAINERCLEANFILES = Makefile.in
+
+EXTRA_DIST = libtemplate.pc.in
+
+LIBS = qbipcc qbipcs qbhash qblogsys qbpoll qbtimer qbtsafe qbwthread qbutil
+
+qbipcc_LIBS = -lqbutil
+qbipcs_LIBS = -lqbutil
+qbhash_LIBS = -lqbutil
+qblogsys_LIBS = -lqbutil
+qbtimer_LIBS = -lqbutil
+qbpoll_LIBS = "-lqbutil -lrt"
+qbwthread_LIBS = -lqbutil
+qbtsafe_LIBS =
+qbutil_LIBS =
+
+target_LIBS = $(LIBS:%=lib%.pc)
+
+lib%.pc: libtemplate.pc.in Makefile
+ rm -f $@-t $@
+ sed \
+ -e 's#@''PREFIX@#$(exec_prefix)#g' \
+ -e 's#@''LIBDIR@#$(libdir)#g' \
+ -e 's#@''LIBVERSION@#$(VERSION)#g' \
+ -e 's#@''LIBNAME@#'$(*:lib%=%)'#g' \
+ -e 's#@''LIBS@#'-l$(*:lib%=%)\ $($(*:lib%=%)_LIBS)'#g' \
+ $< > $@-t
+ chmod a-w $@-t
+ mv $@-t $@
+
+all-local: $(target_LIBS)
+
+install-exec-local: $(target_LIBS) $(target_PACKAGE)
+ $(INSTALL) -d $(DESTDIR)/$(libdir)/pkgconfig
+ $(INSTALL) -m 644 $(target_LIBS) $(target_PACKAGE) $(DESTDIR)/$(libdir)/pkgconfig
+
+uninstall-local:
+ cd $(DESTDIR)/$(libdir)/pkgconfig && rm -f $(target_LIBS) $(target_PACKAGE)
+ rmdir $(DESTDIR)/$(libdir)/pkgconfig 2> /dev/null || :
+
+clean-local:
+ rm -f *.pc
diff --git a/pkgconfig/libtemplate.pc.in b/pkgconfig/libtemplate.pc.in
new file mode 100644
index 0000000..1938d84
--- /dev/null
+++ b/pkgconfig/libtemplate.pc.in
@@ -0,0 +1,11 @@
+prefix=@PREFIX@
+exec_prefix=${prefix}
+libdir=@LIBDIR@
+includedir=${prefix}/include
+
+Name: @LIBNAME@
+Version: @LIBVERSION@
+Description: @LIBNAME@
+Requires:
+Libs: -L${libdir} @LIBS@
+Cflags: -I${includedir}
--
1.6.6.1
13 years, 11 months
[PATCH] Fix the new inter-library dependancy.
by Angus Salkeld
http://old.nabble.com/relinking-error-td27796838.html
Signed-off-by: Angus Salkeld <asalkeld(a)redhat.com>
---
lib/Makefile.am | 91 +++++++++++++++++++++++++++++++------------------------
1 files changed, 51 insertions(+), 40 deletions(-)
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 90c6248..e4356fc 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -23,9 +23,9 @@ MAINTAINERCLEANFILES = Makefile.in
noinst_HEADERS = ipc_int.h util_int.h
-#pkgconfigdir = $(libdir)/pkgconfig
-#pkgconfig_DATA = libqbhash.pc
-#libqbhash_la_LIBADD =
+lib_LIBRARIES = libqbplugin.a
+
+libqbplugin_a_SOURCES = plugin_loader.c
#
# Here are a set of rules to help you update your library version information:
@@ -38,52 +38,63 @@ noinst_HEADERS = ipc_int.h util_int.h
# If any interfaces have been removed since the last public release, then set age to 0.
#
-lib_LTLIBRARIES = libqbhash.la libqbpoll.la libqbtimer.la libqblogsys.la \
- libqbtsafe.la libqbwthread.la libqbipcc.la libqbipcs.la \
- libqbutil.la
-
-lib_LIBRARIES = libqbplugin.a
-
-libqbplugin_a_SOURCES = plugin_loader.c
+lib_LTLIBRARIES = libqbutil.la libqbtsafe.la
+# make sure libraries that use libqbutil are listed below.
+lib_LTLIBRARIES += libqbhash.la libqbpoll.la libqbtimer.la libqblogsys.la
+lib_LTLIBRARIES += libqbwthread.la libqbipcc.la libqbipcs.la
libqbutil_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
libqbutil_la_LDFLAGS = -version-info 0:0:0
libqbutil_la_SOURCES = util.c
-libqbhash_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libqbhash_la_LDFLAGS = -version-info 0:0:0
-libqbhash_la_SOURCES = hash.c
-libqbhash_la_LIBADD = libqbutil.la
-
-libqbpoll_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libqbpoll_la_LDFLAGS = -version-info 0:0:0
-libqbpoll_la_SOURCES = poll.c
-libqbpoll_la_LIBADD = libqbutil.la
-
-libqbtimer_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libqbtimer_la_LDFLAGS = -version-info 0:0:0
-libqbtimer_la_SOURCES = timer.c
-
-libqblogsys_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libqblogsys_la_LDFLAGS = -version-info 0:0:0
-libqblogsys_la_SOURCES = logsys.c
-
libqbtsafe_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
libqbtsafe_la_LDFLAGS = -version-info 0:0:0
libqbtsafe_la_SOURCES = tsafe.c
-libqbwthread_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libqbwthread_la_LDFLAGS = -version-info 0:0:0
-libqbwthread_la_SOURCES = wthread.c
-libqbwthread_la_LIBADD = libqbutil.la
-libqbipcc_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libqbipcc_la_LDFLAGS = -version-info 0:0:0
-libqbipcc_la_SOURCES = ipcc.c
-libqbipcc_la_LIBADD = libqbutil.la
+#
+# libs dependant on qbutil
+#
-libqbipcs_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-libqbipcs_la_LDFLAGS = -version-info 0:0:0
-libqbipcs_la_SOURCES = ipcs.c
-libqbipcs_la_LIBADD = libqbutil.la
+libqbhash_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
+libqbhash_la_LDFLAGS = -version-info 0:0:0
+libqbhash_la_SOURCES = hash.c
+libqbhash_la_LIBADD = libqbutil.la
+libqbhash_la_DEPENDENCIES = libqbutil.la
+
+libqbpoll_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
+libqbpoll_la_LDFLAGS = -version-info 0:0:0
+libqbpoll_la_SOURCES = poll.c
+libqbpoll_la_LIBADD = libqbutil.la
+libqbpoll_la_DEPENDENCIES = libqbutil.la
+
+libqbtimer_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
+libqbtimer_la_LDFLAGS = -version-info 0:0:0
+libqbtimer_la_SOURCES = timer.c
+libqbtimer_la_LIBADD = libqbutil.la
+libqbtimer_la_DEPENDENCIES = libqbutil.la
+
+libqbwthread_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
+libqbwthread_la_LDFLAGS = -version-info 0:0:0
+libqbwthread_la_SOURCES = wthread.c
+libqbwthread_la_LIBADD = libqbutil.la
+libqbwthread_la_DEPENDENCIES = libqbutil.la
+
+libqbipcc_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
+libqbipcc_la_LDFLAGS = -version-info 0:0:0
+libqbipcc_la_SOURCES = ipcc.c
+libqbipcc_la_LIBADD = libqbutil.la
+libqbipcc_la_DEPENDENCIES = libqbutil.la
+
+libqbipcs_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
+libqbipcs_la_LDFLAGS = -version-info 0:0:0
+libqbipcs_la_SOURCES = ipcs.c
+libqbipcs_la_LIBADD = libqbutil.la
+libqbipcs_la_DEPENDENCIES = libqbutil.la
+
+libqblogsys_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
+libqblogsys_la_LDFLAGS = -version-info 0:0:0
+libqblogsys_la_SOURCES = logsys.c
+libqblogsys_la_LIBADD = libqbutil.la
+libqblogsys_la_DEPENDENCIES = libqbutil.la
--
1.6.6.1
13 years, 11 months
[PATCH] Add __cplusplus externs
by Angus Salkeld
Signed-off-by: Angus Salkeld <asalkeld(a)redhat.com>
---
include/qb/qbhash.h | 9 +++++++++
include/qb/qblist.h | 8 ++++++++
include/qb/qbplugin_comp.h | 9 +++++++++
include/qb/qbqueue.h | 9 +++++++++
include/qb/qbtimer.h | 8 ++++++++
include/qb/qbtsafe.h | 8 ++++++++
include/qb/qbutil.h | 7 +++++++
include/qb/qbwthread.h | 8 ++++++++
8 files changed, 66 insertions(+), 0 deletions(-)
diff --git a/include/qb/qbhash.h b/include/qb/qbhash.h
index 21815c6..31795ff 100644
--- a/include/qb/qbhash.h
+++ b/include/qb/qbhash.h
@@ -25,6 +25,10 @@
#include <stdlib.h>
#include <qb/qbhdb.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
extern int32_t qb_hash_initialize (
qb_hdb_handle_t *handle,
uint32_t order,
@@ -85,4 +89,9 @@ extern int32_t qb_hash_edge_value_get (
const void **edge_value,
uint64_t *edge_value_len);
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
#endif /* QB_HASH_H_DEFINED */
+
diff --git a/include/qb/qblist.h b/include/qb/qblist.h
index f05ab73..b35f347 100644
--- a/include/qb/qblist.h
+++ b/include/qb/qblist.h
@@ -21,6 +21,10 @@
#ifndef QB_LIST_H_DEFINED
#define QB_LIST_H_DEFINED
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct qb_list_head {
struct qb_list_head *next;
struct qb_list_head *prev;
@@ -83,5 +87,9 @@ static inline void qb_list_splice (struct qb_list_head *list, struct qb_list_hea
current->prev = last;
}
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
#endif /* QB_LIST_H_DEFINED */
diff --git a/include/qb/qbplugin_comp.h b/include/qb/qbplugin_comp.h
index 9e9b97e..6a6eaf7 100644
--- a/include/qb/qbplugin_comp.h
+++ b/include/qb/qbplugin_comp.h
@@ -20,6 +20,10 @@
#ifndef QB_PLUGIN_COMP_H_DEFINED
#define QB_PLUGIN_COMP_H_DEFINED
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* plugin Interface
*/
@@ -50,4 +54,9 @@ static inline void plugin_interfaces_set (struct plugin_iface *iface, void *ifac
iface->interfaces = (void **)iface_list;
}
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
#endif /* QB_PLUGIN_COMP_H_DEFINED */
+
diff --git a/include/qb/qbqueue.h b/include/qb/qbqueue.h
index c4d67c9..4d114f7 100644
--- a/include/qb/qbqueue.h
+++ b/include/qb/qbqueue.h
@@ -25,6 +25,10 @@
#include <pthread.h>
#include "assert.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct qb_queue {
int head;
int tail;
@@ -211,4 +215,9 @@ static inline int qb_queue_usedhw (struct qb_queue *qb_queue) {
return (usedhw);
}
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
#endif /* QB_QUEUE_H_DEFINED */
+
diff --git a/include/qb/qbtimer.h b/include/qb/qbtimer.h
index 2b506d2..416435e 100644
--- a/include/qb/qbtimer.h
+++ b/include/qb/qbtimer.h
@@ -22,6 +22,10 @@
#ifndef QB_TIMER_H_DEFINED
#define QB_TIMER_H_DEFINED
+#ifdef __cplusplus
+extern "C" {
+#endif
+
typedef void * qb_timer_handle;
extern int qb_timer_init (
@@ -53,5 +57,9 @@ extern unsigned long long qb_timer_time_get (void);
extern unsigned long long qb_timer_expire_time_get (qb_timer_handle handle);
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
#endif /* QB_TIMER_H_DEFINED */
diff --git a/include/qb/qbtsafe.h b/include/qb/qbtsafe.h
index 762eb62..074f120 100644
--- a/include/qb/qbtsafe.h
+++ b/include/qb/qbtsafe.h
@@ -22,6 +22,10 @@
#ifndef QB_TSAFE_H_DEFINED
#define QB_TSAFE_H_DEFINED
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Initialize the thread safe checker.
*
@@ -46,5 +50,9 @@ extern void qb_tsafe_on (void);
*/
extern void qb_tsafe_off (void);
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
#endif /* QB_TSAFE_H_DEFINED */
diff --git a/include/qb/qbutil.h b/include/qb/qbutil.h
index 09ffa65..11c7a1f 100644
--- a/include/qb/qbutil.h
+++ b/include/qb/qbutil.h
@@ -20,6 +20,10 @@
#ifndef QB_UTIL_H_DEFINED
#define QB_UTIL_H_DEFINED
+#ifdef __cplusplus
+extern "C" {
+#endif
+
typedef enum {
QB_THREAD_LOCK_SHORT,
QB_THREAD_LOCK_LONG,
@@ -62,6 +66,9 @@ typedef void (* qb_util_log_fn_t)(const char *file_name,
*/
void qb_util_set_log_function (qb_util_log_fn_t fn);
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
#endif /* QB_UTIL_H_DEFINED */
diff --git a/include/qb/qbwthread.h b/include/qb/qbwthread.h
index 412fa6a..cafe8ff 100644
--- a/include/qb/qbwthread.h
+++ b/include/qb/qbwthread.h
@@ -22,6 +22,10 @@
#ifndef QB_WTHREAD_H_DEFINED
#define QB_WTHREAD_H_DEFINED
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct qb_wthread_group {
int threadcount;
int last_scheduled;
@@ -51,5 +55,9 @@ extern void qb_wthread_group_exit (
extern void qb_wthread_group_atsegv (
struct qb_wthread_group *worker_thread_group);
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
#endif /* QB_WTHREAD_H_DEFINED */
--
1.6.6.1
13 years, 11 months
[PATCH 1/2] Fix manpage generation when builddir != srcdir
by Angus Salkeld
Signed-off-by: Angus Salkeld <asalkeld(a)redhat.com>
---
configure.ac | 1 +
man/Doxyfile | 162 -------------------------------------------------------
man/Doxyfile.in | 162 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 163 insertions(+), 162 deletions(-)
delete mode 100644 man/Doxyfile
create mode 100644 man/Doxyfile.in
diff --git a/configure.ac b/configure.ac
index 7196e8f..74b05bb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -358,6 +358,7 @@ AC_CONFIG_FILES([Makefile
include/qb/Makefile
lib/Makefile
man/Makefile
+ man/Doxyfile
tests/Makefile])
AC_OUTPUT
diff --git a/man/Doxyfile b/man/Doxyfile
deleted file mode 100644
index 0114cc2..0000000
--- a/man/Doxyfile
+++ /dev/null
@@ -1,162 +0,0 @@
-DOXYFILE_ENCODING = UTF-8
-PROJECT_NAME = quarterback
-PROJECT_NUMBER = 0.10
-OUTPUT_DIRECTORY = .
-CREATE_SUBDIRS = NO
-OUTPUT_LANGUAGE = English
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ABBREVIATE_BRIEF = YES
-ALWAYS_DETAILED_SEC = YES
-INLINE_INHERITED_MEMB = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-STRIP_FROM_INC_PATH =
-SHORT_NAMES = NO
-JAVADOC_AUTOBRIEF = YES
-QT_AUTOBRIEF = NO
-MULTILINE_CPP_IS_BRIEF = NO
-INHERIT_DOCS = YES
-SEPARATE_MEMBER_PAGES = NO
-TAB_SIZE = 8
-ALIASES =
-OPTIMIZE_OUTPUT_FOR_C = YES
-OPTIMIZE_OUTPUT_JAVA = NO
-OPTIMIZE_FOR_FORTRAN = NO
-OPTIMIZE_OUTPUT_VHDL = NO
-EXTENSION_MAPPING =
-BUILTIN_STL_SUPPORT = NO
-CPP_CLI_SUPPORT = NO
-SIP_SUPPORT = NO
-IDL_PROPERTY_SUPPORT = NO
-DISTRIBUTE_GROUP_DOC = YES
-SUBGROUPING = NO
-TYPEDEF_HIDES_STRUCT = YES
-SYMBOL_CACHE_SIZE = 0
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = NO
-EXTRACT_STATIC = YES
-EXTRACT_LOCAL_CLASSES = NO
-EXTRACT_LOCAL_METHODS = YES
-EXTRACT_ANON_NSPACES = YES
-HIDE_UNDOC_MEMBERS = YES
-HIDE_UNDOC_CLASSES = YES
-HIDE_FRIEND_COMPOUNDS = YES
-HIDE_IN_BODY_DOCS = YES
-INTERNAL_DOCS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-SHOW_INCLUDE_FILES = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-SORT_BRIEF_DOCS = NO
-SORT_MEMBERS_CTORS_1ST = NO
-SORT_GROUP_NAMES = NO
-SORT_BY_SCOPE_NAME = NO
-GENERATE_TODOLIST = NO
-GENERATE_TESTLIST = NO
-GENERATE_BUGLIST = NO
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS =
-MAX_INITIALIZER_LINES = 30
-SHOW_USED_FILES = YES
-SHOW_DIRECTORIES = NO
-SHOW_FILES = YES
-SHOW_NAMESPACES = YES
-FILE_VERSION_FILTER =
-LAYOUT_FILE =
-#---------------------------------------------------------------------------
-QUIET = NO
-WARNINGS = YES
-WARN_IF_UNDOCUMENTED = YES
-WARN_IF_DOC_ERROR = YES
-WARN_NO_PARAMDOC = NO
-WARN_FORMAT =
-WARN_LOGFILE =
-#---------------------------------------------------------------------------
-INPUT = ../include/qb/
-INPUT_ENCODING = UTF-8
-FILE_PATTERNS = *.h
-RECURSIVE = YES
-EXCLUDE =
-EXCLUDE_SYMLINKS = NO
-EXCLUDE_PATTERNS =
-EXCLUDE_SYMBOLS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_PATTERNS =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-SOURCE_BROWSER = NO
-INLINE_SOURCES = NO
-STRIP_CODE_COMMENTS = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION = YES
-REFERENCES_LINK_SOURCE = YES
-USE_HTAGS = NO
-VERBATIM_HEADERS = NO
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX = NO
-COLS_IN_ALPHA_INDEX = 5
-IGNORE_PREFIX =
-#---------------------------------------------------------------------------
-GENERATE_MAN = YES
-MAN_OUTPUT = .
-MAN_EXTENSION = .3
-MAN_LINKS = YES
-GENERATE_HTML = NO
-#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
-GENERATE_RTF = NO
-GENERATE_XML = NO
-GENERATE_AUTOGEN_DEF = NO
-GENERATE_PERLMOD = NO
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = NO
-MACRO_EXPANSION = NO
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = ../include
-INCLUDE_FILE_PATTERNS = *.h
-PREDEFINED =
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-#
-#
-TAGFILES =
-GENERATE_TAGFILE =
-ALLEXTERNALS = NO
-EXTERNAL_GROUPS = NO
-PERL_PATH =
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = NO
-MSCGEN_PATH =
-HIDE_UNDOC_RELATIONS = YES
-HAVE_DOT = NO
-DOT_FONTNAME = FreeSans
-DOT_FONTSIZE = 10
-DOT_FONTPATH =
-CLASS_GRAPH = NO
-COLLABORATION_GRAPH = NO
-GROUP_GRAPHS = NO
-UML_LOOK = NO
-TEMPLATE_RELATIONS = NO
-INCLUDE_GRAPH = NO
-INCLUDED_BY_GRAPH = NO
-CALL_GRAPH = NO
-CALLER_GRAPH = NO
-GRAPHICAL_HIERARCHY = NO
-DIRECTORY_GRAPH = NO
-DOT_IMAGE_FORMAT = png
-DOT_PATH =
-DOTFILE_DIRS =
-DOT_GRAPH_MAX_NODES = 50
-MAX_DOT_GRAPH_DEPTH = 0
-DOT_TRANSPARENT = NO
-DOT_MULTI_TARGETS = NO
-GENERATE_LEGEND = YES
-DOT_CLEANUP = YES
diff --git a/man/Doxyfile.in b/man/Doxyfile.in
new file mode 100644
index 0000000..9e5f925
--- /dev/null
+++ b/man/Doxyfile.in
@@ -0,0 +1,162 @@
+DOXYFILE_ENCODING = UTF-8
+PROJECT_NAME = libqb
+PROJECT_NUMBER = 0.10
+OUTPUT_DIRECTORY = .
+CREATE_SUBDIRS = NO
+OUTPUT_LANGUAGE = English
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ABBREVIATE_BRIEF = YES
+ALWAYS_DETAILED_SEC = YES
+INLINE_INHERITED_MEMB = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+STRIP_FROM_INC_PATH =
+SHORT_NAMES = NO
+JAVADOC_AUTOBRIEF = YES
+QT_AUTOBRIEF = NO
+MULTILINE_CPP_IS_BRIEF = NO
+INHERIT_DOCS = YES
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 8
+ALIASES =
+OPTIMIZE_OUTPUT_FOR_C = YES
+OPTIMIZE_OUTPUT_JAVA = NO
+OPTIMIZE_FOR_FORTRAN = NO
+OPTIMIZE_OUTPUT_VHDL = NO
+EXTENSION_MAPPING =
+BUILTIN_STL_SUPPORT = NO
+CPP_CLI_SUPPORT = NO
+SIP_SUPPORT = NO
+IDL_PROPERTY_SUPPORT = NO
+DISTRIBUTE_GROUP_DOC = YES
+SUBGROUPING = NO
+TYPEDEF_HIDES_STRUCT = YES
+SYMBOL_CACHE_SIZE = 0
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = NO
+EXTRACT_STATIC = YES
+EXTRACT_LOCAL_CLASSES = NO
+EXTRACT_LOCAL_METHODS = YES
+EXTRACT_ANON_NSPACES = YES
+HIDE_UNDOC_MEMBERS = YES
+HIDE_UNDOC_CLASSES = YES
+HIDE_FRIEND_COMPOUNDS = YES
+HIDE_IN_BODY_DOCS = YES
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+SHOW_INCLUDE_FILES = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = NO
+SORT_MEMBERS_CTORS_1ST = NO
+SORT_GROUP_NAMES = NO
+SORT_BY_SCOPE_NAME = NO
+GENERATE_TODOLIST = NO
+GENERATE_TESTLIST = NO
+GENERATE_BUGLIST = NO
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 30
+SHOW_USED_FILES = YES
+SHOW_DIRECTORIES = NO
+SHOW_FILES = YES
+SHOW_NAMESPACES = YES
+FILE_VERSION_FILTER =
+LAYOUT_FILE =
+#---------------------------------------------------------------------------
+QUIET = NO
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_FORMAT =
+WARN_LOGFILE =
+#---------------------------------------------------------------------------
+INPUT = @srcdir@/../include/qb/
+INPUT_ENCODING = UTF-8
+FILE_PATTERNS = *.h
+RECURSIVE = YES
+EXCLUDE =
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS =
+EXCLUDE_SYMBOLS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH =
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = NO
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION = YES
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS = NO
+VERBATIM_HEADERS = NO
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = NO
+COLS_IN_ALPHA_INDEX = 5
+IGNORE_PREFIX =
+#---------------------------------------------------------------------------
+GENERATE_MAN = YES
+MAN_OUTPUT = .
+MAN_EXTENSION = .3
+MAN_LINKS = YES
+GENERATE_HTML = NO
+#---------------------------------------------------------------------------
+GENERATE_LATEX = NO
+GENERATE_RTF = NO
+GENERATE_XML = NO
+GENERATE_AUTOGEN_DEF = NO
+GENERATE_PERLMOD = NO
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING = NO
+MACRO_EXPANSION = NO
+EXPAND_ONLY_PREDEF = NO
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = ../include
+INCLUDE_FILE_PATTERNS = *.h
+PREDEFINED =
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = YES
+#---------------------------------------------------------------------------
+#
+#
+TAGFILES =
+GENERATE_TAGFILE =
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = NO
+PERL_PATH =
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = NO
+MSCGEN_PATH =
+HIDE_UNDOC_RELATIONS = YES
+HAVE_DOT = NO
+DOT_FONTNAME = FreeSans
+DOT_FONTSIZE = 10
+DOT_FONTPATH =
+CLASS_GRAPH = NO
+COLLABORATION_GRAPH = NO
+GROUP_GRAPHS = NO
+UML_LOOK = NO
+TEMPLATE_RELATIONS = NO
+INCLUDE_GRAPH = NO
+INCLUDED_BY_GRAPH = NO
+CALL_GRAPH = NO
+CALLER_GRAPH = NO
+GRAPHICAL_HIERARCHY = NO
+DIRECTORY_GRAPH = NO
+DOT_IMAGE_FORMAT = png
+DOT_PATH =
+DOTFILE_DIRS =
+DOT_GRAPH_MAX_NODES = 50
+MAX_DOT_GRAPH_DEPTH = 0
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = NO
+GENERATE_LEGEND = YES
+DOT_CLEANUP = YES
--
1.6.6.1
13 years, 11 months
[PATCH 1/3] Add a util library with locking wrappers.
by Angus Salkeld
Signed-off-by: Angus Salkeld <asalkeld(a)redhat.com>
---
include/os_base.h | 1 +
include/qb/Makefile.am | 3 +-
include/qb/qbutil.h | 55 ++++++++++++++++++++++++
lib/Makefile.am | 7 +++-
lib/util.c | 110 ++++++++++++++++++++++++++++++++++++++++++++++++
man/Makefile.am | 4 +-
6 files changed, 176 insertions(+), 4 deletions(-)
create mode 100644 include/qb/qbutil.h
create mode 100644 lib/util.c
diff --git a/include/os_base.h b/include/os_base.h
index 0ff7e68..e0c2711 100644
--- a/include/os_base.h
+++ b/include/os_base.h
@@ -25,6 +25,7 @@
#include <stdlib.h>
#endif /* HAVE_STDLIB_H */
#include <stdio.h>
+#include <stdint.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif /* HAVE_UNISTD_H */
diff --git a/include/qb/Makefile.am b/include/qb/Makefile.am
index 0341274..aed2cc0 100644
--- a/include/qb/Makefile.am
+++ b/include/qb/Makefile.am
@@ -23,5 +23,6 @@ instdir = $(includedir)/qb/
inst_HEADERS = qbtsafe.h qbhdb.h qblist.h qbpoll.h \
qbtimer.h qbplugin.h qbplugin_comp.h \
qbipcc.h qbipcs.h qbwthread.h qbqueue.h \
- qblogsys.h qbhash.h qbipc_common.h
+ qblogsys.h qbhash.h qbipc_common.h \
+ qbutil.h
diff --git a/include/qb/qbutil.h b/include/qb/qbutil.h
new file mode 100644
index 0000000..d6c9987
--- /dev/null
+++ b/include/qb/qbutil.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2010 Red Hat, Inc.
+ *
+ * Author: Angus Salkeld <asalkeld(a)redhat.com>
+ *
+ * libqb is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * libqb is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with libqb. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef QB_UTIL_H_DEFINED
+#define QB_UTIL_H_DEFINED
+
+typedef enum {
+ QB_THREAD_LOCK_SHORT,
+ QB_THREAD_LOCK_LONG,
+} qb_thread_lock_type_t;
+
+struct qb_thread_lock_s;
+typedef struct qb_thread_lock_s qb_thread_lock_t;
+
+/**
+ * create a new lock.
+ * @param type QB_THREAD_LOCK_SHORT == spinlock (where available, else mutex)
+ * QB_THREAD_LOCK_LONG == mutex
+ * @return pointer to qb_thread_lock_type_t or NULL on error.
+ */
+qb_thread_lock_t* qb_thread_lock_create (qb_thread_lock_type_t type);
+
+/**
+ * calls either pthread_mutex_lock() or pthread_spin_lock.
+ */
+int32_t qb_thread_lock (qb_thread_lock_t* tl);
+
+/**
+ * calls either pthread_mutex_trylock() or pthread_spin_trylock.
+ */
+int32_t qb_thread_trylock (qb_thread_lock_t* tl);
+
+/**
+ * calls either pthread_mutex_unlock() or pthread_spin_unlock.
+ */
+int32_t qb_thread_unlock (qb_thread_lock_t* tl);
+
+#endif /* QB_UTIL_H_DEFINED */
+
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 83b1f32..9582341 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -39,12 +39,17 @@ noinst_HEADERS = ipc_int.h
#
lib_LTLIBRARIES = libqbhash.la libqbpoll.la libqbtimer.la libqblogsys.la \
- libqbtsafe.la libqbwthread.la libqbipcc.la libqbipcs.la
+ libqbtsafe.la libqbwthread.la libqbipcc.la libqbipcs.la \
+ libqbutil.la
lib_LIBRARIES = libqbplugin.a
libqbplugin_a_SOURCES = plugin_loader.c
+libqbutil_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
+libqbutil_la_LDFLAGS = -version-info 0:0:0
+libqbutil_la_SOURCES = util.c
+
libqbhash_la_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
libqbhash_la_LDFLAGS = -version-info 0:0:0
libqbhash_la_SOURCES = hash.c
diff --git a/lib/util.c b/lib/util.c
new file mode 100644
index 0000000..1fcac7f
--- /dev/null
+++ b/lib/util.c
@@ -0,0 +1,110 @@
+/*
+ * Copyright (C) 2010 Red Hat, Inc.
+ *
+ * All rights reserved.
+ *
+ * Author: Angus Salkeld <asalkeld(a)redhat.com>
+ *
+ * libqb is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * libqb is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with libqb. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include <config.h>
+
+#include "os_base.h"
+#include <sys/shm.h>
+#include <sys/mman.h>
+#include <pthread.h>
+#if _POSIX_THREAD_PROCESS_SHARED > 0
+#include <semaphore.h>
+#else
+#include <sys/sem.h>
+#endif
+#include <qb/qbutil.h>
+
+struct qb_thread_lock_s {
+ qb_thread_lock_type_t type;
+#if defined(HAVE_PTHREAD_SPIN_LOCK)
+ pthread_spinlock_t spinlock;
+#endif
+ pthread_mutex_t mutex;
+
+};
+
+
+qb_thread_lock_t* qb_thread_lock_create (qb_thread_lock_type_t type)
+{
+ struct qb_thread_lock_s* tl = malloc (sizeof (struct qb_thread_lock_s));
+ int res;
+
+#if defined(HAVE_PTHREAD_SPIN_LOCK)
+ if (type == QB_THREAD_LOCK_SHORT) {
+ tl->type = QB_THREAD_LOCK_SHORT;
+ res = pthread_spin_init (&tl->spinlock, 1);
+ } else
+#endif
+ {
+ tl->type = QB_THREAD_LOCK_LONG;
+ res = pthread_mutex_init (&tl->mutex, NULL);
+ }
+ if (res == 0) {
+ return tl;
+ } else {
+ free (tl);
+ return NULL;
+ }
+}
+
+int32_t qb_thread_lock (qb_thread_lock_t* tl)
+{
+ int res;
+#if defined(HAVE_PTHREAD_SPIN_LOCK)
+ if (tl->type == QB_THREAD_LOCK_SHORT) {
+ res = pthread_spin_lock (&tl->spinlock);
+ } else
+#endif
+ {
+ res = pthread_mutex_lock (&tl->mutex);
+ }
+ return (int32_t)res;
+}
+
+int32_t qb_thread_unlock (qb_thread_lock_t* tl)
+{
+ int res;
+#if defined(HAVE_PTHREAD_SPIN_LOCK)
+ if (tl->type == QB_THREAD_LOCK_SHORT) {
+ res = pthread_spin_unlock (&tl->spinlock);
+ } else
+#endif
+ {
+ res = pthread_mutex_unlock (&tl->mutex);
+ }
+ return (int32_t)res;
+}
+
+int32_t qb_thread_trylock (qb_thread_lock_t* tl)
+{
+ int res;
+#if defined(HAVE_PTHREAD_SPIN_LOCK)
+ if (tl->type == QB_THREAD_LOCK_SHORT) {
+ res = pthread_spin_trylock (&tl->spinlock);
+ } else
+#endif
+ {
+ res = pthread_mutex_trylock (&tl->mutex);
+ }
+ return (int32_t)res;
+}
+
+
+
diff --git a/man/Makefile.am b/man/Makefile.am
index 1ad6571..29b1668 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -24,7 +24,7 @@ dist_man_MANS = man3/qbtsafe.h.3 man3/qbhdb.h.3 man3/qblist.h.3 \
man3/qbpoll.h.3 man3/qbtimer.h.3 man3/qbplugin.h.3 \
man3/qbplugin_comp.h.3 man3/qbipcc.h.3 man3/qbipcs.h.3 \
man3/qbqueue.h.3 man3/qbwthread.h.3 man3/qblogsys.h.3 \
- man3/qbhash.h.3 man3/qbipc_common.h.3
+ man3/qbhash.h.3 man3/qbipc_common.h.3 man3/qbutil.h.3
inc_dir = $(top_srcdir)/include/qb
@@ -32,7 +32,7 @@ dependant_headers = $(inc_dir)/qbtsafe.h $(inc_dir)/qbhdb.h $(inc_dir)/qblist.h
$(inc_dir)/qbpoll.h $(inc_dir)/qbtimer.h $(inc_dir)/qbplugin.h \
$(inc_dir)/qbplugin_comp.h $(inc_dir)/qbipcc.h $(inc_dir)/qbipc_common.h \
$(inc_dir)/qbipcs.h $(inc_dir)/qbqueue.h $(inc_dir)/qbwthread.h \
- $(inc_dir)/qblogsys.h $(inc_dir)/qbhash.h
+ $(inc_dir)/qblogsys.h $(inc_dir)/qbhash.h $(inc_dir)/qbutil.h
$(dist_man_MANS): Doxyfile $(dependant_headers)
doxygen Doxyfile
--
1.6.6.1
13 years, 11 months
change of license on libqb (corosync libs) to LGPL
by Angus Salkeld
Hi all
As you might know we are pulling some parts of corosync out
into a separate library (libqb.org) so the other cluster applications
can use them (and anyone else).
If possible I would like to make this library LGPL
(it is currently a modified BSD license).
You are the contributors (from what I can figure out using git log).
Are you OK with me changing the license on these files to LGPL?
http://www.gnu.org/licenses/lgpl-2.1.txt
If you are happy with this can you please reply to the mailing list with an ACK?
quarterback-devel(a)lists.fedorahosted.org
If there are any other formalities that I need to complete please let
me know.
The files we are pulling out are below.
Regards
Angus Salkeld
include/corosync/coroipc_ipc.h
include/corosync/coroipc_types.h
include/corosync/coroipcc.h
include/corosync/coroipcs.h
include/corosync/engine/logsys.h
include/corosync/hdb.h
include/corosync/lcr/lcr_ckpt.h
include/corosync/lcr/lcr_comp.h
include/corosync/lcr/lcr_ifact.h
include/corosync/list.h
include/corosync/mar_gen.h
include/corosync/totem/coropoll.h
lib/coroipcc.c
exec/coroipcs.c
exec/coropoll.c
exec/logsys.c
exec/schedwrk.c
exec/schedwrk.h
exec/timer.c
exec/timer.h
exec/tlist.h
exec/tsafe.c
exec/tsafe.h
exec/wthread.c
exec/wthread.h
13 years, 11 months