aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
AgeCommit message (Collapse)AuthorFilesLines
2017-05-04Store extra_files as file objects. Helps with #1686.Jussi Pakkanen3-5/+9
2017-05-03Merge pull request #1717 from valum-framework/fix-descriptions-for-ninja-backendJussi Pakkanen1-14/+15
ninjabackend: Use more consistent descriptions
2017-05-03Merge pull request #1587 from mesonbuild/tingping/msgfmt-datadirJussi Pakkanen3-3/+54
i18n: Improve data_dirs support
2017-05-03Kill RawFile dead!Jussi Pakkanen2-44/+32
2017-05-02ninjabackend: Don't pluralize twice custom target cleaning descriptionElliott Sales de Andrade1-1/+1
2017-05-02ninjabackend: Fix implicit comment for 'C#' rule descriptionGuillaume Poirier-Morency1-1/+1
2017-05-02ninjabackend: Add a set of raw namesGuillaume Poirier-Morency1-3/+4
2017-05-02Expand input paths so they do not contain symlinks.Jussi Pakkanen1-2/+2
2017-05-02Don't use len() to test emptiness vs not emptinessDylan Baker14-48/+46
Meson has a common pattern of using 'if len(foo) == 0:' or 'if len(foo) != 0:', however, this is a common anti-pattern in python. Instead tests for emptiness/non-emptiness should be done with a simple 'if foo:' or 'if not foo:' Consider the following: >>> import timeit >>> timeit.timeit('if len([]) == 0: pass') 0.10730923599840025 >>> timeit.timeit('if not []: pass') 0.030033907998586074 >>> timeit.timeit('if len(['a', 'b', 'c', 'd']) == 0: pass') 0.1154778649979562 >>> timeit.timeit("if not ['a', 'b', 'c', 'd']: pass") 0.08259823200205574 >>> timeit.timeit('if len("") == 0: pass') 0.089759664999292 >>> timeit.timeit('if not "": pass') 0.02340641999762738 >>> timeit.timeit('if len("foo") == 0: pass') 0.08848102600313723 >>> timeit.timeit('if not "foo": pass') 0.04032287199879647 And for the one additional case of 'if len(foo.strip()) == 0', which can be replaced with 'if not foo.isspace()' >>> timeit.timeit('if len(" ".strip()) == 0: pass') 0.15294511600222904 >>> timeit.timeit('if " ".isspace(): pass') 0.09413968399894657 >>> timeit.timeit('if len(" abc".strip()) == 0: pass') 0.2023209120015963 >>> timeit.timeit('if " abc".isspace(): pass') 0.09571301700270851 In other words, it's always a win to not use len(), when you don't actually want to check the length.
2017-05-02ninjabackend: Fix typography for JAR and C# in descriptionsGuillaume Poirier-Morency1-2/+2
2017-05-02ninjabackend: Use 'custom targets' instead of 'CustomTarget' in descriptionGuillaume Poirier-Morency1-1/+1
The build definition is basically cleaning all the directories of all custom targets.
2017-05-02ninjabackend: Don't quote descriptionsGuillaume Poirier-Morency1-1/+1
2017-05-02ninjabackend: Use more consistent descriptionsGuillaume Poirier-Morency1-9/+9
Use a titlecase for arbitrary language, this was we don't have 'C' in lowercase. Rename 'Static linking library $out' for 'Linking static target $out.'. Add missing punctuation.
2017-05-01More strict eval.Jussi Pakkanen1-1/+1
2017-04-29Try to be locale-independent when we match VS outputPaolo Borelli1-3/+8
Different locales have a different number of ':' in the string we want to match. Closes #1639.
2017-04-29dependencies: qt: qmake method: prefer QT_HOST_BINS over QT_INSTALL_BINSWade Berrier1-2/+10
When cross compiling and looking for moc/uic/rcc you really want the host binary. Still fall back to QT_INSTALL_BINS as it appears that's the only variable available with qt4.
2017-04-29i18n: Fix handling relative data_dirsPatrick Griffis1-2/+8
2017-04-29i18n: Add data_dirs kwarg to merge_file()Patrick Griffis3-2/+47
For parity with gettext() Fixes #1565
2017-04-28Don't use dict.keys() to check membershipDylan Baker2-2/+2
It's much faster to do 'if a in dict' instead of 'if a in dict.keys()', since the latter constructs an iterator and walks that iterator and then tests equality at each step, and the former does a single hash lookup.
2017-04-28Detect intel fortran compilerThomas Hindoe Paaboel Andersen1-1/+1
The intel fortran compiler "ifort" was not listed in the list of default fortran compilers. This caused it to not be found unless explicitly set via the FC.
2017-04-28Bumped version number for new development.Jussi Pakkanen1-1/+1
2017-04-28Updated version numbers for point release.0.40.1Jussi Pakkanen1-1/+1
2017-04-28Replace cmd line arguments on install scripts. Closes #1681.Jussi Pakkanen1-1/+13
2017-04-28Implement an actual set interface for the OrderedSet class. Closes #1670Dylan Baker1-8/+28
This uses the ABC's in collections to implement an OrderedSet class. Internally an OrderedDict is still wrapped so that the ordering is maintained, this adds the full interface and behavior of an Set, but with ordering by first insertion.
2017-04-27Merge pull request #1683 from ernestask/submodulesJussi Pakkanen1-5/+6
wrap: submodule fixes
2017-04-27Always pass cross-file {lang}_args to compiler checksNirbheek Chauhan1-16/+15
Includes a test for this that will only run on the CI. Closes https://github.com/mesonbuild/meson/issues/1665
2017-04-27Bump version number for new development.Jussi Pakkanen1-1/+1
2017-04-25wrap: pass -C to git when resolving submodulesErnestas Kulik1-5/+6
Using Meson from outside a git repo results in an error when trying to resolve submodule subprojects. Running git from inside subproject root should be enough to fix it. Partially fixes #1679 Signed-off-by: Ernestas Kulik <ernestas.kulik@gmail.com>
2017-04-25wrap: initialize submodules when updatingErnestas Kulik1-1/+1
After an initial checkout, submodules aren’t initialized and thus trying to update them fails. Partially fixes #1679 Signed-off-by: Ernestas Kulik <ernestas.kulik@gmail.com>
2017-04-23Update version number for release.0.40.0Jussi Pakkanen1-1/+1
2017-04-23Unset compiler envvars in unit tests.Jussi Pakkanen1-9/+10
2017-04-22vala: Add 'VALAFLAGS' to considered environment variablesGuillaume Poirier-Morency2-6/+13
Fix precedence of arguments for Vala tasks and include those considered external (i.e. '-Dvala_args' and 'VALAFLAGS').
2017-04-22Merge pull request #1654 from dcbaker/c-cpp-linkJussi Pakkanen3-17/+51
Add a testcase for linking C and C++ static archives into a shared li…
2017-04-22Merge pull request #1649 from centricular/static-ltoJussi Pakkanen2-26/+43
Fix LTO + static libraries on GCC and Clang
2017-04-22configure_file: Accept output of configure_file as inputNirbheek Chauhan1-1/+3
2017-04-21Use linked-libraries to decide what linker to useNirbheek Chauhan1-2/+35
Sometimes you want to link to a C++ library that exports C API, which means the linker must link in the C++ stdlib, and we must use a C++ compiler for linking. The same is also applicable for objc/objc++ etc, so we can keep using clike_langs for the priority order. Closes https://github.com/mesonbuild/meson/issues/1653
2017-04-21Expose the implementation language for external librariesNirbheek Chauhan2-14/+13
Ideally, all dependency objects should support this, but it's a lot of work and isn't supported by all dependency types (like frameworks and pkg-config), so for now just enable it for external libraries.
2017-04-21ninja: Don't use @file.rsp with ArLinker on WindowsNirbheek Chauhan1-1/+5
We can't use @file.rsp on Windows with ArLinker because llvm-ar and gcc-ar blindly pass the --plugin argument to `ar` and you cannot pass options as arguments while using the @file.rsp syntax. [5/7] cc @mylib@sta/libfile4.c.obj.rsp [6/7] gcc-ar @libmylib.a.rsp FAILED: libmylib.a gcc-ar @libmylib.a.rsp C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/bin/ar.exe: invalid option -- @ https://github.com/mesonbuild/meson/pull/1649 https://ci.appveyor.com/project/jpakkane/meson/build/1.0.2330/job/w3hj9jfdasefsqi9
2017-04-21Use gcc-ar/llvm-ar as the static linker if availableNirbheek Chauhan1-25/+38
Closes https://github.com/mesonbuild/meson/issues/1646
2017-04-21Stricter evaluation of deps. Closes #1648.Jussi Pakkanen1-6/+10
2017-04-21Added missing argument to a few function calls. Closes #1647.Jussi Pakkanen1-8/+11
2017-04-20Don't fail include_directories if the dir is only in the build pathMatthias Klumpp1-3/+7
2017-04-19Print a warning on duplicated keywords.Jussi Pakkanen1-0/+3
2017-04-19Drop terminating fullstop from "Installing blah to blah" messagesPeter Hutterer3-7/+7
Grammatically, this full stop isn't needed and with file names it has a potential to be confusing: Installing /foo/bar/filename.1 to /foo/bar/dirname. The full stop caused me to do a double-take more than once, so let's drop it.
2017-04-17Do not obliterate old rpath because it might be used due to read only data ↵Jussi Pakkanen1-3/+12
sharing. Closes #1619.
2017-04-17Merge pull request #1628 from ximion/dfixJussi Pakkanen1-1/+1
d: Fix linking shared libraries with DMD
2017-04-17Raise clear error if module name doesn't exist.Elliott Sales de Andrade1-2/+5
Don't raise a full backtrace.
2017-04-16Skip all whole archive args if there aren't any.Elliott Sales de Andrade1-1/+1
No need to turn it on and off again if there's nothing requiring it.
2017-04-15d: Fix linking shared libraries with DMDMatthias Klumpp1-1/+1
2017-04-15Make it possible to only do unity builds on subprojects.Jussi Pakkanen7-7/+18