Commit Graph

108 Commits

Author SHA1 Message Date
Chris Bieneman
6a6b44f90f Remove LLVM_ENABLE_TIMESTAMPS
Summary:
As per the discussion on LLVM-dev this patch proposes removing LLVM_ENABLE_TIMESTAMPS.

The only complicated bit of this patch is the Windows support. On windows we used to log an error if /INCREMENTAL was passed to the linker when timestamps were disabled.

With this change since timestamps in code are always disabled we will always compile on windows with /Brepro unless /INCREMENTAL is specified, and we will log a warning when /INCREMENTAL is specified to notify the user that the build will be non-deterministic.

See: http://lists.llvm.org/pipermail/llvm-dev/2016-May/098990.html

Reviewers: bogner, silvas, rnk

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268670 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-05 19:57:03 +00:00
Hans Wennborg
6e9b03bb11 Win packaging script: include the OpenMP run-time
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268398 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-03 16:43:40 +00:00
Daniel Sanders
0562fb318f [test-release.sh] Add lldb to list of projects (disabled by default)
Reviewers: hans

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262211 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-29 11:04:39 +00:00
Daniel Sanders
508957013b Bring back the test-suite export in test-release without bringing back the build failures.
Summary:
r257791 disabled the test-suite export since the addition of CMakeLists.txt was
causing build failures. This patch exports the test-suite again but does so
outside the source tree so that it isn't included in the Phase[123] builds.

Reviewers: hans

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259094 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-28 21:09:50 +00:00
Hans Wennborg
89b5a6785f test-release.sh: Ignore LC_CTYPE in sed invocation on Darwin
Here, sed is used to prepare object files for comparison via cmp. On my Darwin
15.4.0 machine, LC_CTYPE is set to UTF-8 (by default, I believe). Under these
circumstances, anything sed is made to read will be treated as UTF-8, prompting
it to signal an error if it is not, like so:

% sed s/a/b/ <(head -n1 /dev/random) >/dev/null; echo $?
sed: RE error: illegal byte sequence
1
%

To make sed work as expected, I need to set LC_CTYPE to C:

% env LC_CTYPE=C sed s/a/b/ <(head -n1 /dev/random) >/dev/null; echo $?
0
%

Without this change, sed will exit with an error for every single file that it
compares between phase 2 and phase 3, thereby making it look as if the
differences were far larger than they are.

Patch by Elias Pipping!

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@258891 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-27 00:19:05 +00:00
Dimitry Andric
ad24fed421 In test-release.sh, only run uname -s once. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@258439 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-21 22:07:17 +00:00
Dimitry Andric
0ae89f95ca Let test-release.sh checkout subprojects directly into the target tree,
instead of using symlinks

Summary:
In the past I have run into several problems with the way
`test-release.sh` creates all the subproject directories as siblings,
and then uses symlinks to stitch them all together.  In some scenarios
this leads to clang not being able to find header files, etc.

This patch changes the script so it directly exports into the correct
target locations for each subproject.

Reviewers: hans

