Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Unified Diff: tools/valgrind/build-valgrind-for-chromium.sh

Issue 164434: Move blocks of build-valgrind-for-chromium.sh around to let it build and use ... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 11 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/valgrind/build-valgrind-for-chromium.sh
===================================================================
--- tools/valgrind/build-valgrind-for-chromium.sh (revision 23214)
+++ tools/valgrind/build-valgrind-for-chromium.sh (working copy)
@@ -1,5 +1,10 @@
#!/bin/sh
# Script to build valgrind for use with chromium
+#
+# Can also be used to just prepare patched source tarball by setting MAKE_TARBALL=yes
Lei Zhang 2009/08/12 23:13:27 > 80 chars per line. Is the presubmit check not na
+# or to just build from a patched source tarball by setting USE_TARBALL=yes
+# These are useful when configuring jailed buildbots which are not allowed to
+# fetch valgrind source via svn
# Checkout by date doesn't work unless you specify the friggin' timezone
VALGRIND_SVN_REV=10771
@@ -17,8 +22,8 @@
echo "Usage: sh build-valgrind-for-chromium.sh [prefix]"
echo "Prefix is optional, but if present, must be the absolute path to where"
echo "you want to install valgrind's bin, include, and lib directories."
- echo "Prefix defaults to /usr/local/valgrind-$SHORTSVNDATE, where"
- echo "$SHORTSVNDATE is the date used when retrieving valgrind from svn."
+ echo "Prefix defaults to /usr/local/valgrind-$VALGRIND_SVN_REV, where"
+ echo "$VALGRIND_SVN_REV is the revision used when retrieving valgrind from svn."
echo "Will use sudo to do the install if you don't own the parent of prefix."
exit 1
;;
@@ -27,77 +32,103 @@
set -x
set -e
-if ld --version | grep gold
+if test x"$USE_TARBALL" = xyes && test x"$MAKE_TARBALL" = yes
then
- # build/install-build-deps leaves original ld around, try using that
- if test -x /usr/bin/ld.orig
- then
- echo "Using /usr/bin/ld.orig instead of gold to link valgrind"
- test -d $THISDIR/override_ld && rm -rf $THISDIR/override_ld
- mkdir $THISDIR/override_ld
- ln -s /usr/bin/ld.orig $THISDIR/override_ld/ld
- PATH="$THISDIR/override_ld:$PATH"
- else
- echo "Cannot build valgrind with gold. Please switch to normal /usr/bin/ld, rerun this script, then switch back to gold."
- exit 1
- fi
+ echo Set only one of MAKE_TARBALL or USE_TARBALL to yes
+ exit 1
fi
-# Desired parent directory for valgrind's bin, include, etc.
-PREFIX="${1:-/usr/local/valgrind-$VALGRIND_SVN_REV}"
-parent_of_prefix="`dirname $PREFIX`"
-if test ! -d "$parent_of_prefix"
+if test x"$USE_TARBALL" != xyes
then
- echo "Directory $parent_of_prefix does not exist"
- exit 1
-fi
+ # Check out latest version that following patches known to apply against
+ rm -rf valgrind-$VALGRIND_SVN_REV
+ svn co -r $VALGRIND_SVN_REV svn://svn.valgrind.org/valgrind/trunk valgrind-$VALGRIND_SVN_REV
-# Check out latest version that following patches known to apply against
-rm -rf valgrind-$VALGRIND_SVN_REV
-svn co -r $VALGRIND_SVN_REV svn://svn.valgrind.org/valgrind/trunk valgrind-$VALGRIND_SVN_REV
+ cd valgrind-$VALGRIND_SVN_REV
-cd valgrind-$VALGRIND_SVN_REV
+ # Make sure svn gets the right version of the external VEX repo, too
+ svn update -r $VEX_SVN_REV VEX/
-# Make sure svn gets the right version of the external VEX repo, too
-svn update -r $VEX_SVN_REV VEX/
+ # Work around bug https://bugs.kde.org/show_bug.cgi?id=162848
+ # "fork() not handled properly"
+ patch -p0 < "$THISDIR"/fork.patch
-# Work around bug https://bugs.kde.org/show_bug.cgi?id=162848
-# "fork() not handled properly"
-patch -p0 < "$THISDIR"/fork.patch
+ # Add feature bug https://bugs.kde.org/show_bug.cgi?id=201170
+ # "Want --show-possible option so I can ignore the bazillion possible leaks..."
+ patch -p0 < "$THISDIR"/possible.patch
-# Add feature bug https://bugs.kde.org/show_bug.cgi?id=201170
-# "Want --show-possible option so I can ignore the bazillion possible leaks..."
-patch -p0 < "$THISDIR"/possible.patch
+ if [ "$INSTALL_TSAN" = "yes" ]
+ then
+ # Add ThreadSanitier to the installation.
+ # ThreadSanitizer is an experimental dynamic data race detector.
+ # See http://code.google.com/p/data-race-test/wiki/ThreadSanitizer
+ svn checkout -r $TSAN_SVN_REV http://data-race-test.googlecode.com/svn/trunk/tsan tsan
+ mkdir tsan/{docs,tests}
+ touch tsan/{docs,tests}/Makefile.am
+ patch -p 0 < tsan/valgrind.patch
+ fi
-if [ "$INSTALL_TSAN" = "yes" ]
+ sh autogen.sh
+ cd ..
+fi
+
+if test x"$MAKE_TARBALL" = xyes
then
- # Add ThreadSanitier to the installation.
- # ThreadSanitizer is an experimental dynamic data race detector.
- # See http://code.google.com/p/data-race-test/wiki/ThreadSanitizer
- svn checkout -r $TSAN_SVN_REV http://data-race-test.googlecode.com/svn/trunk/tsan tsan
- mkdir tsan/{docs,tests}
- touch tsan/{docs,tests}/Makefile.am
- patch -p 0 < tsan/valgrind.patch
+ tar -czvf valgrind-$VALGRIND_SVN_REV.tgz valgrind-$VALGRIND_SVN_REV
fi
-sh autogen.sh
-./configure --prefix="$PREFIX"
-make -j4
-
-if ./vg-in-place true
+if test x"$USE_TARBALL" = xyes
then
- echo built valgrind passes smoke test, good
-else
- echo built valgrind fails smoke test
- exit 1
+ tar -xzvf valgrind-$VALGRIND_SVN_REV.tgz
fi
-test -d $THISDIR/override_ld && rm -rf $THISDIR/override_ld
+if test x"$MAKE_TARBALL" != xyes
+then
+ cd valgrind-$VALGRIND_SVN_REV
-# Don't use sudo if we own the destination
-if test -w "$parent_of_prefix"
-then
- make install
-else
- sudo make install
+ if ld --version | grep gold
+ then
+ # build/install-build-deps leaves original ld around, try using that
+ if test -x /usr/bin/ld.orig
+ then
+ echo "Using /usr/bin/ld.orig instead of gold to link valgrind"
+ test -d $THISDIR/override_ld && rm -rf $THISDIR/override_ld
+ mkdir $THISDIR/override_ld
+ ln -s /usr/bin/ld.orig $THISDIR/override_ld/ld
+ PATH="$THISDIR/override_ld:$PATH"
+ else
+ echo "Cannot build valgrind with gold. Please switch to normal /usr/bin/ld, rerun this script, then switch back to gold."
+ exit 1
+ fi
+ fi
+
+ # Desired parent directory for valgrind's bin, include, etc.
+ PREFIX="${1:-/usr/local/valgrind-$VALGRIND_SVN_REV}"
+ parent_of_prefix="`dirname $PREFIX`"
+ if test ! -d "$parent_of_prefix"
+ then
+ echo "Directory $parent_of_prefix does not exist"
+ exit 1
+ fi
+
+ ./configure --prefix="$PREFIX"
+ make -j4
+
+ if ./vg-in-place true
+ then
+ echo built valgrind passes smoke test, good
+ else
+ echo built valgrind fails smoke test
+ exit 1
+ fi
+
+ test -d $THISDIR/override_ld && rm -rf $THISDIR/override_ld
+
+ # Don't use sudo if we own the destination
+ if test -w "$parent_of_prefix"
+ then
+ make install
+ else
+ sudo make install
+ fi
fi
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698