summaryrefslogtreecommitdiff
path: root/mesonbuild/compilers.py
Commit message (Collapse)AuthorAgeFilesLines
...
* | Fix up typo in precompiled headers base option handlingTim-Philipp Müller2016-03-201-1/+1
|/
* Merge branch 'base_options'.Jussi Pakkanen2016-03-201-4/+131
|\
| * Converted precompiled headers into a base option.Jussi Pakkanen2016-03-201-9/+13
| |
| * Converted coverage into a base option.Jussi Pakkanen2016-03-201-2/+15
| |
| * Preserve b_ prefix for base option names.Jussi Pakkanen2016-03-201-1/+1
| |
| * Added base options to Clang compilers.Jussi Pakkanen2016-03-181-4/+25
| |
| * Do not use lundef on OSX.Jussi Pakkanen2016-03-171-4/+12
| |
| * Added new base options and some sample opts for gcc.Jussi Pakkanen2016-03-161-0/+81
| |
* | compilers: While linking, filter out libraries that are bundled with the ↵Nirbheek Chauhan2016-03-191-1/+7
| | | | | | | | MSVC runtime
* | Implement cc.find_library for the Visual Studio C/C++ compilersNirbheek Chauhan2016-03-181-0/+16
| | | | | | | | | | Without this find_library always succeeds because MSVC just ignores -lfoo as an invalid argument
* | Add dir support for find_library and remove deprecated standalone version. ↵Jussi Pakkanen2016-03-171-5/+11
|/ | | | Closes #450.
* Return array by value so it does not get modified.Jussi Pakkanen2016-03-121-2/+2
|
* Added find_library method and deprecated the standalone version. Closes #396.Jussi Pakkanen2016-03-121-0/+13
|
* .ipp is a C++ header suffix.Jussi Pakkanen2016-02-261-2/+2
|
* compilers: MSVC does not understand the -lfoo syntaxNirbheek Chauhan2016-02-211-0/+3
| | | | | | MSVC requires import libraries called foo.lib for linking to foo.dll, so translate -lfoo to that. If foo.lib doesn't exist, linking will fail as expected.
* Do not pass -Weverything to Clang at warning level 3Martin Ejdestig2016-02-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -Weverything is not a good match for behavior of other compilers at warning level 3. Align flags with what Meson passes to GCC instead. The warnings generated are often conflicting with what the user most probably wants. E.g.: * -Wc++98-compat does not make sense when building code that uses -std= to set a later standard. * -Wpadding warns when compiler pads classes and structs for better performance, probably something the user wants. These warnings, and maybe a couple of others, can of course be disabled by Meson with -Wno-* but it is not future proof (other warnings that makes sense to disable by default may be added which means Meson will probably have to pass different flags depending on the Clang version). It is also problematic to compile many system and library headers with -Weverything. For instance: * stdio.h and sigaction.h on Linux makes use of recursive macros (-Wdisabled-macro-expansion). * Many library headers make use of deprecated functionality (-Wdeprecated). * Many library (e.g. GTK+ and Qt) headers trigger Clang's Doxygen warnings (-Wdocumentation-unknown-command and -Wdocumentation). There are a couple of more warnings that need to be disabled when building files that use GTK+ and Qt. GTest is also problematic. Maybe it would make sense to add a higher level, where -Weverything would be passed to Clang, that aligns with the original intent of -Weverything. See http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20121029/067071.html . GCC does not have a similar flag though. I do not know about other compilers (MSVC etc).
* Fix Vala cross compilation. Closes #370.Jussi Pakkanen2016-02-171-0/+1
|
* Filter out UNIX flags from external deps when using the MSVC compilerNirbheek Chauhan2016-02-171-4/+22
| | | | | | This is very useful to prevent compiler noise about invalid cflags; particularly for the -mms-bitfields cflag which most libraries send to the mingw-gcc compiler. More can be added later.
* compilers: /LD is not needed for PIC support in DLLsNirbheek Chauhan2016-02-171-1/+1
| | | | | | | | | On Windows, the advantages of PIC are provided by the runtime DLL loader. /LD is also only valid as an argument to cl.exe, and the linker link.exe just barfs when it sees it. The code assumes that the compiler is the same as the linker which caused this problem to occur.
* compilers: Don't pass /D for debugoptimized build typeNirbheek Chauhan2016-02-171-1/+1
| | | | | /D is the same as -D and stands for define not debug. Passing this would swallow the next argument.
* Use deterministic mode in ar when it is available.Jussi Pakkanen2016-02-121-1/+7
|
* If test exes can not be removed (because e.g. an antivirus program holds on ↵Jussi Pakkanen2016-02-031-1/+7
| | | | to the file), just leave them behind. Closes #378.
* Renamed meson package to mesonbuild so that we can have a script named meson ↵Jussi Pakkanen2016-01-161-0/+1837
in the same toplevel dir.