Index: scripts/build-tsan-for-chromium.sh |
=================================================================== |
--- scripts/build-tsan-for-chromium.sh (revision 43828) |
+++ scripts/build-tsan-for-chromium.sh (working copy) |
@@ -57,9 +57,31 @@ |
for P in "$THISDIR"/tsan/valgrind_patches/*.patch |
do |
patch -p0 -i $P |
- echo |
done |
+if [ `uname -s` == "Darwin" ] |
+then |
+ if ls /opt/local/bin/ | grep "^gcc-mp-4\.4" >/dev/null |
+ then |
+ export GCC_BINARY_MASK="/opt/local/bin/XXX-mp-4.4" |
+ export PATH="$THISDIR/macports-gcc-wrapper:$PATH" |
+ echo "Using gcc-4.4 from MacPorts to build ThreadSanitizer." |
+ elif gcc --version | grep " 4\.[0-3]\.[0-9]\| 3\.[0-9]\.[0-9]" >/dev/null |
+ then |
+ echo "Your gcc version is older than 4.4." |
+ echo "It is recommended to use gcc-4.4 from MacPorts for building" |
+ echo "ThreadSanitizer, especially if you plan to commit binaries into SVN." |
+ echo "See http://gcc44.darwinports.com/ for getting gcc-4.4" |
+ echo "" |
+ echo -n "Do you want to continue using old gcc? (y/N)" |
+ read CONFIRMATION |
+ if [ "$CONFIRMATION" != "y" ] |
+ then |
+ exit 1 |
+ fi |
+ fi |
+fi |
+ |
# Ugly hack! |
# We build Valrgind binaries in the $VG_TSAN_DIR/out and then pack |
# them into self-contained .sh file into $ORIG_BINARIES_DIR/$PLATFORM |