aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/backends.py
AgeCommit message (Collapse)AuthorFilesLines
2018-06-07backends: Don't exclude system libraries for PATHNirbheek Chauhan1-3/+3
We reuse the same function for generating PATH, and we don't want to exclude system paths there for obvious reasons.
2018-06-07backends: Don't hardcode system library pathsNirbheek Chauhan1-5/+12
Lookup the library paths using the available compilers instead. This makes the code work on non-Linux platforms too.
2018-06-06Fix issues found by flake8Xavier Claessens1-1/+1
2018-06-06Move <lang>_args to coredata.compiler_optionsXavier Claessens1-1/+1
2018-06-05Add prog/lib dirs from the mingw cross-compiler to PATHNirbheek Chauhan1-7/+12
These directories contain DLLs that the executable may need, such as libstdc++-6.dll, libwinpthread, etc.
2018-06-05Automatically add cross-mingw root and sysroot bindir to WINEPATHNirbheek Chauhan1-10/+23
This ensures that all the system DLLs required by executables such as libstdc++-6.dll can be found out of the box and tests can run
2018-06-05Set WINEPATH when running serialized executablesNirbheek Chauhan1-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
2018-06-02test extra paths: add extra paths for all build targetsMathieu Duponchelle1-2/+2
2018-06-02test serialisation: determine windows extra paths ..Mathieu Duponchelle1-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.
2018-05-24backends: Also accept dylibs while finding RPATHsNirbheek Chauhan1-1/+3
2018-05-24backends: Simplify loop getting rpaths for bundled libsNirbheek Chauhan1-17/+19
No functionality changes
2018-05-24backends: Use a set while gathering RPATHsNirbheek Chauhan1-8/+4
2018-05-02Can combine D and C++ in a single target. Closes #3125.Jussi Pakkanen1-8/+5
2018-05-01 Allow custom_target do depend on indexed output of custom_target Niklas Claesson1-1/+1
Fixes: #3494
2018-04-26Merge pull request #3225 from filbranden/fixperms3Jussi Pakkanen1-1/+3
Introduce install_umask to determine permissions of files in install tree. Default it to 022
2018-04-18extract_all_objects: Add 'recursive' keyword argumentXavier Claessens1-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.
2018-04-18extract_all_objects(): Recursively extract objectsXavier Claessens1-1/+9
Fixes #3401
2018-04-18Fix using object extracted from a unity buildXavier Claessens1-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.
2018-04-18Add new builtin option --install-umaskFilipe Brandenburger1-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
2018-04-18Merge pull request #3314 from sarum9in/test_dependsJussi Pakkanen1-0/+3
Add test(depends) keyword parameter
2018-04-17Add an OpenMP dependency.Elliott Sales de Andrade1-0/+2
This works similarly to the thread dependency which stores the various inconsistent flags in each compiler.
2018-04-03extract_all_objects: Also extract generated sourcesXavier Claessens1-1/+11
2018-03-25Add depends keyword to test() functionAleksey Filippov1-0/+3
2018-03-21Fix b_ndebug=if-release optionAleksey Filippov1-3/+22
Provide get_{type}_options_for_target() methods that unite {type} and builtin options.
2018-03-15Use target.get_id() instead of basename and type_suffix concatenation at ↵Aleksey Filippov1-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.
2018-02-25Include project name in a test object.Hemmo Nieminen1-5/+6
2018-02-21Generate build rpath for pkg-config dependencies consisting of a one ↵Martin Hostettler1-1/+1
absolute path
2018-02-16Merge pull request #3069 from dcbaker/pch_one_argJussi Pakkanen1-10/+4
Fix targets with C and C++ code that use pre compiled headers
2018-02-15Only remove substring if it is part of stringNiklas Claesson1-3/+6
Fixes #2661
2018-02-14backends: Only add pch args that are appropriate for the compilerDylan Baker1-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
2018-01-30Use os.path: basename() and dirname() instead of split()Aleksey Filippov1-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
2017-12-16Do not extract object for header sourcesXavier Claessens1-2/+8
Closes #2716
2017-12-10Merge pull request #2745 from dcbaker/submit/haikuJussi Pakkanen1-1/+1
small fixes for haiku
2017-12-10Merge pull request #2697 from mesonbuild/custom-target-depends-serializeJussi Pakkanen1-12/+18
custom target: Consider all build depends while serializing
2017-12-07haiku: do not add pthread argumentsDylan Baker1-1/+1
Haiku has pthreads, but they are part of the standard C library, and do not need either special compiler or linker flags.
2017-12-03Fix path for str arguments to depend_filesJoergen Ibsen1-2/+2
Fixes #2633
2017-12-03Merge pull request #2618 from mesonbuild/osxlinkerfixesJussi Pakkanen1-0/+2
Fix many things have have been slightly broken in OSX
2017-12-02custom target: Consider all build depends while serializingNirbheek Chauhan1-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.
2017-11-26spelling: verifierJosh Soref1-1/+1
2017-11-26Use absolute paths for rpaths on OSX.Jussi Pakkanen1-0/+2
2017-11-26spelling: overriddenJosh Soref1-2/+2
2017-10-02Merge pull request #2397 from mesonbuild/prebuiltJussi Pakkanen1-0/+24
Better support for prebuilt shared libs
2017-10-02Add rpath entries for all found libraries outside of system libraries.Jussi Pakkanen1-3/+8
2017-10-01backends: avoid extraneous trailing os.path.sep when joining pathsLiam Staskawicz1-2/+5
resolves #2336
2017-10-01Merge pull request #2313 from dcbaker/fix-2180Jussi Pakkanen1-0/+6
link_whole should be considered a source for targets
2017-10-01Fix MSVC builds.Jussi Pakkanen1-1/+3
2017-09-30Add an rpath entry to shared libraries that are linked from the source tree.Jussi Pakkanen1-0/+17
2017-09-30vs: Fix link_whole usage with the vs backendNirbheek Chauhan1-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.
2017-09-27Allow CustomTarget's to be indexedDylan Baker1-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
2017-09-12Merge pull request #1943 from QuLogic/duplicate-namesJussi Pakkanen1-17/+36
Fix creation of objects with duplicate names