Subscribers: emaste, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@258436 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-21 21:57:49 +00:00
Hans Wennborg
f049f0721c test-release.sh: Use CMake also for Darwin
This didn't work for 3.7, but hopefully it should work now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@258168 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-19 19:21:58 +00:00
Dimitry Andric
2f248688c9 Similar to rL257663, remove function keywords from export.sh and
tag.sh, since they are marked to be run with /bin/sh.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257994 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-16 15:18:35 +00:00
Hans Wennborg
f75308f366 test-release.sh: Fix clang-tools-extra symlink for CMake build
The CMake and Autoconf builds want the symlink set up differently.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257905 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-15 17:04:45 +00:00
Hans Wennborg
faaa9dde56 Exclude test-suite from CMake builds in test-release.sh
It's broken. In 3.7 there wasn't a CMake build for test-suite at all,
so we're not losing something we had before.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257791 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-14 19:21:14 +00:00
Dimitry Andric
307c714edd Remove bashism from merge.sh: POSIX sh does not have the function
reserved word, and it is even superfluous in bash, for this particular
instance.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257663 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-13 19:48:50 +00:00
Hans Wennborg
a07c74ea61 Update version to 3.9.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257627 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-13 17:32:32 +00:00
Hans Wennborg
0dbeff1e73 Check in the script for building Win snapshots
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255318 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-11 00:43:42 +00:00
Alexey Bataev
5ebd7badfb [OPENMP] Make -fopenmp to turn on OpenMP support by default.
Patch turns on OpenMP support in clang by default after fixing OpenMP buildbots.
Differential Revision: http://reviews.llvm.org/D13802


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255222 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-10 05:45:58 +00:00
Hans Wennborg
d4825d27e8 Revert r245355 "Release script: correctly symlink clang-tools-extra into the build (PR22765)"
This worked with the CMake build but broke the Autoconf one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245902 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-24 23:34:28 +00:00
Hans Wennborg
c7879234e8 Release script: correctly symlink clang-tools-extra into the build (PR22765)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245355 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-18 21:10:17 +00:00
Hans Wennborg
9ef4c12777 test-release.sh: Fix naming of OpenMP runtime tarball
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244058 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-05 15:36:07 +00:00
Hans Wennborg
2dc8e2aa97 Add a -revert option to utils/release/merge.sh
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243929 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-04 00:47:58 +00:00
Renato Golin
f3f35ecb54 [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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243898 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-03 20:19:35 +00:00
Daniel Sanders
4b26be6066 [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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243633 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-30 10:14:57 +00:00
Hans Wennborg
c3a9cb54e6 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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243531 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-29 16:29:06 +00:00
Hans Wennborg
b8f373eb60 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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243116 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-24 16:16:09 +00:00
Renato Golin
c6f36fe9f7 [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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242919 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-22 18:21:39 +00:00
Dimitry Andric
85e9772512 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242722 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-20 22:24:40 +00:00
Dimitry Andric
186b3e7e9e 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242721 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-20 22:07:27 +00:00
Hans Wennborg
ca221d01d0 test-release.sh: don't include /usr/local prefix in the tarball
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242706 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-20 20:36:21 +00:00
Hans Wennborg
8a8582d6e9 Add libunwind to the release scripts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242543 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-17 16:49:59 +00:00
Daniel Sanders
fe6ad9692a 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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242518 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-17 10:40:40 +00:00
Hans Wennborg
db210912ad 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242341 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-15 22:18:25 +00:00
Hans Wennborg
f9893938de 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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242331 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-15 21:06:16 +00:00
Hans Wennborg
e1bb535422 test-release.sh: Remove the InstallDir parameter from configure_llvmCore
After r242187, it's never set.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242194 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-14 20:15:15 +00:00
Dan Liew
fb17afba61 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242187 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-14 19:46:19 +00:00
Dan Liew
9fb4897162 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 $?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241599 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-07 15:50:33 +00:00
Hans Wennborg
33d68a5183 test-release.sh: Minor fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240334 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-22 21:13:30 +00:00
Hans Wennborg
1758082f64 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>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238753 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-01 15:37:58 +00:00
Hans Wennborg
af049033be Drop Dragonegg from the release export script
Follow-up to r236077.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236081 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29 02:36:43 +00:00
Hans Wennborg
3d09e0e550 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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236077 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29 02:14:26 +00:00
Hans Wennborg
bccc647eaa test-release.sh: Drop some unused command-line options.
These haven't done anything since before r142165.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236061 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-28 23:37:41 +00:00
Hans Wennborg
f0c07c3691 export.sh: Make sure umask is not too restrictive (PR22742)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230977 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-02 17:30:42 +00:00
Hans Wennborg
961f28cd71 utils/release/tag.sh: fix -revision vs. -rc check
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226124 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-15 04:36:20 +00:00
Hans Wennborg
7472c76052 Release merge script: don't actually commit the merge
Instead, just present the command for committing it. This way,
the user can test the merge locally, resolve conflicts, etc.
before committing, which seems much safer to me.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225737 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-13 00:07:31 +00:00
Hans Wennborg
589d1a16b5 Release tag script: add -revision option
It seems useful to be able to create the branch at a revision that looks good
on the buildbots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225736 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-13 00:07:29 +00:00
Hans Wennborg
ab860e7a08 Release tag script: add -dry-run flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225735 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-13 00:07:22 +00:00
Daniel Sanders
86bf88145b 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223369 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-04 17:15:35 +00:00
Daniel Sanders
d27b0b9489 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223351 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-04 11:00:09 +00:00
Bill Wendling
647d329db3 Use 'xz' compression instead of 'gz'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216442 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-26 08:11:22 +00:00
Bill Wendling
7130b22436 Update projects lists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216048 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-20 07:32:09 +00:00
Bill Wendling
bca58d8531 Add libcxxabi to the projects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216047 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-20 07:30:08 +00:00
Bill Wendling
14d29b65e5 Use the minor number for the revision numbers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215055 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-07 04:21:45 +00:00