Commit Graph

60 Commits

Author SHA1 Message Date
Hans Wennborg 2556a1efec test-release.sh: Fix naming of OpenMP runtime tarball
llvm-svn: 244058
2015-08-05 15:36:07 +00:00
Renato Golin 893f676734 [Release Script] Check for correct symlink name
While checking for the existence of the clang-tools-extra directory,
the script was not checking for its destination name, "extra", and
the script was failing when re-running without checking out new
sources.

llvm-svn: 243898
2015-08-03 20:19:35 +00:00
Daniel Sanders 3cc4a250a6 [test-release.sh] Add -no-libunwind to disable it on targets that don't support it.
Summary:
Mips doesn't implement unw_getcontext() or libunwind::Registers_*::jumpto() yet
so we must disable libunwind for this release.

Reviewers: hans

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D11563

llvm-svn: 243633
2015-07-30 10:14:57 +00:00
Hans Wennborg 0742a3e574 test-release.sh: Add option for building the OpenMP run-time
This isn't part of the official release process, but provides a convenient way
to build binaries for those who want to experiment with it. Hopefully the run-
time can be part of the regular build and release process for 3.8.

Differential Revision: http://reviews.llvm.org/D11494

llvm-svn: 243531
2015-07-29 16:29:06 +00:00
Hans Wennborg fa8e3a551f test-release.sh: Defer test errors until the end
This makes the script run to the end and produce tarballs even on test
failures, and then highlights any errors afterwards.

(I first tried just storing the errors in a global variable, but that
didn't work as the "test_llvmCore" function invocation is actually
running as a sub-shell.)

Differential Revision: http://reviews.llvm.org/D11478

llvm-svn: 243116
2015-07-24 16:16:09 +00:00
Renato Golin 397b0da8d7 [Release] Allow release testers to disable certain components
Not all components build correctly on all targets and the release
script had no way to disable them other than editing the script locally.

This change provides a way to disable the test-suite, compiler-rt and
the libraries, as well as allowing you to re-run on the same directory
without checking out all sources again.

llvm-svn: 242919
2015-07-22 18:21:39 +00:00
Dimitry Andric 52a143a5d9 Avoid early pipefail exits due to grep failures in stage comparisons.
If objects or executables did not contain any RPATH, grep would return
nonzero, and the whole stage comparison loop would unexpectedly exit.
Fix this by checking the grep result explicitly.

llvm-svn: 242722
2015-07-20 22:24:40 +00:00
Dimitry Andric 424452513e Since BSD cmp(1) does not support the --ignore-initial option, use the
more portable 3rd and 4th arguments to skip the first 16 bytes during
the comparison of Phase2 and Phase3 objects.

llvm-svn: 242721
2015-07-20 22:07:27 +00:00
Hans Wennborg e38cc0b4c1 test-release.sh: don't include /usr/local prefix in the tarball
llvm-svn: 242706
2015-07-20 20:36:21 +00:00
Hans Wennborg cfb85e0c0c Add libunwind to the release scripts
llvm-svn: 242543
2015-07-17 16:49:59 +00:00
Daniel Sanders c2672e5dac test-release.sh: Add ability to do a test build using the trunk or branches.
Summary:
Adds '--svn-path BRANCH' that causes the script to export the specified path
from each project. Otherwise the tag specified by -release, -rc, etc. will be
used. The version portion of the package name will be 'test-$path' (any forward
slashes in the branch name are replaced with underscores), for example:
  -svn-path trunk => clang+llvm-test-trunk-mips-linux-gnu.tar.xz
  -svn-path branches/release_35 => clang+llvm-test-branches_release_35-mips-linux-gnu.tar.xz

This is primarily useful for bringing new release packages up to standard
without needing to create and maintain a tag for the purpose.

Reviewers: tstellarAMD, hans

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D6563

llvm-svn: 242518
2015-07-17 10:40:40 +00:00
Hans Wennborg aaacf48414 test-release.sh: Run both .o files through sed before comparing them
On some systems (e.g. Mac OS X), sed will add a newline to the end of
the output if there wasn't one already. This would cause false
cmp errors since the .o file from Phase 2 was passed through sed and
the one from Phase 3 wasn't. Work around this by passing both through
sed.

llvm-svn: 242341
2015-07-15 22:18:25 +00:00
Hans Wennborg 0caeee07e1 Switch the release script to build with CMake by default (PR21561)
It retains the possibility to use the autoconf build with a
command-line option ('-use-autoconf'), and uses that by default on Darwin since
compiler-rt requires it on that platform.

This commit also removes the "Release-64" flavour and related logic. The script
would previously do two builds unless the '-no-64bit' flag was passed, but on
my machine and from those I asked this always ended up producing two 64-bit builds,
causing much confusion.

