[ltt-dev] [PATCH 02/12] use autoconf symbolic linking
Paolo Bonzini
pbonzini at redhat.com
Mon Feb 15 14:04:35 EST 2010
Instead of copying. This is less error-prone while developing and
lets Automake handle more stuff.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
---
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 4f915e1..2ede9e0 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_ at ARCHTYPE@.h
- $(mkdir_p) $(top_builddir)/urcu
- cp -f $(top_srcdir)/urcu/arch_ at ARCHTYPE@.h $(top_builddir)/urcu/arch.h
-
-urcu/uatomic_arch.h: $(top_srcdir)/urcu/uatomic_arch_ at ARCHTYPE@.h
- $(mkdir_p) $(top_builddir)/urcu
- cp -f $(top_srcdir)/urcu/uatomic_arch_ at 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_ at 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
--
1.6.6
More information about the lttng-dev
mailing list