summaryrefslogtreecommitdiff
path: root/mesonbuild/backend/backends.py
Commit message (Collapse)AuthorAgeFilesLines
...
* Set WINEPATH when running serialized executablesNirbheek Chauhan2018-06-051-2/+6
| | | | | | | | | | When the exe runner is `wine` or `wine32` or `wine64`, etc. This allows people to run tests with wine. Note that you also have to set WINEPATH to point to your custom prefix(es) if your tests use external dependencies. Closes https://github.com/mesonbuild/meson/issues/3620
* test extra paths: add extra paths for all build targetsMathieu Duponchelle2018-06-021-2/+2
|
* test serialisation: determine windows extra paths ..Mathieu Duponchelle2018-06-021-0/+2
| | | | | | | .. for executable arguments too. This makes it possible to pass an executable to a test, which can then run it in an appropriate environment.
* backends: Also accept dylibs while finding RPATHsNirbheek Chauhan2018-05-241-1/+3
|
* backends: Simplify loop getting rpaths for bundled libsNirbheek Chauhan2018-05-241-17/+19
| | | | No functionality changes
* backends: Use a set while gathering RPATHsNirbheek Chauhan2018-05-241-8/+4
|
* Can combine D and C++ in a single target. Closes #3125.Jussi Pakkanen2018-05-021-8/+5
|
* Allow custom_target do depend on indexed output of custom_target Niklas Claesson2018-05-011-1/+1
| | | | Fixes: #3494
* Merge pull request #3225 from filbranden/fixperms3Jussi Pakkanen2018-04-261-1/+3
|\ | | | | Introduce install_umask to determine permissions of files in install tree. Default it to 022
| * Add new builtin option --install-umaskFilipe Brandenburger2018-04-181-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This option controls the permissions of installed files (except for those specified explicitly using install_mode option, e.g. in install_data rules.) An install-umask of 022 will install all binaries, directories and executable files with mode rwxr-xr-x, while all data and non-executable files will be installed with mode rw-r--r--. Setting install-umask to the string 'preserve' will disable this feature, keeping the permissions of installed files same as the files in the build tree (or source tree for install_data and install_subdir.) Note that, in this case, the umask used when building and that used when checking out the source tree will leak into the install tree. Keep the default as 'preserve', to show that no behavior is changed and all tests keep passing unchanged. Tested: ./run_tests.py
* | extract_all_objects: Add 'recursive' keyword argumentXavier Claessens2018-04-181-1/+2
| | | | | | | | | | | | | | To maintain backward compatibility we cannot add recursive objects by default. Print a warning when there are recursive objects to be pulled and the argument is not set. After a while we'll do pull recursive objects by default.
* | extract_all_objects(): Recursively extract objectsXavier Claessens2018-04-181-1/+9
| | | | | | | | Fixes #3401
* | Fix using object extracted from a unity buildXavier Claessens2018-04-181-28/+25
|/ | | | | | | | | | | - determine_ext_objs: What matters is if extobj.target is a unity build, not if the target using those objects is a unity build. - determine_ext_objs: Return one object file per compiler, taking into account generated sources. - object_filename_from_source: No need to special-case unity build, it does the same thing in both code paths. - check_unity_compatible: For each compiler we must extract either none or all its sources, taking into account generated sources.
* Merge pull request #3314 from sarum9in/test_dependsJussi Pakkanen2018-04-181-0/+3
|\ | | | | Add test(depends) keyword parameter
| * Add depends keyword to test() functionAleksey Filippov2018-03-251-0/+3
| |
* | Add an OpenMP dependency.Elliott Sales de Andrade2018-04-171-0/+2
| | | | | | | | | | This works similarly to the thread dependency which stores the various inconsistent flags in each compiler.
* | extract_all_objects: Also extract generated sourcesXavier Claessens2018-04-031-1/+11
|/
* Fix b_ndebug=if-release optionAleksey Filippov2018-03-211-3/+22
| | | | Provide get_{type}_options_for_target() methods that unite {type} and builtin options.
* Use target.get_id() instead of basename and type_suffix concatenation at ↵Aleksey Filippov2018-03-151-10/+4
| | | | | | | | | | | | | | | call site Fixes the bug with flat layout and identical target names in subprojects. Without this change directories are not created with subproject prefix and they can collide. Remove dead makedirs code in Backend.__init__(), during initialization of backend build.targets is empty. Create output directories in Vs2010Backend.generate_projects() instead. Also use double blank line in run_unittests.py according to https://www.python.org/dev/peps/pep-0008/#blank-lines.
* Include project name in a test object.Hemmo Nieminen2018-02-251-5/+6
|
* Generate build rpath for pkg-config dependencies consisting of a one ↵Martin Hostettler2018-02-211-1/+1
| | | | absolute path
* Merge pull request #3069 from dcbaker/pch_one_argJussi Pakkanen2018-02-161-10/+4
|\ | | | | Fix targets with C and C++ code that use pre compiled headers
| * backends: Only add pch args that are appropriate for the compilerDylan Baker2018-02-141-10/+4
| | | | | | | | | | | | | | | | | | | | | | | | Currently we try both C and C++ when determining which PCH files to include. The problem with this approach is that if there are no C or C++ files (only headers) and the target has both C and C++ sources then the PCHs will be passed to the wrong compiler. The solution is less code, we already have the compiler, the compiler knows what language it is, so we don't need to walk both C and C++. Fixes #3068
* | Only remove substring if it is part of stringNiklas Claesson2018-02-151-3/+6
|/ | | | Fixes #2661
* Use os.path: basename() and dirname() instead of split()Aleksey Filippov2018-01-301-1/+1
| | | | | | | | | | | | According to Python documentation[1] dirname and basename are defined as follows: os.path.dirname() = os.path.split()[0] os.path.basename() = os.path.split()[1] For the purpose of better readability split() is replaced by appropriate function if only one part of returned tuple is used. [1]: https://docs.python.org/3/library/os.path.html#os.path.split
* Do not extract object for header sourcesXavier Claessens2017-12-161-2/+8
| | | | Closes #2716
* Merge pull request #2745 from dcbaker/submit/haikuJussi Pakkanen2017-12-101-1/+1
|\ | | | | small fixes for haiku
| * haiku: do not add pthread argumentsDylan Baker2017-12-071-1/+1
| | | | | | | | | | Haiku has pthreads, but they are part of the standard C library, and do not need either special compiler or linker flags.
* | Merge pull request #2697 from mesonbuild/custom-target-depends-serializeJussi Pakkanen2017-12-101-12/+18
|\ \ | |/ |/| custom target: Consider all build depends while serializing
| * custom target: Consider all build depends while serializingNirbheek Chauhan2017-12-021-12/+18
| | | | | | | | | | | | | | | | | | | | Currently, we only consider the build depends of the Executable being run when serializing custom targets. However, this is not always sufficient, for example if the executable loads modules at runtime or if the executable is actually a python script that loads a built module. For these cases, we need to set PATH on Windows correctly or the custom target will fail to run at build time complaining about missing DLLs.
* | Fix path for str arguments to depend_filesJoergen Ibsen2017-12-031-2/+2
| | | | | | | | Fixes #2633
* | Merge pull request #2618 from mesonbuild/osxlinkerfixesJussi Pakkanen2017-12-031-0/+2
|\ \ | |/ |/| Fix many things have have been slightly broken in OSX
| * Use absolute paths for rpaths on OSX.Jussi Pakkanen2017-11-261-0/+2
| |
* | spelling: verifierJosh Soref2017-11-261-1/+1
| |
* | spelling: overriddenJosh Soref2017-11-261-2/+2
|/
* Merge pull request #2397 from mesonbuild/prebuiltJussi Pakkanen2017-10-021-0/+24
|\ | | | | Better support for prebuilt shared libs
| * Add rpath entries for all found libraries outside of system libraries.prebuiltJussi Pakkanen2017-10-021-3/+8
| |
| * Fix MSVC builds.Jussi Pakkanen2017-10-011-1/+3
| |
| * Add an rpath entry to shared libraries that are linked from the source tree.Jussi Pakkanen2017-09-301-0/+17
| |
* | backends: avoid extraneous trailing os.path.sep when joining pathsLiam Staskawicz2017-10-011-2/+5
| | | | | | | | resolves #2336
* | Merge pull request #2313 from dcbaker/fix-2180Jussi Pakkanen2017-10-011-0/+6
|\ \ | |/ |/| link_whole should be considered a source for targets
| * vs: Fix link_whole usage with the vs backendNirbheek Chauhan2017-09-301-0/+6
| | | | | | | | | | | | | | /WHOLEARCHIVE must go to AdditionalOptions, not AdditionalDependencies and we must add a project reference to trick msbuild/visual studio into building a target that is built from only libraries linked in via /WHOLEARCHIVE.
* | Allow CustomTarget's to be indexedDylan Baker2017-09-271-1/+1
|/ | | | | | | | | | | This allows a CustomTarget to be indexed, and the resulting indexed value (a CustomTargetIndex type), to be used as a source in other targets. This will confer a dependency on the original target, but only inserts the source file returning by index the original target's outputs. This can allow a CustomTarget that creates both a header and a code file to have it's outputs split, for example. Fixes #1470
* Merge pull request #1943 from QuLogic/duplicate-namesJussi Pakkanen2017-09-121-17/+36
|\ | | | | Fix creation of objects with duplicate names
| * Fix object extraction in unity builds.Elliott Sales de Andrade2017-08-141-12/+9
| |
| * Use full relative paths to generate object names.Elliott Sales de Andrade2017-08-141-5/+27
| | | | | | | | | | | | | | This prevents files with the same name from different directories from producing object files with the same name and breaking ninja. Fixes #1494.
| * Use object_filename_from_source when creating objects.Elliott Sales de Andrade2017-08-141-1/+1
| | | | | | | | | | This will ensure a consistent path between generated object names and names expected of extracted objects.
* | Renamed test serialisation from is_cross to is_cross_built for clarity.Jussi Pakkanen2017-09-121-5/+5
| |
* | An external program is never a "cross test".Jussi Pakkanen2017-09-121-0/+4
| |
* | Make all functionality invokable via the main Meson binary,Jussi Pakkanen2017-08-181-2/+4
|/ | | | which can be a Windows .exe file.