Commit Graph

7135 Commits

Author SHA1 Message Date
John M. Lindemon 939c00a972 Fix nvcc error with threads dependency (4999) 2019-02-28 21:02:14 +02:00
John Ericson 2d6d242aec Feed compiler Properties to get its options defaulted
Before, the logic initialization compiler options from environment
variables vs config files was strewn about. Now, it is consolidated. We
leverage the new `envconfig.py` module to expose the configuration data
to `compilers.py` without creating an import cycle.
2019-02-27 13:10:16 -08:00
John Ericson c2db7a9cee Sync up initialization logic with Properties and BinaryTable
1. They (and the others) all use PerMachineDefaultable. It's not the
    best class, but consistency come first. (It and all of them can be
    improved accross the board later.)

 2. They use `None` as the default argument so as not to mutate what's
    effectively a global variables. (Thanks @dcbaker!)

 3. They have a `fallback` field to centralize authority on when
    environment variables should be consulted.
2019-02-27 13:10:16 -08:00
John Ericson 2622e9ec32 Move some configuration classes out of environment.py
First of all, I'd like compilers and other modules that environment.py
currently imports to be able to take these without creating
hard-to-follow module cycles.

Second of all, environment.py's exact purpose seems a bit obscured.
Splitting the data types (and basic pure functions) from the more
complex logic that infers that data seems like a good way to separate
concerns.
2019-02-27 13:10:16 -08:00
Daniel Mensinger 94fe01deec rewriter: Sort dict iterations to fix unit tests 2019-02-27 19:59:58 +02:00
Olexa Bilaniuk ecdef0d005 Add table entry for CUDA Toolkit 10.1. 2019-02-27 14:08:30 +02:00
Michael Hirsch, Ph.D 39e6dc5885 correct Fortran self-dep logic
corrected, generalized self-referential Fortran fix

further refine logic
2019-02-27 14:08:08 +02:00
Jussi Pakkanen 97555cf6d9
Merge pull request #4939 from mensinda/rwDefOpts
rewriter: Set and delete project default options
2019-02-26 22:34:33 +02:00
Martin Ejdestig 67a01c8d7f Improve declare_dependency() example in Generating-sources.md [skip ci]
By using private_dir_include() instead of enumerating headers in sources
of declare_dependency. Much more convenient, especially when there are
many headers.