It also removes the -build-triple option, which caused the --build= flag to
get passed to ./configure. This was presumably intended for cross-compiling,
but none of the release testers use it. If someone does want to pass it,
they can use '-configure-flags --build=foo' instead.

Differential Revision: http://reviews.llvm.org/D10715

llvm-svn: 242331
2015-07-15 21:06:16 +00:00
Hans Wennborg 923860d8ca test-release.sh: Remove the InstallDir parameter from configure_llvmCore
After r242187, it's never set.

llvm-svn: 242194
2015-07-14 20:15:15 +00:00
Dan Liew 7fa38a5349 Fix several issues with the test-release.sh script
* Use the default install prefix (/usr/local) and use DESTDIR instead to
  set a temporary install location for tarballing. This is the correct
  way to package binary releases (otherwise the temporary install path
  ends up in files in the binary release).
* Remove ``-disable-clang`` option. It did not work correctly
  (tarballing assumed phase 3 was run) and when doing a release
  we should always be doing a three-phased build and test.

Note: Technically we should only be using DESTDIR for the third phase
and use --prefix for the first and second phase because we run the built
clang from phase 1 and 2 (and in general an application's behaviour
may depend on the install prefix). However in the case of clang it
seems to not care what the install prefix was so to simplify the script
we use DESTDIR for all three stages.

llvm-svn: 242187
2015-07-14 19:46:19 +00:00
Dan Liew bbe97556c1 Fix bug in test-release.sh where the script would not exit if any
of the build stages that are sent through a pipe (e.g. tee) failed.

This potentially allowed builds and/or tests to fail without anyone
noticing. It appears that for the LLVM 3.6.[01] releases this actually
happened for the Ubuntu 14.04LTS binary releases. The essence of the
issue is that without ``set -o pipefail`` the following command in bash
has a zero exit code.

false | tee /dev/null ; exit $?

llvm-svn: 241599
2015-07-07 15:50:33 +00:00
Hans Wennborg 6072d2b97f test-release.sh: Minor fixes.
llvm-svn: 240334
2015-06-22 21:13:30 +00:00
Hans Wennborg 9c806c432e Drop remaining Dragonegg support in release scripts
r236077 and r236081 dropped Dragonegg support from the release scripts
but left some pieces. The most notable change is that Dragonegg won't
be tagged any more.

Patch by David Wiberg <dwiberg@gmail.com>.

llvm-svn: 238753
2015-06-01 15:37:58 +00:00
Hans Wennborg 99ebb31283 Drop Dragonegg support from the release script
It doesn't have a maintainer and none of the release testers test it,
so I don't think it should be part of the release.

http://reviews.llvm.org/D9331

llvm-svn: 236077
2015-04-29 02:14:26 +00:00
Hans Wennborg bb66f202eb test-release.sh: Drop some unused command-line options.
These haven't done anything since before r142165.

llvm-svn: 236061
2015-04-28 23:37:41 +00:00
Daniel Sanders f226aaf42e test-release.sh: Add a way to specify --build to configure
Summary:
I currently have to specify --build=mips-linux-gnu or --build=mipsel-linux-gnu
to configure in order to successfully recurse a 32-bit build of the compiler on
my mips64-linux-gnu and mips64el-linux-gnu targets. This is a bug and will be
fixed but in the meantime it will be useful to have a way to work around this.

Reviewers: tstellarAMD

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D6522

llvm-svn: 223369
2014-12-04 17:15:35 +00:00
Daniel Sanders a417790a99 test-release.sh: Correct the logged configure command to match the one actually issued.
--disable-timestamps was added to the configure command way back in r142647 but
the command that echos this command to the log was not updated at the time.

llvm-svn: 223351
2014-12-04 11:00:09 +00:00
Bill Wendling 5d53607392 Update projects lists.
llvm-svn: 216048
2014-08-20 07:32:09 +00:00
Tom Stellard 9c4c3c58cb test-release.sh: Add support for dot releases
llvm-svn: 213580
2014-07-21 20:20:08 +00:00
Arnaud A. de Grandmaison 84aa310c82 Display the name of the project failing the url check in the release script
llvm-svn: 206164
2014-04-14 12:36:48 +00:00
Bill Wendling c358229e98 Remove superfluous label.
llvm-svn: 196227
2013-12-03 07:34:19 +00:00
Bill Wendling 1585fea1a2 Default to a better compression algorithm.
llvm-svn: 195567
2013-11-24 05:29:35 +00:00
Bill Wendling d607384d88 Add -triple option.
The -triple option is used to create a named tarball of the release binaries.

Also disable the RPATH modifications on Mac OS X. It's not needed.

