Kaynağa Gözat

'pthread.h' is not the only file that needs to be symlinked. When NPTL gets merged, you will need to do 'semaphore.h' and 'bits/pthreadtypes.h'. I think I have been a good little boy and keeping my NPTL changes out of mainline, so I'm going to go ahead and cross the line this once to get this change in.

"Steven J. Hill" 18 yıl önce
ebeveyn
işleme
c76818fd78
2 değiştirilmiş dosya ile 15 ekleme ve 2 silme
  1. 1 0
      Makefile
  2. 14 2
      libpthread/Makefile

+ 1 - 0
Makefile

@@ -350,6 +350,7 @@ clean:
 	$(MAKE) -C libc/sysdeps/linux/common clean
 	$(MAKE) -C extra/locale clean
 	$(MAKE) -C utils clean
+	$(MAKE) -C libpthread clean
 	@set -e; \
 	for i in `(cd $(TOPDIR)/libc/sysdeps/linux/common/sys; ls *.h)` ; do \
 		$(RM) include/sys/$$i; \

+ 14 - 2
libpthread/Makefile

@@ -49,7 +49,18 @@ LIBTHREAD_DB_LDFLAGS := $(subst -z defs,,$(LDFLAGS))
 all: $(LIBPTHREAD) $(LIBTHREAD_DB)
 
 headers:
-	$(LN) -sf $(TOPDIR)libpthread/linuxthreads/sysdeps/pthread/pthread.h $(TOPDIR)include/pthread.h
+ifeq ($(strip $(UCLIBC_HAS_THREADS_NATIVE)),y)
+	$(LN) -sf $(TOPDIR)libpthread/nptl/sysdeps/pthread/pthread.h $(TOPDIR)include
+	$(LN) -sf $(TOPDIR)libpthread/nptl/semaphore.h $(TOPDIR)include
+	$(LN) -sf ../$(TOPDIR)libpthread/nptl/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/bits/semaphore.h $(TOPDIR)include/bits
+	$(LN) -sf ../$(TOPDIR)libpthread/nptl/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/bits/pthreadtypes.h $(TOPDIR)include/bits
+	$(LN) -sf ../$(TOPDIR)libpthread/nptl/sysdeps/pthread/bits/libc-lock.h $(TOPDIR)include/bits
+	$(LN) -sf ../$(TOPDIR)libpthread/nptl/sysdeps/pthread/bits/stdio-lock.h $(TOPDIR)include/bits
+else
+	$(LN) -sf $(TOPDIR)libpthread/linuxthreads/sysdeps/pthread/pthread.h $(TOPDIR)include
+	$(LN) -sf $(TOPDIR)libpthread/linuxthreads/semaphore.h $(TOPDIR)include
+	$(LN) -sf ../$(TOPDIR)libpthread/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h $(TOPDIR)include/bits
+endif
 
 $(LIBPTHREAD): subdirs
 ifeq ($(strip $(UCLIBC_HAS_THREADS)),y)
@@ -117,6 +128,7 @@ $(patsubst %, _dirclean_%, $(ALL_SUBDIRS)) : dummy
 
 clean: subdirs_clean
 	$(RM) *.[oa] *~ core $(LIBPTHREAD) $(LIBPTHREAD_SHARED_FULLNAME) \
-		$(LIBTHREAD_DB) $(LIBTHREAD_DB_SHARED_FULLNAME)
+		$(LIBTHREAD_DB) $(LIBTHREAD_DB_SHARED_FULLNAME)		 \
+		$(RM) $(TOPDIR)include/pthread.h $(TOPDIR)include/semaphore.h
 
 .PHONY: dummy