Found out about this by reading #4638. It is not documented anywhere as
far as I can tell.
2019-02-26 19:19:43 +02:00
Michael Hirsch, Ph.D 32a344b949 Fortran: handle self-referential files 2019-02-26 19:16:50 +02:00
Jussi Pakkanen 76e385391f
Merge pull request #4914 from mensinda/cmakePreCheck
cmake: Check if modules exist before running CMake
2019-02-26 19:15:48 +02:00
Daniel Mensinger 4bf1a352cc mconf: Fixed crash for variables in targets (closes #4960) 2019-02-26 18:40:45 +02:00
John Ericson 8c6d6393f2 Remove redundant definition of `cflags_mapping`
It seems this was erroneously coppied in `54b6afa67`.
2019-02-26 15:44:06 +00:00
John Ericson 9cf0f31ec0 unit tests: Use unittest.skipUnless to simplify main()
This makes the testsuite work better with other test runners, like
pytest. This is important because better test runners are very useful to
development (e.g. avoiding running succeeding tests again and again),
even if we want to still support 0 dependency testing of Meson though
keeping the default test runnner working.
2019-02-26 15:42:17 +00:00
Daniel Mensinger 16b6b2d411
Use c++14 instead of c++17 in the tests 2019-02-26 09:34:58 +01:00
Daniel Mensinger 9e247cb52e
rewriter: Set and delete default options 2019-02-26 09:34:58 +01:00
Daniel Mensinger 74bb79e26e
rewriter: Remove matching regex from list 2019-02-26 09:34:57 +01:00
Daniel Mensinger e37d32aa9d
rewriter: Basic default_options support 2019-02-26 09:34:57 +01:00
Daniel Mensinger 719730ff14
Minor fixes for code review 2019-02-26 09:33:27 +01:00
Nirbheek Chauhan b7fa161cb9
Use tuple comprehensions
Co-Authored-By: mensinda <daniel@mensinger-ka.de>
2019-02-26 09:33:26 +01:00
Daniel Mensinger bc25a12709
Minor code fixes 2019-02-26 09:33:26 +01:00
Daniel Mensinger 1dfa3783f5
Use @lru_cache and added return annotation 2019-02-26 09:33:26 +01:00
Daniel Mensinger b69e45ebac
Fixed flake8 2019-02-26 09:33:26 +01:00
Daniel Mensinger b2dd5fbe08
Fixed minor logic error regarding case conversion 2019-02-26 09:33:26 +01:00
Daniel Mensinger 33f5f06f38
Added Mac support 2019-02-26 09:33:26 +01:00
Daniel Mensinger 03d9bc3b0e
Ignore exceptions 2019-02-26 09:33:26 +01:00
Daniel Mensinger cdc338b743
Preliminary CMake module search 2019-02-26 09:33:26 +01:00
Daniel Mensinger 6efc94b5dd
Support different CMake files 2019-02-26 09:33:25 +01:00
Jussi Pakkanen 92f95b3326
Merge pull request #4982 from mesonbuild/dmddebug
Hack to get failure output from CI.
2019-02-26 02:09:57 +02:00
Jussi Pakkanen 9acbd62789 Launch Meson via python3 so the binary name is correct. 2019-02-26 01:32:56 +02:00
Jussi Pakkanen 5d751a2506 Pick target exactly rather than relying on dict order. 2019-02-26 01:26:54 +02:00
Jussi Pakkanen 7564a63353 Copy python3.5 to python3 so tests pass on Cygwin. 2019-02-26 01:26:54 +02:00
Jussi Pakkanen 067ff7eeae Fall back to current interpreter when python3 not found. 2019-02-26 01:26:54 +02:00
Jussi Pakkanen a81207881b Disable D tests if dmd install is broken. 2019-02-26 01:26:54 +02:00
emersion 06e939bcbb docs: compiled() only works with compiler.run() results [skip ci] 2019-02-25 00:21:26 +02:00
Nicolas Schneider 72370faef0 vs: add support for `build_always_stale` for custom targets 2019-02-24 23:53:18 +02:00
Jussi Pakkanen 41fb5c2960
Merge pull request #4972 from obilaniu/cudafixes
CUDA fixes
2019-02-24 23:48:28 +02:00
David Vanderson 5b53335724 xcode backend: Add target dependency link args 2019-02-24 23:47:58 +02:00
Nirbheek Chauhan 9291f37b65 ci: Debug why dmd --version is returning 1 2019-02-25 03:12:23 +05:30
Olexa Bilaniuk 104397a429 [skip ci] Update the CUDA module documentation. 2019-02-24 11:01:05 -05:00
Olexa Bilaniuk 6d15594d44 Correct Volta+Tegra -> Xavier. 2019-02-24 09:14:41 -05:00
Olexa Bilaniuk e54fd996bb Allow 'Auto'-mode flags to use the compiler's detected GPU
architectures.
2019-02-24 09:02:57 -05:00
Olexa Bilaniuk 8838cfae73 Solve NVCC -Werror problem.
Partially addresses #4961.
2019-02-24 09:02:57 -05:00
Olexa Bilaniuk e632a81627 Rework CUDA sanity check.
PArtially addresses #4961.

Also make the sanity check do double duty as a GPU architecture
detection test.
2019-02-24 09:02:45 -05:00
Nirbheek Chauhan f4b344f5b0 azure-pipelines: Fix cygwin python3 installation
The package has been moved from python3-pip to python3N-pip where N is
5, 6, 7. We use Python 3.5, so let's use that.
2019-02-23 14:13:57 +05:30
Nicolas Schneider 76db753286 vs: use CustomBuild instead of CustomBuildStep for custom targets
This allows to view the build step in VS and reuses the same concept that
we use for run targets instead of maintaining two different behaviors.
2019-02-21 23:07:18 +02:00
Niclas Zeising f85a71605d Fix get_library_dirs() on FreeBSD
Fix get_library_dirs() on FreeBSD to only return /usr/local/lib,
/usr/lib and /lib as the default location to look for libraries.
FreeBSD does not use lib/${platform} or lib64 by default.  In general,
those directories should not exist, but in case they do, ensure they're
not picked up.
2019-02-20 21:44:40 +02:00
Niclas Zeising 87d64b4632 Fix default_libdir() on FreeBSD
Fix defaul_libdir() on FreeBSD.  The current behaviour of using
usr/lib64 if that exists is wrong on FreeBSD.  The default should be to
always use usr/lib, even if usr/lib64 exists as a folder in the file
system.  Fix this by checking if we're running on FreeBSD and then
always return 'lib' in default_libdir().
2019-02-20 21:44:40 +02:00
Maarten ter Huurne b4ef257593 Clarify in docs the argument types extract_objects() accepts [skip ci] 2019-02-19 22:42:12 -05:00
Raphael Salamon c23ac0b3dc Allow custom targets with same name in project and subprojects
closes #4377
2019-02-19 19:41:57 +02:00