From 455b809af97338c959280aee24a36699c4a947b5 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Mon, 1 Mar 2010 13:50:32 -0500 Subject: [PATCH] use autoconf symbolic linking Instead of copying. This is less error-prone while developing and lets Automake handle more stuff. Signed-off-by: Paolo Bonzini Signed-off-by: Mathieu Desnoyers --- Makefile.am | 13 ------------- configure.ac | 15 +++++++++++++-- tests/Makefile.am | 12 ------------ 3 files changed, 13 insertions(+), 27 deletions(-) diff --git a/Makefile.am b/Makefile.am index 33c7b53..2d6c65b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -38,16 +38,3 @@ liburcu_signal_la_CFLAGS = -DRCU_SIGNAL liburcu_bp_la_SOURCES = urcu-bp.c urcu-pointer.c $(COMPAT) liburcu_defer_la_SOURCES = urcu-defer.c $(COMPAT) - -$(top_srcdir)/*.h $(top_srcdir)/*.c: urcu/arch.h urcu/uatomic_arch.h - -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 - -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 - -clean-local: - rm -f urcu/arch.h urcu/uatomic_arch.h diff --git a/configure.ac b/configure.ac index c797831..ab6f3a2 100644 --- a/configure.ac +++ b/configure.ac @@ -56,6 +56,14 @@ esac if test "$ARCHTYPE" = "unknown"; then AC_MSG_ERROR([Unable to detect the architecture.]) fi +UATOMICSRC=urcu/uatomic_arch_$ARCHTYPE.h +ARCHSRC=urcu/arch_$ARCHTYPE.h +if test "x$ARCHTYPE" != xx86 -a "x$ARCHTYPE" != xppc; then + APISRC=tests/api_gcc.h +else + APISRC=tests/api_$ARCHTYPE.h +fi + AC_SUBST(ARCHTYPE) AC_SUBST(SUBARCHTYPE) @@ -95,8 +103,6 @@ AC_TRY_COMPILE( AM_CONDITIONAL([COMPAT_FUTEX], [ test "x$compat_futex_test" = "x1" ]) -AM_CONDITIONAL([GCC_API], [test "x$ARCHTYPE" != xx86 -a "x$ARCHTYPE" != xppc]) - AM_CONDITIONAL([COMPAT_ARCH], [test "x$SUBARCHTYPE" = xx86compat ]) [ @@ -204,6 +210,11 @@ AC_CHECK_FUNCS( CFLAGS=$saved_CFLAGS +AC_CONFIG_LINKS([ + urcu/arch.h:$ARCHSRC + urcu/uatomic_arch.h:$UATOMICSRC + tests/api.h:$APISRC +]) AC_CONFIG_FILES([ Makefile tests/Makefile diff --git a/tests/Makefile.am b/tests/Makefile.am index 02e0583..17b89db 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -40,12 +40,6 @@ URCU_MB_LIB=$(top_builddir)/liburcu-mb.la URCU_SIGNAL_LIB=$(top_builddir)/liburcu-signal.la URCU_BP_LIB=$(top_builddir)/liburcu-bp.la -if GCC_API -APIHEADER=api_gcc.h -else -APIHEADER=api_@ARCHTYPE@.h -endif - EXTRA_DIST = $(top_srcdir)/tests/api_*.h @@ -156,9 +150,3 @@ test_urcu_bp_dynamic_link_SOURCES = test_urcu_bp.c $(URCU_BP) test_urcu_bp_dynamic_link_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) urcutorture.c: api.h - -api.h: $(APIHEADER) - cp -f $(srcdir)/$(APIHEADER) api.h - -clean-local: - rm -f api.h -- 2.34.1