Bladeren bron

'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 jaren geleden
bovenliggende
commit
c76818fd78
2 gewijzigde bestanden met toevoegingen van 15 en 2 verwijderingen
  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