Преглед изворни кода

nptl: make build depend directly on nptl headers

gets rid of nptl_headers,nptl_arch_headers,nptl_linux_headers targets

also, clean up extra slashes in i386/sparc and unify the implementation
of nptl header generation between all archs

Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
Austin Foxley пре 14 година
родитељ
комит
641e7e36ad

+ 1 - 1
Makefile.in

@@ -160,7 +160,7 @@ headers-y += $(target-headers-sysdep)
 
 headers: $(top_builddir)include/bits/uClibc_config.h
 subdirs: $(addprefix $(top_builddir),$(subdirs))
-pregen: $(top_builddir)include/bits/sysnum.h headers subdirs $(pthread_pregen)
+pregen: $(top_builddir)include/bits/sysnum.h headers subdirs
 	$(Q)$(if $(UCLIBC_HAS_LOCALE),$(MAKE) -C extra/locale locale_headers)
 
 $(top_builddir)include/bits/sysnum.h: $(top_srcdir)extra/scripts/gen_bits_syscall_h.sh

+ 2 - 5
libpthread/nptl/Makefile.in

@@ -261,8 +261,6 @@ headers_clean-y += nptl_headers_clean
 -include $(PTHREAD_DIR)/sysdeps/unix/sysv/linux/Makefile.in
 -include $(PTHREAD_DIR)/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/Makefile.arch
 
-pthread_pregen := nptl_headers nptl_arch_headers nptl_linux_headers
-
 lib-a-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.a
 lib-so-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.so
 
@@ -322,9 +320,8 @@ nptl_headers_bootstrap:= $(top_builddir)include/pthread.h \
 		$(top_builddir)include/bits/semaphore.h \
 		$(top_builddir)include/bits/pthreadtypes.h \
 		$(top_builddir)include/bits/libc-lock.h \
-		$(top_builddir)include/bits/stdio-lock.h
-
-nptl_headers: $(PTHREAD_OUT)/pthread-errnos.h
+		$(top_builddir)include/bits/stdio-lock.h \
+		$(PTHREAD_OUT)/pthread-errnos.h
 
 nptl_headers_clean:
 	$(do_rm) $(nptl_headers_bootstrap) \

+ 7 - 8
libpthread/nptl/sysdeps/arm/Makefile.arch

@@ -43,7 +43,8 @@ librt-so-y += $(LIBRT_ARCH_OBJ:.o=.oS)
 
 libpthread-nomulti-y += $(PTHREAD_ARCH_OBJ)
 
-objclean-y += nptl_arch_objclean
+objclean-y += nptl_arch_clean
+headers-y += $(PTHREAD_ARCH_OUT)/tcb-offsets.h
 headers_clean-y += nptl_arch_headers_clean
 
 #
@@ -57,13 +58,11 @@ $(PTHREAD_ARCH_OUT)/tcb-offsets.c: $(PTHREAD_ARCH_DIR)/tcb-offsets.sym
 $(PTHREAD_ARCH_OUT)/tcb-offsets.s: $(PTHREAD_ARCH_OUT)/tcb-offsets.c
 	$(compile.c)
 
-nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
-	$(do_sed) -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $(PTHREAD_ARCH_OUT)/tcb-offsets.h
+$(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
+	$(do_sed) -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@
 
 nptl_arch_headers_clean:
-	$(RM) $(PTHREAD_ARCH_OUT)/tcb-offsets.c		\
-	      $(PTHREAD_ARCH_OUT)/tcb-offsets.s		\
-	      $(PTHREAD_ARCH_OUT)/tcb-offsets.h
+	$(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/tcb-offsets., c s h)
 
-nptl_arch_objclean:
-	$(RM) $(PTHREAD_ARCH_OUT)/*.{o,os,oS}
+nptl_arch_clean:
+	$(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/*., o os oS)

+ 3 - 4
libpthread/nptl/sysdeps/i386/Makefile.arch

@@ -13,8 +13,8 @@ CFLAGS-pthread_spin_lock.c += -D_GNU_SOURCE
 CFLAGS-i386 = $(SSP_ALL_CFLAGS)
 #CFLAGS:=$(CFLAGS:-O1=-O2)
 
-PTHREAD_ARCH_DIR := $(top_srcdir)libpthread/nptl/sysdeps/i386/
-PTHREAD_ARCH_OUT := $(top_builddir)libpthread/nptl/sysdeps/i386/
+PTHREAD_ARCH_DIR := $(top_srcdir)libpthread/nptl/sysdeps/i386
+PTHREAD_ARCH_OUT := $(top_builddir)libpthread/nptl/sysdeps/i386
 PTHREAD_ARCH_OBJ := $(patsubst %.S,$(PTHREAD_ARCH_OUT)/%.o,$(libpthread_SSRC))
 PTHREAD_ARCH_OBJ += $(patsubst %.c,$(PTHREAD_ARCH_OUT)/%.o,$(libpthread_CSRC))
 
@@ -28,6 +28,7 @@ libpthread-so-y += $(PTHREAD_ARCH_OBJ:.o=.oS)
 libpthread-nomulti-y += $(PTHREAD_ARCH_OBJ)
 
 objclean-y += nptl_arch_clean
+headers-y += $(PTHREAD_ARCH_OUT)/tcb-offsets.h
 headers_clean-y += nptl_arch_headers_clean
 
 #
@@ -44,8 +45,6 @@ $(PTHREAD_ARCH_OUT)/tcb-offsets.s: $(PTHREAD_ARCH_OUT)/tcb-offsets.c
 $(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
 	@sed -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@
 
-nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.h
-
 nptl_arch_headers_clean:
 	$(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/tcb-offsets., c s h)
 

+ 8 - 9
libpthread/nptl/sysdeps/mips/Makefile.arch

@@ -39,7 +39,8 @@ libc-static-y += $(LIBC_ARCH_OBJ)
 
 libc-nomulti-y += $(LIBC_ARCH_OBJ)
 
-objclean-y += nptl_arch_objclean
+objclean-y += nptl_arch_clean
+headers-y += $(PTHREAD_ARCH_OUT)/tcb-offsets.h
 headers_clean-y += nptl_arch_headers_clean
 
 #
@@ -48,18 +49,16 @@ headers_clean-y += nptl_arch_headers_clean
 CFLAGS-tcb-offsets.c = -S
 
 $(PTHREAD_ARCH_OUT)/tcb-offsets.c: $(PTHREAD_ARCH_DIR)/tcb-offsets.sym
-	awk -f $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
+	$(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
 
 $(PTHREAD_ARCH_OUT)/tcb-offsets.s: $(PTHREAD_ARCH_OUT)/tcb-offsets.c
 	$(compile.c)
 
-nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
-	$(do_sed) -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $(PTHREAD_ARCH_OUT)/tcb-offsets.h
+$(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
+	$(do_sed) -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@
 
 nptl_arch_headers_clean:
-	$(RM) $(PTHREAD_ARCH_OUT)/tcb-offsets.c		\
-	      $(PTHREAD_ARCH_OUT)/tcb-offsets.s		\
-	      $(PTHREAD_ARCH_OUT)/tcb-offsets.h
+	$(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/tcb-offsets., c s h)
 
-nptl_arch_objclean:
-	$(RM) $(PTHREAD_ARCH_OUT)/*.{o,os,oS}
+nptl_arch_clean:
+	$(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/*., o os oS)

+ 1 - 2
libpthread/nptl/sysdeps/sh/Makefile.arch

@@ -31,6 +31,7 @@ libpthread-so-y += $(PTHREAD_ARCH_OBJ:.o=.oS)
 libpthread-nomulti-y += $(PTHREAD_ARCH_OBJ)
 
 objclean-y += nptl_arch_clean
+headers-y += $(PTHREAD_ARCH_OUT)/tcb-offsets.h
 headers_clean-y += nptl_arch_headers_clean
 
 #
@@ -47,8 +48,6 @@ $(PTHREAD_ARCH_OUT)/tcb-offsets.s: $(PTHREAD_ARCH_OUT)/tcb-offsets.c
 $(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
 	$(do_sed) -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@
 
-nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.h
-
 nptl_arch_headers_clean:
 	$(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/tcb-offsets., c s h)
 

+ 3 - 4
libpthread/nptl/sysdeps/sparc/Makefile.arch

@@ -13,8 +13,8 @@ CFLAGS-pthread_spin_lock.c += -D_GNU_SOURCE
 CFLAGS-sparc = $(SSP_ALL_CFLAGS)
 #CFLAGS:=$(CFLAGS:-O1=-O2)
 
-PTHREAD_ARCH_DIR := $(top_srcdir)libpthread/nptl/sysdeps/sparc/
-PTHREAD_ARCH_OUT := $(top_builddir)libpthread/nptl/sysdeps/sparc/
+PTHREAD_ARCH_DIR := $(top_srcdir)libpthread/nptl/sysdeps/sparc
+PTHREAD_ARCH_OUT := $(top_builddir)libpthread/nptl/sysdeps/sparc
 PTHREAD_ARCH_OBJ := $(patsubst %.S,$(PTHREAD_ARCH_OUT)/%.o,$(libpthread_SSRC))
 PTHREAD_ARCH_OBJ += $(patsubst %.c,$(PTHREAD_ARCH_OUT)/%.o,$(libpthread_CSRC))
 
@@ -28,6 +28,7 @@ libpthread-so-y += $(PTHREAD_ARCH_OBJ:.o=.oS)
 libpthread-nomulti-y += $(PTHREAD_ARCH_OBJ)
 
 objclean-y += nptl_arch_clean
+headers-y += $(PTHREAD_ARCH_OUT)/tcb-offsets.h
 headers_clean-y += nptl_arch_headers_clean
 
 #
@@ -44,8 +45,6 @@ $(PTHREAD_ARCH_OUT)/tcb-offsets.s: $(PTHREAD_ARCH_OUT)/tcb-offsets.c
 $(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
 	@sed -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@
 
-nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.h
-
 nptl_arch_headers_clean:
 	$(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/tcb-offsets., c s h)
 

+ 4 - 5
libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in

@@ -139,6 +139,10 @@ librt-a-y += $(LIBRT_LINUX_OBJ)
 librt-so-y += $(LIBRT_LINUX_OBJ:.o=.oS)
 
 objclean-y += nptl_linux_clean
+headers-y += $(PTHREAD_LINUX_OUT)/lowlevelbarrier.h \
+                        $(PTHREAD_LINUX_OUT)/lowlevelcond.h \
+                        $(PTHREAD_LINUX_OUT)/lowlevelrwlock.h \
+                        $(PTHREAD_LINUX_OUT)/unwindbuf.h
 headers_clean-y += nptl_linux_headers_clean
 
 #
@@ -185,11 +189,6 @@ $(PTHREAD_LINUX_OUT)/lowlevelrwlock.h: $(PTHREAD_LINUX_OUT)/lowlevelrwlock.s
 $(PTHREAD_LINUX_OUT)/unwindbuf.h: $(PTHREAD_LINUX_OUT)/unwindbuf.s
 	$(do_sed) -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@
 
-nptl_linux_headers: $(PTHREAD_LINUX_OUT)/lowlevelbarrier.h \
-					$(PTHREAD_LINUX_OUT)/lowlevelcond.h \
-					$(PTHREAD_LINUX_OUT)/lowlevelrwlock.h \
-					$(PTHREAD_LINUX_OUT)/unwindbuf.h
-
 HEADERS_BITS_PTHREAD     := $(notdir $(wildcard $(PTHREAD_LINUX_DIR)/bits/*.h))
 ALL_HEADERS_BITS_PTHREAD := $(addprefix include/bits/,$(HEADERS_BITS_PTHREAD))