summaryrefslogtreecommitdiff
path: root/mesonbuild/backend/backends.py
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Properly handle Files used in CustomTarget commands.Elliott Sales de Andrade2016-08-291-1/+1
| | |
* | | Fix CustomTargets used as input to CustomTargets. (#727)Elliott Sales de Andrade2016-08-281-1/+1
|/ /
* | Merge pull request #696 from mesonbuild/depfileJussi Pakkanen2016-08-271-1/+5
|\ \ | | | | | | Add support for dependency files in custom targets.
| * | Add support for dependency files in custom targets.Jussi Pakkanen2016-08-201-1/+5
| |/
* | Flatten isinstance calls. (#715)Elliott Sales de Andrade2016-08-271-2/+1
| | | | | | | | That is, isinstance(x, y) or isinstance(x, z) can be flattened with a tuple to isinstance(x, (y, z)).
* | Allow capturing command output of a custom target.Elliott Sales de Andrade2016-08-261-3/+5
| | | | | | | | | | | | For commands that always output to stdout and don't have a "-o" or "--output" or some other similar option, this 'capture' setting allows the build to capture the result and place it in the output file.
* | Accept string exe with Backend.serialise_executable.Elliott Sales de Andrade2016-08-261-4/+10
| | | | | | | | | | | | Normally, this accepts a build.Executable, but it accept build.BuildTarget and build.CustomTarget as well. Now it will also accept a string path.
* | Implement D supportMatthias Klumpp2016-08-191-1/+8
|/ | | | | | | | | | | This patch adds support for the D programming language[1] to Meson. The following compilers are supported: * LDC * GDC * DMD [1]: http://dlang.org/
* ninja: Add escaping for backslash in -D argumentsNirbheek Chauhan2016-07-291-1/+28
| | | | | This is only needed for defines. Other arguments such as -I and /Fa that also take arguments with spaces and backslashes don't need it at all.
* Merge pull request #417 from nirbheek/dll-pathsJussi Pakkanen2016-07-131-4/+16
|\ | | | | Fix filenames and paths used in DLL shared library generation
| * CustomTarget: Use mesonlib.File objects as-is in the command to be runNirbheek Chauhan2016-07-011-0/+4
| | | | | | | | | | | | This allows us to output either the relative or absolute path as requested. Fixes usage of configure_file inside CustomTarget commands with the VS backends.
| * backend: Raise a RuntimeError if an unknown object is added to the command listNirbheek Chauhan2016-07-011-1/+5
| | | | | | | | This allows us to catch these errors early and print a useful message
| * Overhaul versioning and naming of librariesNirbheek Chauhan2016-07-011-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Gcc versions older than 4.9 do not support color output.Jussi Pakkanen2016-07-011-3/+4
| |
* | Changed run_target to take command as kwarg and add depends. This makes it ↵Jussi Pakkanen2016-06-241-0/+4
|/ | | | behave the same as custom_target.
* Octopus merged cross fixes and genetor custom because why not.Jussi Pakkanen2016-06-161-5/+7
|\
| * Can use generator outputs in custom targets. Closes #587.Jussi Pakkanen2016-06-131-5/+7
| |
* | determine_linker(): choose static cross linker for cross compilingNoam Meltzer2016-06-161-1/+4
|/ | | | | somewhere after 0.29.0 a bug was introduced where the LINK_ARGS of the native static linker were used instead of the cross static linker
* vs: fix generators that use indexed output replacements (like @OUTPUT0@)Nicolas Schneider2016-05-261-0/+13
|
* Merge pull request #542 from mesonbuild/ownstdlibJussi Pakkanen2016-05-251-0/+1
|\ | | | | 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/+1
| | | | | | | | said language.
* | Merge pull request #516 from ↵Jussi Pakkanen2016-05-011-3/+6
|\ \ | | | | | | | | | | | | centricular/cross-compile_32bit-x86_on_64bit-x86_exe-wrapper Special-case the 32-bit executable on 64-bit x86 case while cross-compiling
| * | Don't require an exe_wrapper when cross-compiling 32-bit on 64-bitNirbheek Chauhan2016-04-151-3/+6
| |/ | | | | | | | | Almost all 64-bit x86 OSes can run 32-bit x86 binaries natively. Detect that case and don't require an exe wrapper.
* | Merge branch 'centricular-customtarget-path-windows'Jussi Pakkanen2016-05-011-0/+42
|\ \
| * | backends: Don't duplicate test setup data file nameNirbheek Chauhan2016-04-151-0/+1
| | | | | | | | | | | | | | | | | | Instead, return the values of the test and benchmark setup data files so that the ninja/osx/vs backends can use those filenames instead of hard-coding them.
| * | ninja: Set PATH for CustomTargets with built EXEs on WindowsNirbheek Chauhan2016-04-151-0/+41
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a CustomTarget is run with a command that is an executable built by the project which also has a DLL built in the same project as a dependency, the EXE can't run on Windows because the DLL can't be found. On UNIX-like systems, we set the RPATH using the linker so these dependencies can be found, but on Windows the only way is to set the PATH environment variable. The same problem exists for tests, so we reuse that infrastructure by creating a new meson_exe.py script that can be used as a wrapper to run CustomTarget commands on Windows. This can later also be extended to add support for setting an environment while calling the command needed to generate a CustomTarget: https://github.com/mesonbuild/meson/issues/266
* | vs2010: add generated libs as link dependenciesNicolas Schneider2016-04-191-0/+10
|/
* Merge pull request #438 from trhd/testing_optionsJussi Pakkanen2016-04-061-1/+1
|\ | | | | New options for controlling test output.
| * Move MesonException from coredata to mesonlib.Hemmo Nieminen2016-04-011-1/+1
| |
* | Removed lingering coverage flags.Jussi Pakkanen2016-04-041-2/+0
|/
* Invoke depfixer in-process to make it faster. Closes #480.Jussi Pakkanen2016-03-301-2/+1
|
* Merge branch 'vs-extraargs'Jussi Pakkanen2016-03-291-0/+9
|\
| * vs2010: support EXTRA_ARGS for generatorsNicolas Schneider2016-03-291-0/+9
| |
* | vs2010: fix object extraction with same source file nameNicolas Schneider2016-03-251-15/+8
|/ | | | | This also refactors determine_ext_objs() to use inheritance instead of a method flag for determining the object output name.
* Merge branch 'base_options'.Jussi Pakkanen2016-03-201-3/+6
|\
| * Converted coverage into a base option.Jussi Pakkanen2016-03-201-1/+1
| |
| * Works when mixing Java and C.Jussi Pakkanen2016-03-171-2/+5
| |
* | Merge branch 'Custom target absolute paths'.Jussi Pakkanen2016-03-201-1/+5
|\ \
| * | fix eval_custom_target_command() to use absolute paths for output filesNicolas Schneider2016-03-151-1/+5
| |/
* | vs2010: fix object extractionNicolas Schneider2016-03-171-4/+9
|/ | | | | | | | | 1. Dependencies must be set up with the target's id instead of its basename. 2. Extracted object output file names must not include the directory prefix, because MSBuild puts all object files into the same directory and names them srcfilename.obj instead of dir/filename.obj or dir_filename.obj.
* pass meson source and build dirs as env variables for postconf scriptsNicolas Schneider2016-03-031-2/+8
|
* add args support for add_postconf_scriptNicolas Schneider2016-03-011-1/+1
|
* Can add postconfigure script.Nicolas Schneider2016-03-011-0/+6
|
* Handle built targets in custom rules. Closes #411.Jussi Pakkanen2016-02-291-0/+4
|
* Create directories of unity temporary filesMinijackson2016-02-241-0/+3
|
* Pass warning arguments to compiler even if buildtype is plainMartin Ejdestig2016-02-221-2/+1
| | | | | | | | | | | Noticed when trying to pass custom optimization flags, and hence setting buildtype to plain, that warnings for different levels were not passed to compiler. This was a bit confusing since mesonconf still displayed "warning_level=3" and -Werror was passed correctly due to "werror=true". So this change aligns warning_level behavior with werror. That is, heed what is in project() in meson.build but user can still override if necessary.
* Merge pull request #398 from nirbheek/target-link-implibJussi Pakkanen2016-02-211-5/+9
|\ | | | | Re-introduce patch to fix linking with MSVC by linking with import library.
| * Explicitly use the import library while generating link args for a targetNirbheek Chauhan2016-02-201-5/+9
| |
* | Reverted implib patch as it broke mingw completely.Jussi Pakkanen2016-02-171-9/+5
| |
* | Filter out UNIX flags from external deps when using the MSVC compilerNirbheek Chauhan2016-02-171-1/+3
| | | | | | | | | | | | 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.