+++ /dev/null
-#! /bin/sh
-#
-# Set the $TRIPLE environment variable to your system's triple before
-# running this script. If you set $CXX, that will be used to compile
-# the library. Otherwise we'll use clang++.
-
-set -e
-
-echo "---------- WARNING ----------"
-echo "buildit is no longer supported and will be removed in the next week!"
-echo "please contact the libc++ maintainers if you have any concerns"
-echo ""
-
-if [ `basename $(pwd)` != "lib" ]
-then
- echo "current directory must be lib"
- exit 1
-fi
-
-if [ -z "$CXX" ]
-then
- CXX=clang++
-fi
-
-if [ -z "$CXX_LANG" ]
-then
- CXX_LANG=c++11
-fi
-
-if [ -z "$CC" ]
-then
- CC=clang
-fi
-
-if [ -z "$MACOSX_DEPLOYMENT_TARGET" ]
-then
- if [ -z "$IPHONEOS_DEPLOYMENT_TARGET" ]
- then
- MACOSX_DEPLOYMENT_TARGET=10.7
- fi
-fi
-
-if [ -z "$RC_ProjectSourceVersion" ]
-then
- RC_ProjectSourceVersion=1
-fi
-
-EXTRA_FLAGS="-nostdinc++ -std=${CXX_LANG} -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion \
- -Wstrict-aliasing=2 -Wstrict-overflow=4 -D_LIBCPP_BUILDING_LIBRARY "
-
-case $TRIPLE in
- *-apple-*)
- if [ -z $RC_XBS ]
- then
- RC_CFLAGS="-arch i386 -arch x86_64"
- fi
- SOEXT=dylib
- if [ "$MACOSX_DEPLOYMENT_TARGET" = "10.6" ]
- then
- EXTRA_FLAGS="-nostdinc++ -std=c++11 -U__STRICT_ANSI__"
- LDSHARED_FLAGS="-o libc++.1.dylib \
- -dynamiclib -nodefaultlibs -current_version 1 \
- -compatibility_version 1 \
- -install_name /usr/lib/libc++.1.dylib \
- -Wl,-reexport_library,/usr/lib/libc++abi.dylib \
- -Wl,-unexported_symbols_list,libc++unexp.exp \
- /usr/lib/libSystem.B.dylib"
- else
- if [ -n "$SDKROOT" ]
- then
- EXTRA_FLAGS+="-isysroot ${SDKROOT} "
- if echo "${RC_ARCHS}" | grep -q "armv7"
- then
- RE_EXPORT_LINE="${SDKROOT}/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,libc++sjlj-abi.exp"
- else
- RE_EXPORT_LINE="-Wl,-reexport_library,${SDKROOT}/usr/lib/libc++abi.dylib"
- fi
- CXX=`xcrun -sdk "${SDKROOT}" -find clang++`
- CC=`xcrun -sdk "${SDKROOT}" -find clang`
- else
- # Check if we have _LIBCPPABI_VERSION, to determine the reexport list to use.
- if (echo "#include <cxxabi.h>" | $CXX -E -dM -x c++ - | \
- grep _LIBCPPABI_VERSION > /dev/null)
- then
- RE_EXPORT_LINE="/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,libc++abi2.exp"
- else
- RE_EXPORT_LINE="/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,libc++abi.exp"
- fi
- fi
- LDSHARED_FLAGS="-o libc++.1.dylib \
- -dynamiclib -nodefaultlibs \
- -current_version ${RC_ProjectSourceVersion} \
- -compatibility_version 1 \
- -install_name /usr/lib/libc++.1.dylib \
- -lSystem \
- -Wl,-unexported_symbols_list,libc++unexp.exp \
- ${RE_EXPORT_LINE} \
- -Wl,-force_symbols_not_weak_list,notweak.exp \
- -Wl,-force_symbols_weak_list,weak.exp"
- fi
- ;;
- *-*-mingw*)
- # FIXME: removing libgcc and libsupc++ dependencies means porting libcxxrt and LLVM/compiler-rt
- SOEXT=dll
- LDSHARED_FLAGS="-o libc++.dll \
- -shared -nodefaultlibs -Wl,--export-all-symbols -Wl,--allow-multiple-definition -Wl,--out-implib,libc++.dll.a \
- -lsupc++ -lpthread -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcr100 -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt"
- ;;
- *-ibm-*)
- hostOS=`uname`
- hostOS=`echo $hostOS | sed -e "s/\s+$//"`
- hostOS=`echo $hostOS | tr '[A-Z]' '[a-z]'`
-
- if [ $hostOS = "linux" ]
- then
- LDSHARED_FLAGS="-o libc++.so.1 \
- -qmkshrobj -Wl,-soname,libc++.so.1 \
- -lpthread -lrt -lc -lstdc++"
- EXTRA_FLAGS="-qlanglvl=extended0x -D__GLIBCXX__=1"
- else
- LDSHARED_FLAGS="-o shr.o -qmkshrobj -lpthread -bnoquiet"
- EXTRA_FLAGS="-qlanglvl=extended0x"
- fi
- RC_CFLAGS="-qpic=large"
- ;;
- *)
- RC_CFLAGS="-fPIC"
- SOEXT=so
- LDSHARED_FLAGS="-o libc++.so.1.0 \
- -shared -nodefaultlibs -Wl,-soname,libc++.so.1 \
- -lpthread -lrt -lc -lstdc++"
- ;;
-esac
-
-if [ -z "$RC_XBS" ]
-then
- rm -f libc++.1.$SOEXT*
-fi
-
-set -x
-
-for FILE in ../src/*.cpp; do
- $CXX -c -g -Os $RC_CFLAGS $EXTRA_FLAGS -I../include $FILE
-done
-case $TRIPLE in
- *-*-mingw*)
- for FILE in ../src/support/win32/*.cpp; do
- $CXX -c -g -Os $RC_CFLAGS $EXTRA_FLAGS -I../include $FILE
- done
- ;;
-esac
-$CC *.o $RC_CFLAGS $LDSHARED_FLAGS $EXTRA_FLAGS
-
-#libtool -static -o libc++.a *.o
-
-# Create the link for the final library name, so that we can use this directory
-# as a link target for the tests.
-case $TRIPLE in
- *-apple-*)
- rm -f libc++.dylib
- ln -s libc++.1.dylib libc++.dylib
- ;;
- *-*-mingw*)
- ;;
- *-ibm-*)
- if [ $hostOS = "linux" ]
- then
- rm -f libc++.so
- ln -s libc++.so.1 libc++.so
- else #AIX
- rm -f libc++.a
- ar r libc++.a shr.o
- fi
- ;;
- *)
- rm -f libc++.so
- ln -s libc++.so.1 libc++.so
- ;;
-esac
-
-if [ -z "$RC_XBS" ]
-then
- rm *.o
-fi
-
-echo "---------- WARNING ----------"
-echo "buildit is no longer supported and will be removed in the next week!"
-echo "please contact the libc++ maintainers if you have any concerns"
-echo ""
+++ /dev/null
-#!/bin/sh
-# //===--------------------------- testit ---------------------------------===//
-# //
-# // The LLVM Compiler Infrastructure
-# //
-# // This file is distributed under the University of Illinois Open Source
-# // License. See LICENSE.TXT for details.
-# //
-# //===--------------------------------------------------------------------===//
-
-currentpath=`pwd`
-origpath=$currentpath
-currentdir=`basename $currentpath`
-while [ $currentdir != "test" ]; do
- if [ $currentdir = "/" ]
- then
- echo "current directory must be in or under \"test\"."
- exit 1
- fi
- cd ..
- currentpath=`pwd`
- currentdir=`basename $currentpath`
-done
-
-cd ..
-LIBCXX_ROOT=`pwd`
-cd $origpath
-
-if [ -z "$CC" ]
-then
- if which xcrun >/dev/null
- then
- CC="xcrun clang++"
- else
- CC=clang++
- fi
-fi
-
-if [ -z "$CXX_LANG" ]
-then
- CXX_LANG=c++11
-fi
-if [ -z "$OPTIONS" ]
-then
- OPTIONS="-std=${CXX_LANG} -stdlib=libc++ -nostdinc++"
-fi
-OPTIONS="$OPTIONS -I$LIBCXX_ROOT/test/support"
-
-if [ -z "$HEADER_INCLUDE" ]
-then
- HEADER_INCLUDE="-I$LIBCXX_ROOT/include"
-fi
-
-if [ -z "$SOURCE_LIB" ]
-then
- SOURCE_LIB="-L$LIBCXX_ROOT/lib"
-fi
-
-case $TRIPLE in
- *-*-mingw* | *-*-cygwin* | *-*-win*)
- TEST_EXE=test.exe
- ;;
- *)
- TEST_EXE=a.out
- ;;
-esac
-
-case $(uname -s) in
- NetBSD)
- THREAD_FLAGS=-lpthread
- ;;
-esac
-
-FAIL=0
-PASS=0
-UNIMPLEMENTED=0
-IMPLEMENTED_FAIL=0
-IMPLEMENTED_PASS=0
-
-afunc() {
- fail=0
- pass=0
- if (ls ${TEST_PREFIX}*fail.cpp > /dev/null 2>&1)
- then
- for FILE in $(ls ${TEST_PREFIX}*fail.cpp); do
- if $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS -o ./$TEST_EXE > /dev/null 2>&1
- then
- rm ./$TEST_EXE
- echo "$FILE should not compile"
- fail=$(($fail+1))
- else
- pass=$(($pass+1))
- fi
- done
- fi
-
- if (ls ${TEST_PREFIX}*pass.cpp > /dev/null 2>&1)
- then
- for FILE in $(ls ${TEST_PREFIX}*pass.cpp); do
- if [ "$VERBOSE" ]
- then
- echo "Running test: " $FILE
- fi
- if $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS $(test $1 = no || echo $THREAD_FLAGS) -o ./$TEST_EXE
- then
- if ./$TEST_EXE
- then
- rm ./$TEST_EXE
- pass=$(($pass+1))
- else
- echo "`pwd`/$FILE failed at run time"
- echo "Compile line was:" $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS $(test $1 = no || echo $THREAD_FLAGS)
- fail=$(($fail+1))
- rm ./$TEST_EXE
- fi
- else
- echo "`pwd`/$FILE failed to compile"
- echo "Compile line was:" $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS $(test $1 = no || echo $THREAD_FLAGS)
- fail=$(($fail+1))
- fi
- done
- fi
-
- if [ $fail -gt 0 ]
- then
- echo "failed $fail tests in `pwd`"
- IMPLEMENTED_FAIL=$(($IMPLEMENTED_FAIL+1))
- fi
- if [ $pass -gt 0 ]
- then
- echo "passed $pass tests in `pwd`"
- if [ $fail -eq 0 ]
- then
- IMPLEMENTED_PASS=$((IMPLEMENTED_PASS+1))
- fi
- fi
- if [ $fail -eq 0 -a $pass -eq 0 ]
- then
- echo "not implemented: `pwd`"
- UNIMPLEMENTED=$(($UNIMPLEMENTED+1))
- fi
-
- FAIL=$(($FAIL+$fail))
- PASS=$(($PASS+$pass))
-
- for FILE in *
- do
- if [ -d "$FILE" ];
- then
- cd $FILE
- if [ $FILE = thread -o $1 = yes ]; then
- afunc yes
- else
- afunc no
- fi
- cd ..
- fi
- done
-}
-
-afunc no
-
-echo "****************************************************"
-echo "Results for `pwd`:"
-echo "using `$CC --version`"
-echo "with $OPTIONS $HEADER_INCLUDE $SOURCE_LIB"
-echo "----------------------------------------------------"
-echo "sections without tests : $UNIMPLEMENTED"
-echo "sections with failures : $IMPLEMENTED_FAIL"
-echo "sections without failures: $IMPLEMENTED_PASS"
-echo " + ----"
-echo "total number of sections : $(($UNIMPLEMENTED+$IMPLEMENTED_FAIL+$IMPLEMENTED_PASS))"
-echo "----------------------------------------------------"
-echo "number of tests failed : $FAIL"
-echo "number of tests passed : $PASS"
-echo " + ----"
-echo "total number of tests : $(($FAIL+$PASS))"
-echo "****************************************************"
-
-echo "---------- WARNING ----------"
-echo "testit is no longer supported and will be removed in the future"
-
-exit $FAIL