Commit Graph

2333 Commits

Author SHA1 Message Date
Igor Gnatenko 58359c8fac add .mailmap (#679)
to have better short-overview from git-shortlog(1).

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2016-08-15 20:48:39 +02:00
Nirbheek Chauhan e0dcb3160a BuildTarget: Print a better message when passing GeneratedList to 'objects' (#681) 2016-08-15 20:45:37 +02:00
Jussi Pakkanen 5b1559a4e8 Merge pull request #673 from centricular/inherited-env-flags
Two changes to how we inherit cflags/linkflags from the environment
2016-08-15 20:39:53 +02:00
Jussi Pakkanen c6ca8a59be Add missing name. 2016-08-14 20:43:32 +02:00
Igor Gnatenko bde123d70c Merge pull request #629 from wtay/master
gnome.py: typelib files should be installed in libdir
2016-08-14 20:07:43 +02:00
Jussi Pakkanen af0e3e2675 Use our config template rather than Autoconf's. 2016-08-14 10:31:58 +03:00
Jussi Pakkanen 7f4ecfc742 A few more checks for ac converter tool. 2016-08-13 19:30:28 +03:00
Nirbheek Chauhan a5e01fa155 Only append compile flags to the link flags when appropriate
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
2016-08-12 15:34:59 +05:30
Nirbheek Chauhan 5b7e4ac1f6 compilers: Always return a copy of the exelist
The consumer might append to it, which will mess up the original object
2016-08-12 15:34:18 +05:30
Nirbheek Chauhan 01b43e5f0a Print the CFLAGS/LDFLAGS/etc inherited from the environment
People can forget it and then wonder what's wrong. Just explicitly print
it.
2016-08-11 16:09:48 +05:30
Jussi Pakkanen 2ea1fb849c Doc clarification. 2016-08-08 22:53:39 +03:00
Jussi Pakkanen 40aff7caa0 File name update in manifest. 2016-08-04 22:26:35 +03:00
Jussi Pakkanen 3671c40a4b Handle both DT_RPATH as well as DT_RUNPATH when fixing rpath settings. 2016-08-04 21:31:40 +03:00
Igor Gnatenko 23c3d4eb5d Merge pull request #664 from mesonbuild/asneeded
Add option for as-needed link option.
2016-08-03 10:14:14 +02:00
Jussi Pakkanen 58ca96994f Add option for as-needed link option. 2016-08-02 22:24:54 +03:00
Nirbheek Chauhan 909a62ca1a test common/86: Move static library back (#662)
This reverts 15ab984d8e

Also see #459
2016-08-01 21:19:03 +03:00
Jussi Pakkanen 657f357fc6 Merge pull request #605 from mesonbuild/ternary
Added ternary operator support
2016-08-01 21:08:04 +03:00
Jussi Pakkanen b382abdd2c Forbid nested ternary operations. 2016-08-01 20:49:30 +03:00
Jussi Pakkanen d90fcb4048 Created ternary operator. Closes #538. 2016-08-01 20:46:40 +03:00
Nirbheek Chauhan 58ad092ff3 interpreter: Print what subproject dir could not be found
Fixes #655
2016-08-01 09:34:30 +05:30
Jussi Pakkanen 4f6be39d26 Update version for new development. 2016-07-30 22:54:54 +03:00
Jussi Pakkanen 37ddadcd87 Raise version number for release. 2016-07-30 22:33:34 +03:00
Jussi Pakkanen 1d36f68629 Merge pull request #660 from mesonbuild/libdirfix
Fix library directory handling
2016-07-30 20:09:49 +03:00
Jussi Pakkanen 10ab88710b Determine lib paths on demand rather than up front because they might change during build file parsing. 2016-07-30 19:42:01 +03:00
Jussi Pakkanen fb3f4420b2 Merge pull request #659 from centricular/find-program-scripts-windows
find_program: Find scripts without extensions on Windows
2016-07-30 18:52:09 +03:00
Jussi Pakkanen 933c11821e Merge pull request #641 from centricular/allow-backslash
Ninja now supports backslash in command args, so we can too.
2016-07-30 18:09:34 +03:00
Nirbheek Chauhan 9f67c29eb4 Add test for the new find program workaround for Windows 2016-07-30 15:20:02 +05:30
Nirbheek Chauhan 577b6dfdf6 find_program: Find scripts without extensions on Windows
Because of how files and executables work on Windows, scripts that use
an interpreter must have an extension, and that extension must be
associated with an interpreter. The full list of executable extensions
is available in the PATHEXT environment variable.

However, UNIX-like OSes use an executable bit and read the shebang to
figure out what interpreter to use, and the scripts don't need to have
extensions. We can now detect these scripts using find_program by
manually searching in PATH and reading the shebang.
2016-07-30 15:20:01 +05:30
Nirbheek Chauhan bfa25fc1d3 ninja: Add escaping for backslash in -D arguments
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.
2016-07-29 19:51:11 +05:30
Nirbheek Chauhan 2d05008956 vs: Fix quoting and escaping of compiler options
Target-specific compiler options should be split into pre-processor
defines, include directories, and additional options, then
escaped/quoted and added to the appropriate portions of the project
file.

The "115 spaces backslash" test now checks that backslashes and spaces
now work properly in all three places.
2016-07-29 19:51:10 +05:30
Nirbheek Chauhan d8b9b12adb Ninja now supports backslash in command args, so we can too
At the same time, this also adds a bunch of tests that document and keep
track of how we expect quoting to pass through via Ninja to the
compiler.

We need at least Ninja 1.6.0 for this.

This fixes https://github.com/mesonbuild/meson/issues/489
2016-07-29 19:51:09 +05:30
Nirbheek Chauhan 018fa4b90f vs: Fix regen_checker by using the correct coredata mtime
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.
2016-07-29 08:18:59 +05:30
Jussi Pakkanen 4a92b78e6e A few error message fixes. 2016-07-28 20:45:38 +03:00
Jussi Pakkanen 9ff00de93b Merge pull request #657 from centricular/pkgconfig-dep-msgs
Various fixes that improve errors and logging around pkg-config dependencies
2016-07-28 20:07:48 +03:00
Jussi Pakkanen f663465b6b Convert socket checks. 2016-07-28 20:06:41 +03:00
Nirbheek Chauhan 1459d18643 dependency: Better errors when fallbacks are not found
Otherwise the message is very cryptic and no one can figure out what Meson
actually wants
2016-07-28 21:45:47 +05:30
Nirbheek Chauhan baf8481c4f pkg-config: Print 'NO' when version is too old
This gives a clearer output when the dependency is not required or has a
fallback subproject otherwise the user is left wondering why the optional
dependency wasn't used or why the fallback subproject is being used.
2016-07-28 21:11:45 +05:30
Nirbheek Chauhan 48b4defa37 pkg-config: Move setting of cargs and libs to functions
Much cleaner this way. It's completely clear what each block of code does.
2016-07-28 21:06:00 +05:30
Nirbheek Chauhan bc63103ae0 pkg-config: Short-circuit when there's no pkg-config file found
Just exit immediately when there's no pkg-config file found instead of putting
everything else in a huge 'else:'. Much clearer and avoids one level of
indentation.

No code changes accompany this.
2016-07-28 21:02:02 +05:30
Nirbheek Chauhan a2344d5aa6 Test that the 'libdir' project() option works 2016-07-27 14:46:24 +05:30
Nirbheek Chauhan 6d7b020aa2 ninja: Fix static library installation dir
Trivially correct typo fix. Didn't actually break anything because the
fallback is libdir anyway, and we always install static libraries to
libdir.

Pointed out by Zhe Wang (0x1997).
2016-07-27 14:39:32 +05:30
Jussi Pakkanen f3c793b9c1 Added test for a prebuilt static library and a declare_dependency that uses it. 2016-07-25 22:00:38 +03:00
Jussi Pakkanen 5942baa2d1 Merge pull request #651 from centricular/gtkdoc-new-runtarget-syntax
Port gtk-doc module to the latest RunTarget syntax
2016-07-25 21:59:02 +03:00
Jussi Pakkanen 156149388e Updated manual test 1. 2016-07-24 12:43:47 +03:00
Nirbheek Chauhan 042e0b3467 gtkdochelper: Add error checking and printing
This helps debug why things are failing
2016-07-24 13:48:12 +05:30
Nirbheek Chauhan e6c927d8ac gnome: Update RunTarget usage to new syntax
This was broken in 0733c0f9a1
2016-07-21 13:39:42 +05:30
Jussi Pakkanen b072d72f94 Properties is no longer mandatory in cross files so do not require it. 2016-07-20 22:53:26 +03:00
Nirbheek Chauhan 88aafd363e Normalize the path of a configured file to avoid dupes (#640) 2016-07-19 20:10:57 +03:00
Nirbheek Chauhan 69d9c2228d vs: Fix Meson invocation while doing regen (#646)
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.
2016-07-19 00:00:17 +03:00
Nirbheek Chauhan 129ce6800c vs: Fix visual studio version in solution file (#648) 2016-07-18 23:59:09 +03:00