Cleanup: remove leftover manual pthread detection
[urcu.git] / Makefile.am
index df67b1e3fef0fd8c8f7ce71d37b7f0a994a49987..7b21321d9c06099b817fd63bf0ed2ed1baa3c23e 100644 (file)
@@ -1,18 +1,39 @@
-ACLOCAL_AMFLAGS = -I m4
-INCLUDES = -I$(top_builddir)/urcu
+ACLOCAL_AMFLAGS=-I m4
 
-AM_LDFLAGS=-lpthread
+AM_CPPFLAGS = -I$(top_builddir)/urcu
 
-SUBDIRS = . tests
+#Add the -version-info directly here since we are only building
+# library that use the version-info
+AM_LDFLAGS=-version-info $(URCU_LIBRARY_VERSION)
+if USE_CYGWIN
+AM_LDFLAGS+=-no-undefined
+endif
+AM_CFLAGS=-Wall
 
-include_HEADERS = urcu.h $(top_srcdir)/urcu-*.h
-nobase_dist_include_HEADERS = urcu/compiler.h urcu/hlist.h urcu/list.h \
-               urcu/rculist.h urcu/system.h urcu/urcu-futex.h
-nobase_nodist_include_HEADERS = urcu/arch.h urcu/uatomic_arch.h urcu/config.h
+SUBDIRS = . doc tests
 
-EXTRA_DIST = $(top_srcdir)/urcu/arch_*.h $(top_srcdir)/urcu/uatomic_arch_*.h \
+include_HEADERS = urcu.h urcu-bp.h urcu-call-rcu.h urcu-defer.h \
+               urcu-pointer.h urcu-qsbr.h urcu-flavor.h
+nobase_dist_include_HEADERS = urcu/compiler.h urcu/hlist.h urcu/list.h \
+               urcu/rculist.h urcu/rcuhlist.h urcu/system.h urcu/futex.h \
+               urcu/uatomic/generic.h urcu/arch/generic.h urcu/wfstack.h \
+               urcu/wfqueue.h urcu/rculfstack.h urcu/rculfqueue.h \
+               urcu/ref.h urcu/cds.h urcu/urcu_ref.h urcu/urcu-futex.h \
+               urcu/uatomic_arch.h urcu/rculfhash.h urcu/wfcqueue.h \
+               urcu/lfstack.h urcu/syscall-compat.h \
+               $(top_srcdir)/urcu/map/*.h \
+               $(top_srcdir)/urcu/static/*.h \
+               urcu/rand-compat.h \
+               urcu/tls-compat.h urcu/debug.h
+nobase_nodist_include_HEADERS = urcu/arch.h urcu/uatomic.h urcu/config.h
+
+dist_noinst_HEADERS = urcu-die.h urcu-wait.h compat-getcpu.h
+
+EXTRA_DIST = $(top_srcdir)/urcu/arch/*.h $(top_srcdir)/urcu/uatomic/*.h \
                gpl-2.0.txt lgpl-2.1.txt lgpl-relicensing.txt \
-               README LICENSE compat_arch_x86.c
+               LICENSE compat_arch_x86.c \
+               urcu-call-rcu-impl.h urcu-defer-impl.h \
+               rculfhash-internal.h
 
 if COMPAT_ARCH
 COMPAT=compat_arch_@ARCHTYPE@.c
@@ -20,32 +41,55 @@ else
 COMPAT=
 endif
 
-if COMPAT_FUTEX
 COMPAT+=compat_futex.c
-endif
 
-lib_LTLIBRARIES = liburcu.la liburcu-mb.la liburcu-defer.la liburcu-qsbr.la liburcu-bp.la
+RCULFHASH = rculfhash.c rculfhash-mm-order.c rculfhash-mm-chunk.c \
+               rculfhash-mm-mmap.c
+
+lib_LTLIBRARIES = liburcu-common.la \
+               liburcu.la liburcu-qsbr.la \
+               liburcu-mb.la liburcu-signal.la liburcu-bp.la \
+               liburcu-cds.la
+
+#
+# liburcu-common contains wait-free queues (needed by call_rcu) as well
+# as futex fallbacks.
+#
+liburcu_common_la_SOURCES = wfqueue.c wfcqueue.c wfstack.c $(COMPAT)
 
 liburcu_la_SOURCES = urcu.c urcu-pointer.c $(COMPAT)
+liburcu_la_LIBADD = liburcu-common.la
+
+liburcu_qsbr_la_SOURCES = urcu-qsbr.c urcu-pointer.c $(COMPAT)
+liburcu_qsbr_la_LIBADD = liburcu-common.la
 
 liburcu_mb_la_SOURCES = urcu.c urcu-pointer.c $(COMPAT)
-liburcu_mb_la_CFLAGS = -DURCU_MB
+liburcu_mb_la_CFLAGS = -DRCU_MB
+liburcu_mb_la_LIBADD = liburcu-common.la
 
-liburcu_bp_la_SOURCES = urcu-bp.c urcu-pointer.c $(COMPAT)
+liburcu_signal_la_SOURCES = urcu.c urcu-pointer.c $(COMPAT)
+liburcu_signal_la_CFLAGS = -DRCU_SIGNAL
+liburcu_signal_la_LIBADD = liburcu-common.la
 
-liburcu_defer_la_SOURCES = urcu-defer.c $(COMPAT)
+liburcu_bp_la_SOURCES = urcu-bp.c urcu-pointer.c $(COMPAT)
+liburcu_bp_la_LIBADD = liburcu-common.la
 
-liburcu_qsbr_la_SOURCES = urcu-qsbr.c urcu-pointer.c $(COMPAT)
+liburcu_cds_la_SOURCES = rculfqueue.c rculfstack.c lfstack.c \
+       $(RCULFHASH) $(COMPAT)
+liburcu_cds_la_LIBADD = liburcu-common.la
 
-*.h *.c: urcu/arch.h urcu/uatomic_arch.h
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = liburcu-cds.pc liburcu.pc liburcu-bp.pc liburcu-qsbr.pc \
+       liburcu-signal.pc liburcu-mb.pc
 
-urcu/arch.h: $(top_srcdir)/urcu/arch_@ARCHTYPE@.h
-       $(MKDIR_P) $(top_builddir)/urcu
-       cp -f $(top_srcdir)/urcu/arch_@ARCHTYPE@.h $(top_builddir)/urcu/arch.h
+dist_doc_DATA = README.md ChangeLog
 
-urcu/uatomic_arch.h: $(top_srcdir)/urcu/uatomic_arch_@ARCHTYPE@.h
-       $(MKDIR_P) $(top_builddir)/urcu
-       cp -f $(top_srcdir)/urcu/uatomic_arch_@ARCHTYPE@.h $(top_builddir)/urcu/uatomic_arch.h
+dist_noinst_DATA = CodingStyle
 
-clean-local:
-       rm -f urcu/arch.h urcu/uatomic_arch.h
+.PHONY: short_bench long_bench regtest
+short_bench:
+       cd tests && $(MAKE) $(AM_MAKEFLAGS) short_bench
+long_bench:
+       cd tests && $(MAKE) $(AM_MAKEFLAGS) long_bench
+regtest:
+       cd tests && $(MAKE) $(AM_MAKEFLAGS) regtest
This page took 0.024382 seconds and 4 git commands to generate.