Commit Graph

138 Commits

Author SHA1 Message Date
Bernhard Kaindl
d236b9438d
llvm: Fix the llvm versions for using the MicrosoftDemange patch (#28140) 2021-12-22 16:53:10 -07:00
kwryankrattiger
203ccdd976
LLVM: Revert build_llvm_dylib to llvm_dylib (#27761) 2021-12-03 23:47:05 +01:00
Bernhard Kaindl
2d34082b0c
llvm: Fix building llvm@4:9 using %clang@6: and %gcc@10: (#27233)
Add z3 variant, fix @:9%gcc@9: with glibc2.31, fix no_cyclades range
2021-11-29 12:48:18 -08:00
Harmen Stoppels
dfc95cdf1c
llvm: use ninja by default (#27521)
* llvm: use ninja by default

* Use ninja for omp when it's not a runtime
2021-11-23 16:28:17 -08:00
Harmen Stoppels
40a6ac62d3
llvm: introduce [build/link]_llvm_dylib (#27450)
Apart from building a single dylib for LLVM, users should also be able
to link tools against it.
2021-11-17 20:10:59 -07:00
Harmen Stoppels
c05746eac2
llvm: use LIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON (#27448)
The previous workaround of using CMAKE_INSTALL_RPATH=ON was used to
avoid CMake trying to write an RPATH into the linker script libcxx.so,
which is nonsensical. See commit f86ed1e.

However, CMAKE_INSTALL_RPATH=ON seems to disable the build RPATH, which
breaks LLVM during the build when it has to locate its build-time shared
libraries (e.g. libLLVM.so). That required yet another workaround, where
some shared libraries were installed "by hand", so that they were picked
up from the install libdir. See commit 8a81229.

This was a dirty workaround, and also makes it impossible to use ninja,
since we explicitly invoked make.

This commit removes the two old workaround, and sets
LIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON, so that libc++abi.a is linked into
libc++.so, which makes it enough to link with -lc++ or invoke clang++
with -stdlib=libc++, so that our install succeeds and linking LLVM's c++
standard lib is still easy.
2021-11-17 09:14:05 -07:00
Harmen Stoppels
0221639e8a
llvm: maintainers (#27482) 2021-11-16 15:41:02 -07:00
Harmen Stoppels
7c3b146789
llvm: flang implies mlir (#27449) 2021-11-16 10:08:07 -07:00
Harmen Stoppels
a780f96a25
Add a symbol suffix option to LLVM (#27445) 2021-11-16 06:06:07 -08:00
Glenn Johnson
2ea1037369
llvm: remove cyclades code from llvm-10:11 (#27385) 2021-11-15 11:27:00 +01:00
Manuela Kuhn
4b2564a2d6
llvm: fix gcc11 build for @11 (#27013) 2021-10-28 16:07:56 -06:00
Seth R. Johnson
890095e876
llvm: use cmake helper functions (#26988)
* llvm: use cmake helper functipack stns

* llvm: review feedback
2021-10-27 20:26:22 +00:00
Ye Luo
7dc94b6683
Build OpenMP in LLVM via LLVM_ENABLE_RUNTIMES. (#26870) 2021-10-26 17:43:28 -06:00
Seth R. Johnson
8f62039d45
llvm: add conflict for newer apple-clang versions (#26633) 2021-10-11 17:49:23 +02:00
Bernhard Kaindl
449a5832c8
llvm: llvm@13+libcxx needs a very recent C++ compiler (#26584)
libc++-13 does not support %gcc@:10, see:
https://bugs.llvm.org/show_bug.cgi?id=51359#c1

https://libcxx.llvm.org/#platform-and-compiler-support says:
- GCC    11     - latest stable release per GCC’s release page
- Clang: 11, 12 - latest two stable releases per LLVM’s release page
- AppleClang 12 - latest stable release per Xcode’s release page
2021-10-08 00:25:51 +00:00
Paul R. C. Kent
fefe624141
llvm: new version 13.0.0 (#26563) 2021-10-06 16:53:49 +00:00
Harmen Stoppels
b9e72557e8
Remove .99 from version ranges (#26422)
In most cases, .99 can be omitted thanks to #26402 .
2021-10-03 09:09:02 -04:00
Shahzeb Siddiqui
ef9967c7f4
Add e4s tags (#23382)
Add 'e4s' tags for all packages according to https://github.com/E4S-Project/e4s/blob/master/E4S_Products.md
2021-09-29 17:57:52 -07:00
Tamara Dahlgren
bafd84e191
Switch http to https where latter exists (#25672)
* Switch http to https where latter exists
* Hopefully restore original permissions
* Add URL updates after include the -L curl option
* Manual corrections to select URL format strings
2021-09-13 09:21:35 -07:00
Vanessasaurus
8e61f54260
start of work to add spack audit packages-https checker (#25670)
This PR will add a new audit, specifically for spack package homepage urls (and eventually
other kinds I suspect) to see if there is an http address that can be changed to https.

Usage is as follows:

```bash
$ spack audit packages-https <package>
```
And in list view:

```bash
$ spack audit list
generic:
  Generic checks relying on global variables

configs:
  Sanity checks on compilers.yaml
  Sanity checks on packages.yaml

packages:
  Sanity checks on specs used in directives

packages-https:
  Sanity checks on https checks of package urls, etc.
```

I think it would be unwise to include with packages, because when run for all, since we do requests it takes a long time. I also like the idea of more well scoped checks - likely there will be other addresses for http/https within a package that we eventually check. For now, there are two error cases - one is when an https url is tried but there is some SSL error (or other error that means we cannot update to https):

```bash
$ spack audit packages-https zoltan
PKG-HTTPS-DIRECTIVES: 1 issue found
1. Error with attempting https for "zoltan": 
    <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'www.cs.sandia.gov'. (_ssl.c:1125)>
```
This is either not fixable, or could be fixed with a change to the url or (better) contacting the site owners to ask about some certificate or similar.

The second case is when there is an http that needs to be https, which is a huge issue now, but hopefully not after this spack PR.

```bash
$ spack audit packages-https xman
Package "xman" uses http but has a valid https endpoint.
```

And then when a package is fixed:

```bash
$ spack audit packages-https zlib
PKG-HTTPS-DIRECTIVES: 0 issues found.
```
And that's mostly it. :)

Signed-off-by: vsoch <vsoch@users.noreply.github.com>

Co-authored-by: vsoch <vsoch@users.noreply.github.com>
2021-09-02 08:46:27 +02:00
Robert Mijakovic
ba2e186f31
llvm: add v12.0.1 (#24803)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-07-09 13:06:04 +02:00
Todd Gamblin
24c01d57cf
imports: sort imports everywhere in Spack (#24695)
* fix remaining flake8 errors

* imports: sort imports everywhere in Spack

We enabled import order checking in #23947, but fixing things manually drives
people crazy. This used `spack style --fix --all` from #24071 to automatically
sort everything in Spack so PR submitters won't have to deal with it.

This should go in after #24071, as it assumes we're using `isort`, not
`flake8-import-order` to order things. `isort` seems to be more flexible and
allows `llnl` mports to be in their own group before `spack` ones, so this
seems like a good switch.
2021-07-08 22:12:30 +00:00
Manuela Kuhn
77a98cabfa
llvm: add patch for gcc11 (#24363)
llvm10 was not compiling with gcc due to missing header (see #24270)
2021-06-28 11:18:53 +02:00
Seth R. Johnson
8b75e81666
llvm: add conflicts for newer gcc (#24281)
Closes #24270
2021-06-11 17:07:14 -06:00
Harmen Stoppels
3578132e76
Another binutils fix (#23337)
* Building binutils with gold implies building ld

* add +ld to llvm to make the old concretizer happy and add +gas to gcc since that's used in the package.py

* Remove sys
2021-05-02 23:27:43 +02:00
Robert Mijakovic
4cca69f4ed
llvm: new version, 12.0.0 (#23033)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-04-16 15:15:18 -07:00
Harmen Stoppels
b1ec5154db
LLVM needs ld gold with plugin support (#22988)
See https://llvm.org/docs/GoldPlugin.html
2021-04-16 19:48:32 +01:00
Nichols A. Romero
14c7a13893
Flang default is False. Include a warning to deter people from using it. (#22524)
* Flang default is False. Include a warning to deter people from using it.

* Fix flake8 issue.
2021-03-28 10:06:46 -07:00
Robert Mijakovic
9188498a84
llvm: new version (#22540)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-26 15:49:32 -07:00
Ethan Stam
6997991ad2
Llvm 7 intel patch (#22516)
* llvm@7 add patch for intel

* Fix invalid version specifier
2021-03-24 14:43:20 -07:00
Tiziano Müller
12cad38aef
llvm: enable ncurses patch for building on SUSE in 11.0.1 (#22319)
fixes #19625 again
2021-03-16 16:22:10 -07:00
Ethan Stam
865d38afa7
ParaView, LLVM: add -shared-intel to solve intel linking failures (#18195) 2021-02-09 23:26:49 +01:00
eugeneswalker
0b58499d7a
llvm: "master" branch is now "main" branch (#21411) 2021-02-01 08:32:36 -06:00
Nicholas Sly
82ada16668
Add flang variant to llvm package. (#21229)
Co-authored-by: sly <sly@lanl.gov>
2021-01-22 15:39:44 -08:00
Thomas Green
58d5b73ba4
Improve gcc detection in llvm. (#20189)
Co-authored-by: Tom Scogland <tom.scogland@gmail.com>
Co-authored-by: Thomas Green <ca-tgreen@gw4a64fxlogin00.head.gw4.metoffice.gov.uk>
2021-01-15 09:22:58 +01:00
Ye Luo
844d98f727
Remove hard-coded standard C++ library selection and add more releases in llvm package (#19933)
* Restore OS based Clang default choice of C++ standard library.

* Add LLVM 11.0.1 release
2021-01-06 12:17:20 -06:00
Todd Gamblin
a8ccb8e116 copyrights: update all files with license headers for 2021
- [x] add `concretize.lp`, `spack.yaml`, etc. to licensed files
- [x] update all licensed files to say 2013-2021 using
      `spack license update-copyright-year`
- [x] appease mypy with some additions to package.py that needed
      for oneapi.py
2021-01-02 12:12:00 -08:00
Robert Underwood
860825ee14
llvm: provide fix for python dependencies (#20356)
Previously compiler-rt didn't correctly passthrough cmake
variables for python when building the various santizers.
This patch passes these variables through.

This patch may also correctly apply to any version of LLVM
to any version of LLVM that uses the newer monorepo style organization,
and any older llvm newer than 7.0.0 as long as the paths were set
appropriately.  However, this was not done so because it was not
tested with older LLVM releases.

Fixes #19908
See also: https://bugs.llvm.org/show_bug.cgi?id=48180
2020-12-26 09:47:37 -06:00
Chuck Atkins
80624213f4
llvm: conflict for CMake breaking change when treating ASM files as C (#20105) 2020-11-30 13:47:00 +01:00
Michael Kuhn
1b7a5e53a6
clang/llvm: fix version detection (#19978)
This PR fixes two problems with clang/llvm's version detection. clang's
version output looks like this:

```
clang version 11.0.0
Target: x86_64-unknown-linux-gnu
```

This caused clang's version to be misdetected as:

```
clang@11.0.0
Target:
```

This resulted in errors when trying to actually use it as a compiler.

When using `spack external find`, we couldn't determine the compiler
version, resulting in errors like this:

```
==> Warning: "llvm@11.0.0+clang+lld+lldb" has been detected on the system but will not be added to packages.yaml [reason=c compiler not found for llvm@11.0.0+clang+lld+lldb]
```

Changing the regex to only match until the end of the line fixes these
problems.

Fixes: #19473
2020-11-19 11:06:45 +01:00
Michael Kuhn
dd54cb4c7a
llvm: add missing pkgconfig dependency (#19982)
When building llvm with CUDA support, it needs to find libffi. Without
pkg-config, libffi will not be found.
2020-11-19 10:34:13 +01:00
eugeneswalker
81a7ae2c27
llvm: add variant: llvm_dylib (LLVM_BUILD_LLVM_DYLIB:Bool) (#19701) 2020-11-16 14:10:20 -08:00
Tiziano Müller
acc075d79d
llvm: fix +lldb build with external ncurses on openSUSE (#19627)
fixes #19625
2020-11-02 07:39:21 -06:00
Nichols A. Romero
1a6c5ff541
Add LLVM 11.0.0 (#19309)
* Add LLVM 11.0.0

* This longdouble patch was merged in.
2020-10-16 23:02:57 -05:00
Massimiliano Culpo
ecf4829de7
llvm: added external detection capabilities (#17989)
* llvm: added external detection capabilities

* Added comment with reference to external package detection docs

* Fix typo in a comment
2020-08-13 09:03:09 -05:00
Massimiliano Culpo
f128e7de54 Removed references to BlueGene/Q in Spack builtin packages 2020-08-10 17:09:09 -07:00
Nichols A. Romero
c015b8538d
LLVM minor cleanup (#17905)
* Since LLVM already depends on the CUDA build system, these lines are redundant.

* This conflict doesn't do anything.
2020-08-09 14:04:53 -05:00
Sinan
d7ae244a14
llvm: added v10.0.1 (#17950)
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-08-09 13:39:11 +02:00
Axel Huebl
75042c381c
LLVM lldb 10.0: Python Link Dependency (#16299)
* LLVM: Python Dependency

Effort to expose the linked python library when building LLVM.
This might fix the forward propagation of libintl that comes
with the static python library build on darwin.

* LLDB Py: Remove Ignored Old Flags

Changed in LLVM 10.0+
2020-04-25 21:36:08 -07:00
Sajid Ali
5f285fdd05
fix code-signing on macOS (#15592)
* rebase

* move if statement location

* remove whitespace

* spec to self.spec

* switch statements as per review

* fix erronous indent

* add missing cmake arg

* minor placement fix for cmake args

* edit comment

* fix erronous return

* clarify conflicts with messages

* remove duplicate comment

* simplify logic

* macos wasn't a variant, fix that

* remove extra blank line

* address reviewer comments on spaces
2020-04-22 09:49:07 -05:00