summaryrefslogtreecommitdiff
path: root/mesonbuild/environment.py
Commit message (Collapse)AuthorAgeFilesLines
* Flatten isinstance calls. (#715)Elliott Sales de Andrade2016-08-271-1/+1
| | | | That is, isinstance(x, y) or isinstance(x, z) can be flattened with a tuple to isinstance(x, (y, z)).
* Simplify D compiler argument translationMatthias Klumpp2016-08-211-1/+0
|
* Implement D supportMatthias Klumpp2016-08-191-2/+47
| | | | | | | | | | | This patch adds support for the D programming language[1] to Meson. The following compilers are supported: * LDC * GDC * DMD [1]: http://dlang.org/
* Only append compile flags to the link flags when appropriateNirbheek Chauhan2016-08-121-3/+9
| | | | | We should only append the compiler flags to the link flags when the compiler is used as a wrapper around the linker during the link process
* Print the CFLAGS/LDFLAGS/etc inherited from the environmentNirbheek Chauhan2016-08-111-24/+37
| | | | | People can forget it and then wonder what's wrong. Just explicitly print it.
* Merge pull request #660 from mesonbuild/libdirfixJussi Pakkanen2016-07-301-8/+10
|\ | | | | Fix library directory handling
| * Determine lib paths on demand rather than up front because they might change ↵Jussi Pakkanen2016-07-301-8/+10
| | | | | | | | during build file parsing.
* | vs: Fix regen_checker by using the correct coredata mtimeNirbheek Chauhan2016-07-291-1/+2
|/ | | | | | | | After c01b183e5, the mtime of coredata.dat is always newer than all the other build files, which made regen_checker think that they always had to be regenerated. Now we set the mtime of the file to a value before the build files are generated and that makes everything behave as it did earlier.
* Properties is no longer mandatory in cross files so do not require it.Jussi Pakkanen2016-07-201-3/+1
|
* Normalize the path of a configured file to avoid dupes (#640)Nirbheek Chauhan2016-07-191-3/+5
|
* vs: Fix Meson invocation while doing regen (#646)Nirbheek Chauhan2016-07-191-0/+1
| | | | | | | | | | | | | | | | | | | | The Meson script is not always in $scriptdir/../../ -- for instance if installed with pip on Windows, the scriptdir is in: C:/Python35/Lib/site-packages/meson-0.33.0.dev1-py3.5.egg/mesonbuild/scripts and the meson.py script is in: C:/Python35/Scripts So, let's save the path available as Environment().meson_script_file into the coredata.dat private file and use that to invoke Meson when doing regen. Also, let's fetch the backend that was used from the coredata too instead of hard-coding vs2010. Both these were causing a hard failure while doing regen with msbuild or visual studio.
* Merge pull request #417 from nirbheek/dll-pathsJussi Pakkanen2016-07-131-44/+43
|\ | | | | Fix filenames and paths used in DLL shared library generation
| * Overhaul versioning and naming of librariesNirbheek Chauhan2016-07-011-44/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit contains several changes to the naming and versioning of shared and static libraries. The details are documented at: https://github.com/mesonbuild/meson/pull/417 Here's a brief summary: * The results of binary and compiler detection via environment functions are now cached so that they can be called repeatedly without performance penalty. This is necessary because every build.SharedLibrary object has to know whether the compiler is MSVC or not (output filenames depend on that), and so the compiler detection has to be called for each object instantiation. * Linux shared libraries don't always have a library version. Sometimes only soversions are specified (and vice-versa), so support both. * Don't use versioned filenames when generating DLLs, DLLs are never versioned using the suffix in the way that .so libraries are. Hence, they don't use "aliases". Only Linux shared libraries use those. * OS X dylibs do not use filename aliases at all. They only use the soversion in the dylib name (libfoo.X.dylib), and that's it. If there's no soversion specified, the dylib is called libfoo.dylib. Further versioning in dylibs is supposed to be done with the -current_version argument to clang, but this is TBD. https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/DynamicLibraryDesignGuidelines.html#//apple_ref/doc/uid/TP40002013-SW23 * Install DLLs into bindir and import libraries into libdir * Static libraries are now always called libfoo.a, even with MSVC * .lib import libraries are always generated when building with MSVC * .dll.a import libraries are always generated when building with MinGW/GCC or MinGW/clang * TODO: Use dlltool if available to generate .dll.a when .lib is generated and vice-versa. * Library and executable suffix/prefixes are now always correctly overriden by the values of the 'name_prefix' and 'name_suffix' keyword arguments.
* | Can get arbitrary data from cross file properties.Jussi Pakkanen2016-07-021-0/+3
|/
* be more resilient for identifying gcc compilersNoam Meltzer2016-06-161-1/+1
|
* Set Gnu fortran type based on platform.Jussi Pakkanen2016-05-301-1/+7
|
* Merge pull request #542 from mesonbuild/ownstdlibJussi Pakkanen2016-05-251-0/+6
|\ | | | | Build transparently with a custom standard library
| * Can specify a stdlib subproject that is used implicitly on all targets with ↵Jussi Pakkanen2016-05-211-0/+6
| | | | | | | | said language.
* | Merge pull request #516 from ↵Jussi Pakkanen2016-05-011-6/+57
|\ \ | | | | | | | | | | | | centricular/cross-compile_32bit-x86_on_64bit-x86_exe-wrapper Special-case the 32-bit executable on 64-bit x86 case while cross-compiling
| * | Separate out cpu_method to environment.py and add amd64 quirkNirbheek Chauhan2016-04-151-0/+7
| | |
| * | Don't require an exe_wrapper when cross-compiling 32-bit on 64-bitNirbheek Chauhan2016-04-151-6/+50
| | | | | | | | | | | | | | | Almost all 64-bit x86 OSes can run 32-bit x86 binaries natively. Detect that case and don't require an exe wrapper.
* | | Use module path when looking for meson scripts dirMinijackson2016-04-281-1/+2
| |/ |/|
* | On failure, print exceptions encountered while searching for compilers (#515)Nirbheek Chauhan2016-04-141-9/+29
|/
* Merge pull request #438 from trhd/testing_optionsJussi Pakkanen2016-04-061-4/+4
|\ | | | | New options for controlling test output.
| * Move MesonException from coredata to mesonlib.Hemmo Nieminen2016-04-011-4/+4
| |
* | Revert "Fix Windows. Again."Nicolas Schneider2016-04-051-1/+0
| | | | | | | | This reverts commit e522a9f2684e38955aefda3b4413a78997ccdbc9.
* | Merge pull request #496 from mesonbuild/partestJussi Pakkanen2016-04-041-0/+1
|\ \ | | | | | | Run tests in parallel
| * | Fix Windows. Again.Jussi Pakkanen2016-04-011-0/+1
| |/
* | Whitespace fixing.Jussi Pakkanen2016-04-031-13/+13
| |
* | Put buildtype flags to vala compiles.Jussi Pakkanen2016-04-031-4/+4
| |
* | If should be elif.Jussi Pakkanen2016-04-021-1/+1
|/
* Merge branch 'base_options'.Jussi Pakkanen2016-03-201-4/+12
|\
| * Added base options to Clang compilers.Jussi Pakkanen2016-03-181-4/+12
| |
* | New builtin option: libexecdir for installation of helper executablesNirbheek Chauhan2016-03-171-0/+3
|/
* dump coredata to file before calling backend.generate()Nicolas Schneider2016-02-251-1/+1
| | | | | | This ensures that all build files always have a later timestamp than coredata.dat, which is used to check if the build files must be regenerated.
* Do delayed argument setting properly this time.Jussi Pakkanen2016-02-221-1/+14
|
* environment: When using MinGW-GCC, the import lib suffix is dllNirbheek Chauhan2016-02-201-2/+7
|
* Renamed meson package to mesonbuild so that we can have a script named meson ↵Jussi Pakkanen2016-01-161-0/+673
in the same toplevel dir.