Commit Graph

31 Commits

Author SHA1 Message Date
Matthias Klumpp 6cd3f066b4 d: Implement specific properties for D features 2017-09-12 17:32:03 +02:00
Matthias Klumpp d83c289442 d: Add easy way to use D-specific features
Of course D compilers have different flags to set some important
D-specific settings. This adds a simple method to change these flags in
a compiler-agnostic way in Meson.

This replaces the previous `unittest_args` method with a more generic
variant.
2017-09-12 17:32:03 +02:00
Daniel Stone e1ffae0580 Add Compiler.get_supported_arguments()
Add a helper for the common pattern of:
  args_to_use = []
  foreach arg : candidate_args
    if cc.has_argument(arg)
      args_to_use += arg
    endif
  endforeach

Replaced with:
  args_to_use = cc.get_supported_arguments(candidate_args)
2017-08-31 20:24:20 +01:00
Peter Harris ee34f454ca Fix detection of clang "optimization arguments"
In version 3.6.0, clang added -Wignored-optimization-argument. Without
setting this flag to -Werror, "ignored optimization arguments" such as
(for example) -fpeel-loops, are accepted but warned about, leading to
noisy builds if meson thinks the flag is supported.

See also #755
2017-08-18 12:11:20 +03:00
Nirbheek Chauhan 5764a26a4c gfortran: Add coverage arguments 2017-08-15 01:38:01 +05:30
Gabríel Arthúr Pétursson 0ad448f890 Pass -fpch-preprocess to GCC when precompiled headers are used
CCache requires this flag when building with precompiled headers.
Without it, the preprocessor fails and CCache fallbacks to running the
real compiler.

Users still need to set 'sloppiness' to 'pch_defines,time_macros' in
their ccache.conf file for CCache to cache builds that use precompiled
headers. See the CCache manual for more info:

	https://ccache.samba.org/manual.html#_precompiled_headers
2017-08-13 21:24:28 +03:00
Elliott Sales de Andrade 17b051c8b1 Add info on module include flag for Fortran compilers. 2017-08-04 20:07:08 -04:00
Jussi Pakkanen d335a84b9e A few more lgtm fixes. 2017-08-04 12:54:31 +03:00
Jussi Pakkanen 0ab9f23061 Add thread flags to checks if needed. Closes #2106. 2017-08-01 19:09:07 -04:00
Ben 0ed0bcce49 Vala: enable colored warning and error output (#2142) 2017-08-01 06:22:17 -04:00
Nirbheek Chauhan de2d59cc27 find_library: Ignore libs on MSVC properly
In addition to filtering libs out while generating the command-line, we
must also filter them out in find_library() otherwise these libs will be
detected as "found" on Windows with MSVC.

Closes https://github.com/mesonbuild/meson/issues/1509
2017-07-23 02:12:00 +03:00
Nirbheek Chauhan b3d048e93a CompilerArgs: Put start/end-group around shared libs too
Closes https://github.com/mesonbuild/meson/issues/2096
2017-07-23 02:07:04 +03:00
Jussi Pakkanen bff37a90fc Merged buildrpath branch. 2017-07-21 22:19:07 +03:00
Alessandro Decina a9559e0d77 Fix linking Objective-C shared libs on OSX.
This commit amends 04a2e6de making
linker.get_std_shared_lib_link_args() always return -shared for
SharedLibrary(es) instead of -bundle. SharedModule(s) get linked with
linker.get_std_shared_module_link_args() which already correctly returns
-bundle.

Before this change -bundle and -install_name ended up being emitted
for Objective-C shared libraries, which caused a linking error.
2017-07-21 20:36:50 +03:00
Jussi Pakkanen 2269b7f60b Add build_rpath as new property allowing people to specify rpath entries that are used in the build tree but will be removed on install. 2017-07-21 19:40:54 +03:00
Jussi Pakkanen ce77fb89b9 Renamed test case number to avoid dupes. 2017-07-17 19:53:00 +03:00
Jussi Pakkanen 181510bd6e Fix checks on MinGW and VS2010. 2017-07-17 19:19:24 +03:00
Jussi Pakkanen 8396c4f3e6 Added VS support to simd detector. 2017-07-17 19:15:04 +03:00
Jussi Pakkanen 16ec3f0e19 Fix a few OSX "features". 2017-07-17 19:09:04 +03:00
Jussi Pakkanen d304aac504 Created simd module. 2017-07-17 19:06:16 +03:00
Chocobo1 24c2e4d3ac Fix typo
profile guide optimization -> profile guided optimization
2017-07-16 11:54:03 +02:00
Hemmo Nieminen 09a5399d09 Fix how rpath directories are handled.
Linking a library from a directory below the executable's directory caused
an invalid path to be written in the executable's RPATH.
2017-07-15 13:44:07 +02:00
Gabríel Arthúr Pétursson 39c7b0492c Allow both address- and undefined behavior sanitizers at the same time 2017-07-15 09:59:09 +02:00
Hemmo Nieminen ea79e94964 Fix a missing path issue causing Python traceback.
A path was missing from a call to os.path.relpath when handling rpaths.
Fix this by assuming empty target directory means build root.
2017-06-29 13:16:38 +03:00
Jussi Pakkanen dfb0414d9c Merged Genie support. 2017-06-27 19:01:00 +03:00
Guillaume Poirier-Morency bbddf51a54 Use 'C sharp' instead of 'C#'
The '#' is reserved for Ninja comments and cannot be escaped.
2017-06-26 20:03:52 -04:00
Guillaume Poirier-Morency 5b58ff2783 compilers: Use 'get_display_language' for language-related exceptions 2017-06-26 20:03:52 -04:00
Guillaume Poirier-Morency fab5634916 Add 'Compiler.get_display_language'
Use this when we print language-related information to the console and
via the Ninja backend.
2017-06-26 14:15:44 -04:00
Alistair Thomas cca0fa8154 Recognise .gs extension as a Vala source 2017-06-26 13:57:52 +01:00
Alistair Thomas 117f4ab8b5 Split out languages from compilers.py 2017-06-23 00:42:41 +01:00
Alistair Thomas d71da5bdb3 Converted compilers.py to a sub-package 2017-06-22 20:12:42 +01:00