llvm-svn: 195193
2013-11-20 04:55:20 +00:00
Arnaud A. de Grandmaison 69690e4156 test-release.sh: tweak RPATH for the binary packages.
libtool sets RPATH to "$ORIGIN/../lib:/the/directory/where/it/was/built/lib" so that a developper can use the built or the installed version seamlessly. Our binary packages should not have this developer friendly tweak, as the users of the binaries will not have the build tree.

Beside, in case the development tree is a possibly on an automounted share, this can create very bad user experience : they will incur an automount timeout penalty and will get a very bad feeling of llvm/clang's speed.

llvm-svn: 194999
2013-11-18 10:34:59 +00:00
Duncan Sands 488c99e075 Correct comment.
llvm-svn: 185987
2013-07-10 00:52:41 +00:00
Bill Wendling 0dd712e050 Add libcxx and clang-tools-extra to the testing thing.
llvm-svn: 181418
2013-05-08 09:31:10 +00:00
Sylvestre Ledru 35521e2310 Fix a typo (the the => the)
llvm-svn: 160621
2012-07-23 08:51:15 +00:00
Bill Wendling 6c4eea4db7 Download and build the compiler-rt project.
llvm-svn: 154905
2012-04-17 05:11:51 +00:00
Bill Wendling 7d350efddc As Eric pointed out, even a Debug build should be equal. Leave the flag that can turn off comparisons though.
llvm-svn: 153927
2012-04-03 03:27:43 +00:00
Bill Wendling d70cde134b Compare the .o files only for release builds. Add an option to bypass the comparison altogether.
llvm-svn: 153909
2012-04-02 23:27:43 +00:00
Bill Wendling 957cc212bb Support a 'final' release candidate tag.
llvm-svn: 145243
2011-11-28 11:45:10 +00:00
Bill Wendling f525e37c5d Do a relative path ln command instead of an absolute path one. Some people strangely enough have different directory layouts...
llvm-svn: 143302
2011-10-29 23:49:52 +00:00
Duncan Sands 12a16dbcb0 Ensure timestamps are not embedded into files when doing a release build.
llvm-svn: 142647
2011-10-21 09:47:14 +00:00
Duncan Sands f105192ad5 Also compare the built dragonegg objects between phases 2 and 3.
llvm-svn: 142608
2011-10-20 20:14:18 +00:00
Duncan Sands 9341b50c07 Reset the system compiler each time we start a new flavour. Otherwise
the last compiler built for the previous flavour is used for the next,
for example the Debug clang compiler was being used for the initial build
of the Release LLVM.  Flavors should be independent of each other.  This
especially matters if the compiler built for the previous flavour doesn't
actually work!

llvm-svn: 142607
2011-10-20 20:10:58 +00:00
Duncan Sands 2efb4dd0cb Add support for testing dragonegg. This is disabled by default.
In fact this commit is not intended to change anything unless you
use one of the new command line flags.

llvm-svn: 142577
2011-10-20 11:13:04 +00:00
Bill Wendling a96c00bf47 Duncan pointed out that sometimes CC and CXX are used to specify the compiler. Also that the configure script takes care of finding an appropriate compiler if one's not specified.
llvm-svn: 142489
2011-10-19 09:47:00 +00:00
Bill Wendling f96a5bc15b Use bash instead.
llvm-svn: 142486
2011-10-19 09:25:49 +00:00
Bill Wendling cfe8232d23 Make changes so that this runs on FreeBSD.
llvm-svn: 142482
2011-10-19 08:42:07 +00:00
Bill Wendling 06ac75c8e3 Don't exit just because some early commands fail. Use the -k flag when running the checks.
llvm-svn: 142369
2011-10-18 17:27:12 +00:00
Bill Wendling a5748e22e2 Forgot to add the project name to the 'svn ls' command.
llvm-svn: 142282
2011-10-17 21:45:07 +00:00
Bill Wendling f95c94e9a6 Don't download and compile compiler-rt, libcxx, and libcxxabi by default.
llvm-svn: 142185
2011-10-17 08:41:20 +00:00
Bill Wendling 7b7d077c29 Update to disable asserts. Build a phase 3 compiler, and compare phase 2 files against phase 3.
llvm-svn: 142173
2011-10-17 04:46:54 +00:00
Bill Wendling 9aa3943d9e Overhaul the 'test-release' script.
This removes support for building llvm-gcc. It will eventually add support for
building other projects.

llvm-svn: 142165
2011-10-16 22:44:08 +00:00
Duncan Sands d5f631cd2a Partially revert commit 127155: I think it is much more convenient
to have structured log files rather than one big file produced by
piping output.

llvm-svn: 128378
2011-03-27 13:52:32 +00:00