Просмотр исходного кода

Make it possible to provide special (linker) flags for the thread tests.
Use it to build & link against libpthread on NetBSD for tests iff they
are testing the thread interface.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@180942 91177308-0d34-0410-b5e6-96231b3b80d8

Joerg Sonnenberger 12 лет назад
Родитель
Сommit
34cb066fa2
1 измененных файлов с 15 добавлено и 5 удалено
  1. 15 5
      test/testit

+ 15 - 5
test/testit

@@ -61,6 +61,12 @@ case $TRIPLE in
     ;;
     ;;
 esac
 esac
 
 
+case $(uname -s) in
+   NetBSD)
+     THREAD_FLAGS=-lpthread
+     ;;
+esac
+
 FAIL=0
 FAIL=0
 PASS=0
 PASS=0
 UNIMPLEMENTED=0
 UNIMPLEMENTED=0
@@ -91,7 +97,7 @@ afunc() {
             then
             then
              	echo "Running test: " $FILE
              	echo "Running test: " $FILE
             fi
             fi
-			if $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS -o ./$TEST_EXE
+			if $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS $(test $1 = no || echo $THREAD_FLAGS) -o ./$TEST_EXE
 			then
 			then
 				if ./$TEST_EXE
 				if ./$TEST_EXE
 				then
 				then
@@ -99,13 +105,13 @@ afunc() {
 					pass=$(($pass+1))
 					pass=$(($pass+1))
 				else
 				else
 					echo "`pwd`/$FILE failed at run time"
 					echo "`pwd`/$FILE failed at run time"
-					echo "Compile line was:" $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS
+					echo "Compile line was:" $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS $(test $1 = no || echo $THREAD_FLAGS)
 					fail=$(($fail+1))
 					fail=$(($fail+1))
 					rm ./$TEST_EXE
 					rm ./$TEST_EXE
 				fi
 				fi
 			else
 			else
 				echo "`pwd`/$FILE failed to compile"
 				echo "`pwd`/$FILE failed to compile"
-				echo "Compile line was:" $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS
+				echo "Compile line was:" $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS $(test $1 = no || echo $THREAD_FLAGS)
 				fail=$(($fail+1))
 				fail=$(($fail+1))
 			fi
 			fi
 		done
 		done
@@ -138,13 +144,17 @@ afunc() {
 		if [ -d "$FILE" ];
 		if [ -d "$FILE" ];
 		then
 		then
 			cd $FILE
 			cd $FILE
-			afunc
+			if [ $FILE = thread -o $1 = yes ]; then
+				afunc yes
+			else
+				afunc no
+			fi
 			cd ..
 			cd ..
 		fi
 		fi
 	done
 	done
 }
 }
 
 
-afunc
+afunc no
 
 
 echo "****************************************************"
 echo "****************************************************"
 echo "Results for `pwd`:"
 echo "Results for `pwd`:"