summaryrefslogtreecommitdiff
path: root/mesonbuild/environment.py
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge pull request #6123 from scivision/bugfix-fortranJussi Pakkanen2019-11-021-3/+2
|\ | | | | bugfix: fortran compiler assertionerror from 0c22798
| * fix PGI Windows 'ar' linkerMichael Hirsch, Ph.D2019-10-311-1/+1
| |
| * bugfix: fortran compiler assertionerror from 0c22798Michael Hirsch, Ph.D2019-10-311-2/+1
| |
* | Ask Ninja to expand rsp files in compile_commands.jsonAleksey Gurtovoy2019-11-021-1/+5
|/
* d: Prefer MSVC and LLVM linker over optlink when availableGoaLitiuM2019-10-211-7/+17
| | | | The optlink linker is slowly getting phased out now since DMD ships with the LLVM linker, so it can be used when Visual Studio is not installed.
* environment: Add missing space between wordsMatt Turner2019-10-151-1/+1
|
* environment: Fix detection of xild with iccDylan Baker2019-10-141-1/+1
|
* intel-cl: correct argument orderMichael Hirsch, Ph.D2019-10-101-2/+2
|
* BUGFIX: environment.py CudaCompiler missing info argMichael Hirsch, Ph.D2019-10-101-1/+2
| | | | | | | | | | | fixes regression for systems with nvcc installed--perhaps why not previously caught on CI. Just a simple typo--missing a positional argument to CudaCompiler() 0c22798b1ad4678abb205280060175678a790c4a is the first bad commit File "meson\mesonbuild\environment.py", line 1066, in detect_cuda_compiler return CudaCompiler(ccache + compiler, version, for_machine, is_cross, exe_wrap, host_compiler=cpp_compiler, linker=linker)# Please enter the commit message for your changes. Lines starting TypeError: __init__() missing 1 required positional argument: 'info'# with '#' will be ignored, and an empty message aborts the commit.
* Merge pull request #5833 from dcbaker/remove-compiler-typeJussi Pakkanen2019-10-091-95/+147
|\ | | | | Remove compiler type
| * compilers: replace uses of mesonlib.is_<os>() with self.info.is_<os>()Dylan Baker2019-10-071-1/+0
| | | | | | | | Since these are cross compilation safe, while the former is not.
| * compilers: replace CompilerType with MachineInfoDylan Baker2019-10-071-87/+133
| | | | | | | | | | | | Now that the linkers are split out of the compilers this enum is only used to know what platform we're compiling for. Which is what the MachineInfo class is for
| * compilers: Add a specific type for AppleClangCDylan Baker2019-10-071-8/+15
| | | | | | | | | | This allows us to detect use classes rather than methods to determine what C standards are available.
* | environment: Detect sun4u and sun4v as sparc64Dylan Baker2019-10-091-0/+2
|/ | | | | | Solaris returns these values. Fixes #6006
* Cross build is defined by the existance of a cross file.Jussi Pakkanen2019-10-061-1/+1
|
* Correct obviously-wrong test for gold linker.Olexa Bilaniuk2019-09-301-1/+1
|
* environment: LLVM 9 is now a stable releaseTing-Wei Lan2019-09-291-1/+2
|
* Find clang-format with alternative namesTing-Wei Lan2019-09-291-1/+17
| | | | | | This is similar to what we currently do for scan-build except there is no environment variable to choose a specific clang-format to run. If an environment variable is needed for better control, we can add it later.
* Move the list of LLVM version suffixes to a common placeTing-Wei Lan2019-09-291-14/+27
| | | | | | | Both scan-build and llvm-config need the same list of LLVM version suffixes. It is better to keep the list at a common place instead of having several copies in different files, which is likely to become out-of-sync when the list is updated.
* Fix GNU-like LLD being misdetected as MSVC-like LLDAndrei Alexeyev2019-09-271-1/+4
| | | | Affects the latest version of the llvm-mingw toolchain
* environment: Don't make special case for scan-build on LinuxTing-Wei Lan2019-09-251-9/+4
| | | | | | | | | | | | | | | | | Versioning of executables is not related to the operating system kernel. It is possible for a Linux distribution to support multiple versions of LLVM in a way similar to FreeBSD. For example, on Debian, you can use 'apt install clang-tools-7' to install the versioned 'scan-build-7' executable without bringing the unversioned 'scan-build' into the environment. Therefore, we should not skip the version list on Linux. It also makes it consistent with the behavior of llvm dependency, which does not change the search list depending on the operating system. This commit also fixes the version suffix for Debian. Debian stops using the minor version number on the executable after version 7, so it should be 'scan-build-7', not 'scan-build-7.0'. This is a follow-up of https://github.com/mesonbuild/meson/pull/5918.
* CUDA support on WindowsAleksey Gurtovoy2019-09-241-1/+3
|
* uniform scan-build detection processGabriel Ganne2019-09-141-0/+49
| | | | | | | | | | | | | | | | | | | | Detect scan-build the same way when trying to launch it and when generating the target. The detection method is: 1. look within SCANBUILD env variable 2. shutil.which('scan-build') 3. *on non-linux platforms only*: go through all the possible name candidates and test them individually. The third step is added following this comment https://github.com/mesonbuild/meson/pull/5857#issuecomment-528305788 However, going through a list of all the possible candidates is neither easily maintainable nor performant, and is therefore skipped on platforms that should not require such a step (currently, only Linux platforms). This is a follow-up to the issue raised by @lantw44 during PR: https://github.com/mesonbuild/meson/pull/5857
* compilers: Recognize Solaris 11.4 linkerAlan Coopersmith2019-09-101-1/+1
| | | | | | | | Solaris 11.3 & earlier sent the --version output to stderr, but Solaris 11.4 moved it to stdout in an attempt to be more compatible with the GNU tools, so look for it in both streams of output. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Workaround for mingw-llvm linker (lld) misdetectionAndrei Alexeyev2019-09-101-0/+17
| | | | | | | | | | | llvm-mingw uses a wrapper script to inject (among other things) a -target argument into the clang command, which breaks -Wl,--version. This confuses Meson into thinking the linker is some unknown version of Apple ld, which breaks builds. This patch makes it detect and recover from the issue. Fixes #5910
* environment: merge successive is_windows blocksDylan Baker2019-09-091-3/+1
|
* environment: gcc/g++ and clang/clang++ are valid objc/objc++ compilers to tryDylan Baker2019-09-091-2/+5
|
* If ar is unrecognized, try gar for GNU arAlan Coopersmith2019-09-091-6/+7
| | | | | Needed on Solaris, where native ar doesn't recognize all the flags that meson uses, but GNU ar does.
* Merge pull request #5823 from scivision/linker-pgi-linuxJussi Pakkanen2019-09-051-0/+5
|\ | | | | PGI compiler fixes
| * PGI: use ar link wrapper on WindowsMichael Hirsch, Ph.D2019-09-051-0/+5
| |
* | mesonlib.split_args/quote_arg/join_argsAleksey Gurtovoy2019-09-051-5/+5
|/
* Create CUDA linker with CUDA compilerKramer Peace2019-09-051-4/+1
| | | | | Since they are laways paired there is no need to "search" for the cuda linker.
* Add a CUDA linker objectKramer Peace2019-09-051-0/+4
| | | | Fixes issue #5870
* environment: clang uses lld-link or link.exe on windowsDylan Baker2019-08-301-4/+39
|
* compilers: Move the compiler argument to proxy linker flags to the compiler ↵Dylan Baker2019-08-301-29/+37
| | | | | | | | | | | | class Instead of the DynamicLinker returning a hardcoded value like `-Wl,-foo`, it now is passed a value that could be '-Wl,', or could be something '-Xlinker=' This makes a few things cleaner, and will make it possible to fix using clang (not clang-cl) on windows, where it invokes either link.exe or lld-link.exe instead of a gnu-ld compatible linker.
* environment: Fix detection of MSVC arch on arm64Nirbheek Chauhan2019-08-271-1/+1
| | | | | | | | | | | | The regex was incorrect, so it was matching 'ARM64' with 'ARM'. Make the regex more specific so that it matches: Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27031.1 for x64 Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27031.1 for x86 Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27031.1 for ARM64 Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86 etc.
* Support NetBSD aarch64 and earm.nia2019-08-231-3/+5
|
* environment: Detect dynamic linker classDylan Baker2019-08-141-33/+161
|
* environment: Handle OBJC[PP] clang detection like C[PP]Dylan Baker2019-08-141-7/+8
| | | | Which fixes using a non Apple clang for objc and objc++ on macOS.
* environment: Use a single function to check for ObjC and ObjC++Dylan Baker2019-08-141-38/+17
| | | | | | These two functions are different only in the classes that they use, a couple of simple in-line ternaries takes care of that and reduces code duplication.
* Add basic Webassembly support via Emscripten.Jussi Pakkanen2019-08-051-0/+7
|
* environment: simplify powerpc conditionalsJan Beich2019-08-041-5/+3
|
* environment: simplify CPU logic via hw.machine_arch on BSDsJan Beich2019-08-041-13/+6
|
* remove unreachable codeMichael Hirsch, Ph.D2019-08-021-1/+0
|
* BUGFIX: typo from 32e827dcdc451e1c5 broke PGI compilersMichael Hirsch, Ph.D2019-07-061-1/+1
|
* Improve performance with windows defender ATPCharlie Barto2019-07-051-1/+0
|
* BUGFIX: typo for PGI C/CPPMichael Hirsch, Ph.D2019-06-241-1/+1
|
* correct missing argument for IntelClFortranCompilerMichael Hirsch, Ph.D2019-06-241-2/+2
| | | | | | ifort passes all tests cleanup logic
* coredata: Correctly handle receiving a pipe for native/cross filesDylan Baker2019-06-231-1/+2
| | | | | | | | | | | | | | | | | | * coredata: Correctly handle receiving a pipe for native/cross files In some cases a cross/native file may be a pipe, such as when using bash process replacement `meson --native-file <([binaries]llvm-config='/opt/bin/llvm-config')`, for example. In this case we copy the contents of the pipe into a file in the meson-private directory so we can create a proper ninja dependency, and be able to reload the file on --wipe/--reconfigure. This requires some extra negotiation to preserve these native/cross files. Fixes #5505 * run_unitests: Add a unit test for native files that are pipes Using mkfifo.
* environment: Fix detection of Microsoft cl.exe with non English localesDylan Baker2019-06-211-1/+1
| | | | | | This uses the fix as suggested in issue 5491, which it also fixes. Fixes #5491