From dce2384770a6e791312cb3330233d733ed1b0949 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Fri, 17 Oct 2008 14:05:53 +0000 Subject: - fix toggling thread implementation. Previously the old headers were left in include/ leading to spurious compile failures. This is ugly as it can get (we resort to sneaking -L in for the moment) but good enough for now. The worst thing which can happen is that we ln these headers once per invocation of make, nothing more. If some installation of make(1) complains about the "-L" then wrap it in ifneq ($(findstring check-symlink,$(.FEATURES)),) --- libpthread/linuxthreads.old/Makefile.in | 15 ++++++++------- libpthread/linuxthreads.old_db/Makefile.in | 15 ++++++++++----- libpthread/linuxthreads/Makefile.in | 15 ++++++++------- libpthread/linuxthreads_db/Makefile.in | 15 ++++++++++----- 4 files changed, 36 insertions(+), 24 deletions(-) (limited to 'libpthread') diff --git a/libpthread/linuxthreads.old/Makefile.in b/libpthread/linuxthreads.old/Makefile.in index fe29f2cd1..cae839360 100644 --- a/libpthread/linuxthreads.old/Makefile.in +++ b/libpthread/linuxthreads.old/Makefile.in @@ -71,9 +71,6 @@ libpthread-so-y += $(libpthread_OBJ:.o=.os) $(libpthread-shared-y) lib-a-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.a lib-so-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.so -objclean-y += libpthread_clean -headers-$(UCLIBC_HAS_THREADS) += linuxthreads_headers -headers_clean-y += linuxthreads_headers_clean #ifeq ($(DOMULTI),n) $(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread_so.a $(libc.depend) @@ -111,13 +108,17 @@ include/semaphore.h: $(do_ln) ../$(PTDIR)/$(@F) $(top_builddir)$@ include/bits/pthreadtypes.h: | include/bits $(do_ln) ../../$(PTDIR)/sysdeps/pthread/bits/$(@F) $(top_builddir)$@ -linuxthreads_headers: include/pthread.h include/semaphore.h \ + +linuxthreads_headers := include/pthread.h include/semaphore.h \ include/bits/pthreadtypes.h +$(linuxthreads_headers): include/config/linuxthreads/old.h \ + include/config/linuxthreads/new.h +headers-$(UCLIBC_HAS_THREADS) += $(linuxthreads_headers) +objclean-y += libpthread_clean +headers_clean-y += linuxthreads_headers_clean linuxthreads_headers_clean: - $(RM) $(top_builddir)include/pthread.h \ - $(top_builddir)include/semaphore.h \ - $(top_builddir)include/bits/pthreadtypes.h + $(RM) $(addprefix $(top_builddir),$(linuxthreads_headers)) libpthread_clean: $(RM) $(libpthread_OUT)/*.{o,os,oS,a} diff --git a/libpthread/linuxthreads.old_db/Makefile.in b/libpthread/linuxthreads.old_db/Makefile.in index e99d4ddfc..fb2054f48 100644 --- a/libpthread/linuxthreads.old_db/Makefile.in +++ b/libpthread/linuxthreads.old_db/Makefile.in @@ -33,9 +33,6 @@ endif lib-a-$(PTHREADS_DEBUG_SUPPORT) += $(top_builddir)lib/libthread_db.a lib-so-$(PTHREADS_DEBUG_SUPPORT) += $(top_builddir)lib/libthread_db.so -objclean-y += libthread_db_clean -headers-$(PTHREADS_DEBUG_SUPPORT) += linuxthreads_db_headers -headers_clean-y += linuxthreads_db_headers_clean #ifeq ($(DOMULTI),n) ifeq ($(DOPIC),y) @@ -62,8 +59,16 @@ $(top_builddir)lib/libthread_db.a: $(libthread_db-a-y) $(Q)$(RM) $@ $(do_ar) -linuxthreads_db_headers: - $(Q)$(LN) -sf ../$(PTDIR)_db/thread_db.h $(top_builddir)include/ +include/thread_db.h: + $(do_ln) ../$(PTDIR)_db/$(@F) $(top_builddir)$@ + +linuxthreads_db_headers := include/thread_db.h +$(linuxthreads_db_headers): include/config/linuxthreads/old.h \ + include/config/linuxthreads/new.h +headers-$(PTHREADS_DEBUG_SUPPORT) += $(linuxthreads_db_headers) + +objclean-y += libthread_db_clean +headers_clean-y += linuxthreads_db_headers_clean linuxthreads_db_headers_clean: $(RM) $(top_builddir)include/thread_db.h diff --git a/libpthread/linuxthreads/Makefile.in b/libpthread/linuxthreads/Makefile.in index b7c8914f5..f44677372 100644 --- a/libpthread/linuxthreads/Makefile.in +++ b/libpthread/linuxthreads/Makefile.in @@ -81,9 +81,6 @@ libpthread-so-y += $(libpthread_OBJ:.o=.oS) lib-a-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.a lib-so-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.so -objclean-y += libpthread_clean -headers-$(UCLIBC_HAS_THREADS) += linuxthreads_headers -headers_clean-y += linuxthreads_headers_clean #ifeq ($(DOMULTI),n) $(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread_so.a $(libc.depend) $(top_builddir)lib/libpthread_nonshared.a @@ -124,13 +121,17 @@ include/semaphore.h: $(do_ln) ../$(PTDIR)/$(@F) $(top_builddir)$@ include/bits/pthreadtypes.h: | include/bits $(do_ln) ../../$(PTDIR)/sysdeps/pthread/bits/$(@F) $(top_builddir)$@ -linuxthreads_headers: include/pthread.h include/semaphore.h \ + +linuxthreads_headers := include/pthread.h include/semaphore.h \ include/bits/pthreadtypes.h +$(linuxthreads_headers): include/config/linuxthreads/old.h \ + include/config/linuxthreads/new.h +headers-$(UCLIBC_HAS_THREADS) += $(linuxthreads_headers) +objclean-y += libpthread_clean +headers_clean-y += linuxthreads_headers_clean linuxthreads_headers_clean: - $(RM) $(top_builddir)include/pthread.h \ - $(top_builddir)include/semaphore.h \ - $(top_builddir)include/bits/pthreadtypes.h + $(RM) $(addprefix $(top_builddir),$(linuxthreads_headers)) libpthread_clean: $(RM) $(libpthread_OUT)/{,*/,*/*/,*/*/*/,*/*/*/*/}*.{o,os,oS,a} diff --git a/libpthread/linuxthreads_db/Makefile.in b/libpthread/linuxthreads_db/Makefile.in index a611c6ee0..19d854714 100644 --- a/libpthread/linuxthreads_db/Makefile.in +++ b/libpthread/linuxthreads_db/Makefile.in @@ -33,9 +33,6 @@ endif lib-a-$(PTHREADS_DEBUG_SUPPORT) += $(top_builddir)lib/libthread_db.a lib-so-$(PTHREADS_DEBUG_SUPPORT) += $(top_builddir)lib/libthread_db.so -objclean-y += libthread_db_clean -headers-$(PTHREADS_DEBUG_SUPPORT) += linuxthreads_db_headers -headers_clean-y += linuxthreads_db_headers_clean #ifeq ($(DOMULTI),n) ifeq ($(DOPIC),y) @@ -62,8 +59,16 @@ $(top_builddir)lib/libthread_db.a: $(libthread_db-a-y) $(Q)$(RM) $@ $(do_ar) -linuxthreads_db_headers: - $(Q)$(LN) -sf ../$(PTDIR)_db/thread_db.h $(top_builddir)include/ +include/thread_db.h: + $(do_ln) ../$(PTDIR)_db/$(@F) $(top_builddir)$@ + +linuxthreads_db_headers := include/thread_db.h +$(linuxthreads_db_headers): include/config/linuxthreads/old.h \ + include/config/linuxthreads/new.h +headers-$(PTHREADS_DEBUG_SUPPORT) += $(linuxthreads_db_headers) + +objclean-y += libthread_db_clean +headers_clean-y += linuxthreads_db_headers_clean linuxthreads_db_headers_clean: $(RM) $(top_builddir)include/thread_db.h -- cgit v1.2.3