Commit Graph

166 Commits

Author SHA1 Message Date
Jussi Pakkanen 05d929d542 Fix introspection and make it possible to have top level targets with the same name in subprojects. Fixes #222. 2015-08-12 14:04:41 +03:00
Jussi Pakkanen 83cc5ce4c5 Allow more than one install script and make gtkdoc method return one. 2015-08-02 13:49:11 +03:00
Jussi Pakkanen 30d0c2292f Support target-only cross compilation properly. 2015-07-27 00:55:28 +03:00
Jussi Pakkanen 463d08d545 Now host_machine, build_machine and target_machine are properly separated and return correct values. 2015-07-27 00:55:27 +03:00
Jussi Pakkanen eb3cdb6f8d Changed cross compilation file to new format. 2015-07-27 00:54:40 +03:00
Afief Halumi 5148972bfe Avoid sorting object list before generating target
When adding objects to a build target (specifically static libraries)
they should appear at the end of the object list. Sorting the list always
put them at the beginning of the list.
2015-07-23 22:17:39 +03:00
Jussi Pakkanen 0356024300 Give top level targets unique private directories even if they share a basename with some other top level target. 2015-07-05 12:46:23 +03:00
Jussi Pakkanen 833cb56f5c Can create top level targets that have the same name but different type. 2015-07-05 01:47:34 +03:00
Igor Gnatenko f03be73f02 ninjabackend: drop debugging print
We don't want have this print, because it's not needed info for users.
It was introduced in cd40187d4e.

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2015-07-04 10:20:34 +03:00
Jussi Pakkanen cd40187d4e Handle files() in Vala arguments and set up deps correctly. 2015-07-03 22:18:09 +03:00
Jussi Pakkanen 5cbcb144fa Merge branch 'vala_args'. 2015-07-03 20:59:31 +03:00
Igor Gnatenko 1476af4ada vala: don't ignore vala_args. Closes #192
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2015-07-02 12:14:03 +03:00
Igor Gnatenko 919d958485 vala: use --target-glib only if >=, == specified
it does changes to generated code to drop deprecated functions, so
we can get unexpected errors

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2015-07-02 11:38:58 +03:00
Igor Gnatenko d7ca9eee5a vala: add support for --target-glib
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2015-07-02 00:23:52 +03:00
Igor Gnatenko aa9008e76d ninjabackend: fix bad-continuation
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2015-06-19 10:48:46 +03:00
Jussi Pakkanen 05b6220844 In Vala .vapi files are sort of headers that you must put on the command line. Make it so. 2015-05-17 19:24:02 +03:00
Jussi Pakkanen 852fb28888 Do not use -o with Vala. Closes #120. 2015-05-17 18:53:12 +03:00
Jussi Pakkanen cf0bd77ddd Do not invoke linker via cmd /c on Windows. 2015-05-17 15:23:33 +03:00
Jussi Pakkanen 5bebe6ce14 A few more eradications of plain strings. 2015-04-26 01:56:02 +03:00
Jussi Pakkanen 83e04ca70f Fix the remaining tests. 2015-04-22 16:10:10 +03:00
Jussi Pakkanen bf9b5d7b72 The first step in a major refactoring starts by adding a new layer of abstraction. 2015-04-21 16:27:58 +03:00
Jussi Pakkanen bfa68aaeaf Autodetect Qt5 rcc dependencies as well as reasonably possible. 2015-04-08 23:05:14 +03:00
Jussi Pakkanen e87d3c07ad Can specify explicit dependencies for custom targets. 2015-04-02 16:43:35 +03:00
Jussi Pakkanen 2e93295c2e Generate configure files immediately when they are declared. Closes #88. 2015-03-27 23:41:28 +02:00
Jussi Pakkanen f390f152e5 Fix windows. 2015-03-27 18:19:17 +02:00
Jussi Pakkanen d6ef93434e Fix generators with multiple files. 2015-03-11 22:25:41 +02:00
Jussi Pakkanen 48477102c9 Now can compile all Qt5 tests with module. 2015-03-09 19:39:12 +02:00
Jussi Pakkanen 6e6ac02eaf Major refactoring to move Qt5 from core into a module. Rules are written but moc/uic/rrc are not generated yet. 2015-03-09 17:16:32 +02:00
Jussi Pakkanen 52b69b8939 Make sure that build and source subdirectories are always in search
path.
2015-03-05 15:43:46 +02:00
Jussi Pakkanen c6dbf98a05 Do not use linker arguments of dependencies' dependencies if the target is a static library because the static linker does not understand them. 2015-02-21 14:59:16 +02:00
Jussi Pakkanen 87ea869f02 Can install files created with configure_file. 2015-02-15 19:35:53 +02:00
Jussi Pakkanen 99bb73e6c9 Changed install_data to get rid of useless and confusing target subdir name. 2015-02-15 19:13:21 +02:00
Jussi Pakkanen bf5466e7ef An implementation of build_always as slightly modified from the original by Axel Waggershauser. 2015-02-07 14:48:38 +02:00
Jussi Pakkanen 73b8ff5341 Rework installation logic so we can go outside the install prefix. 2015-02-04 22:00:06 +02:00
Jussi Pakkanen 2107be2a78 Add thread flags to compilers and use them on dependencies that require threads. Fixes #31. 2015-01-30 19:35:58 +02:00
Jussi Pakkanen 646afcac0d Run targets are in the console pool for obvious reasons. 2014-12-30 20:10:16 +02:00
Jussi Pakkanen 0f65a5991c Removed remnants of old debug funcs. 2014-12-22 17:55:30 +02:00
Jussi Pakkanen 08ef881c86 Extracted compiler definitions to their own file. 2014-12-03 22:37:06 +02:00
Jussi Pakkanen 4cfb3f1947 To celebrate the new version of Ninja in Debian, start using the console pool. 2014-12-03 21:17:43 +02:00
Jussi Pakkanen 8771b1f49b Better Ninja detection. 2014-11-24 18:41:41 +02:00
Robin McCorkell 339d2a0a2b Always run tests and external commands 2014-11-23 15:07:51 +00:00
Jussi Pakkanen 525f0ae6d2 Harmonised copyright declarations. 2014-11-16 20:19:12 +02:00
Jussi Pakkanen e0ec0c977f Do not quote $out or $in because Ninja does it by itself. 2014-11-16 15:29:00 +02:00
Jussi Pakkanen 0c86f30d4b Can install entire subtrees with one command. Closes #14. 2014-11-03 23:28:47 +02:00
Jussi Pakkanen a500c6cfa8 Can install data files from subdirectories. 2014-11-03 18:37:23 +02:00
Jussi Pakkanen d767bcf86d Can install man files from a subdir. 2014-11-03 18:30:24 +02:00
Jussi Pakkanen 8313c4ed00 Use correct path when installing headers. Fixes #16. 2014-11-03 18:23:29 +02:00
Juhani Simola d6a21792c3 Ninja backend: objects generated with custom_target can be linked 2014-10-28 23:45:05 +02:00
Jussi Pakkanen 83df68aa3f Fortran dep fix on Windows. 2014-09-26 18:37:56 +03:00
Jussi Pakkanen ff934952a0 Some windows fixes. 2014-09-26 18:03:06 +03:00
Jussi Pakkanen 154dc83973 Multiple generated sources in one target now work. 2014-09-20 22:14:38 +03:00
Jussi Pakkanen 77c14525c3 Autodetect runnable commands on unix (where chmod values might be wrong) and Windows (where files with weird suffixes are unrunnable. 2014-09-20 14:08:48 +03:00
Jussi Pakkanen dbb72bfd12 Custom targets can have multiple inputs and outputs. 2014-09-19 20:04:58 +03:00
Jussi Pakkanen d79b8a19a0 Made include args always return arrays for consistency. 2014-09-05 18:52:17 +03:00
Jussi Pakkanen 3ed22fcc56 Use external libs of static libraries when the static library is linked to a final target. 2014-09-03 22:13:14 +03:00
Jussi Pakkanen 1c0a735e00 Use static library dependencies not when the library is built but when it is used. 2014-09-02 23:06:07 +03:00
Jussi Pakkanen ccf63459c6 Made generated source depend on all generated headers. 2014-08-24 19:31:38 +03:00
Jussi Pakkanen 1419a6a316 Do Fortran dependency tracking manually because of bugs in other pieces of software. 2014-08-19 21:18:19 +03:00
Jussi Pakkanen 4d1778f275 Write module files into private directory. 2014-08-16 22:14:23 +03:00
Jussi Pakkanen b4d2437f24 Ignore missing Fortran modules as they may come from the compiler itself. 2014-08-08 21:15:39 +03:00
Jussi Pakkanen 1b830c907f Handle Fortran sources with dependencies to themselves. 2014-08-08 14:29:20 +03:00
Jussi Pakkanen f3d0778403 Handle Fortran's MODULE PROCEDURE construct. 2014-08-08 13:35:46 +03:00
Jussi Pakkanen a5863477f8 Kill end of line whitespace dead. 2014-08-07 12:34:35 +03:00
Jussi Pakkanen 09686a4e4d Use proper suffix with Fortran on Windows. 2014-08-04 18:37:30 +03:00
Jussi Pakkanen 21fb06087f Add the object file generated by MSVS pch compilation to the link command line as it is apparently required on some versions. 2014-08-04 18:32:08 +03:00
Jussi Pakkanen 100c20e568 Scan Fortran dependencies at the beginning for all sources. 2014-08-03 21:29:13 +03:00
Jussi Pakkanen 5303b1d0f4 Scan Fortran dependencies, but it fails currently due to a deficiency in Ninja. 2014-08-03 20:37:03 +03:00
Jussi Pakkanen 6af7f92ab3 Handle C# resource files. 2014-07-30 15:49:01 +03:00
Jussi Pakkanen af0ca6751a Made all unit tests pass again. 2014-07-27 03:11:50 +03:00
Jussi Pakkanen bae8507753 Make it possible to generate source files in custom targets. 2014-07-27 02:54:23 +03:00
Jussi Pakkanen 5736f8dc60 Subdir in custom target sources, too. 2014-07-26 20:18:00 +03:00
Jussi Pakkanen fdbc45eb7f Can specify individual files from rules that generate multiple outputs. 2014-07-26 19:15:46 +03:00
Jussi Pakkanen 7f09d89eaa More betterer sorting. 2014-07-19 16:17:38 +03:00
Jussi Pakkanen 279dd5e809 Sort input files so command lines do not change. This allows Ninja to skip unnecessary build steps. 2014-07-19 15:53:43 +03:00
Jussi Pakkanen f55c81ec23 Can set per-target cs args. 2014-07-19 01:44:10 +03:00
Jussi Pakkanen 544ce42c52 Build type flags for C#. 2014-07-19 01:33:01 +03:00
Jussi Pakkanen 7814ef986f Set up link paths. 2014-07-19 01:14:21 +03:00
Jussi Pakkanen f7d58d7b6f Some fixes. 2014-07-18 23:18:26 +03:00
Jussi Pakkanen fb884e3856 Can compile C# programs with Mono. 2014-07-18 21:49:14 +03:00
Jussi Pakkanen 83237f2b38 Added option for werror. 2014-07-18 20:51:26 +03:00
Jussi Pakkanen b33c55bba0 Fix SONAME generation. 2014-07-18 18:08:22 +03:00
Jussi Pakkanen e38f040661 Can set install time rpath. 2014-07-11 20:53:50 +03:00
Jussi Pakkanen 6759e404d9 Make it possible to run a custom script during install. 2014-07-09 16:30:58 +03:00
Jussi Pakkanen 15128ab6bc Do not execute run targets by default. 2014-06-24 19:06:11 +03:00
Jussi Pakkanen 2d23a44e6e Deal with Rust static libraries, too. 2014-06-23 20:53:20 +03:00
Jussi Pakkanen 923ad8ab9b Invoke Rust via wrapper script. 2014-06-22 19:38:47 +03:00
Jussi Pakkanen f1cc633799 And the custom rules too. 2014-06-22 17:13:31 +03:00
Jussi Pakkanen d2b5e5c7a5 The mass flags -> args renaming for consistency. 2014-06-22 17:10:00 +03:00
Jussi Pakkanen ec167c8107 Dep file name fix. 2014-06-19 00:40:58 +03:00
Jussi Pakkanen 7b4595e07c Set up dependencies for Rust linking. Does not work fully yet. 2014-06-19 00:25:15 +03:00
Jussi Pakkanen bf4708eb83 Build a shared Rust library. 2014-06-19 00:02:19 +03:00
Jussi Pakkanen 4187b0b6c8 Rust dependency tracking. 2014-06-18 23:27:01 +03:00
Jussi Pakkanen 31dbb46652 Rust buildtype flags. 2014-06-18 23:22:29 +03:00
Jussi Pakkanen f22376701b Can compile very basic Rust programs. 2014-06-18 01:22:55 +03:00
Jussi Pakkanen 7c8cd80a15 Removed cppcheck target now that we have run targets. 2014-06-11 23:21:22 +03:00
Jussi Pakkanen 73ca870bef Can specify standalone command targets. 2014-06-11 22:38:36 +03:00
Jussi Pakkanen 365f529c75 Store build flags into coredata as it is persistent and needs to survive over Meson reconfigurations. 2014-06-07 23:43:16 +03:00
Jussi Pakkanen f88779319d Get compile and link flags from envvars. 2014-06-07 23:43:15 +03:00
Jussi Pakkanen 8467c5b0a6 Can now generate GObject introspection data and install it. 2014-05-24 18:18:47 +03:00
Jussi Pakkanen ee0607ddf9 Can use outputs of targets as inputs of custom targets. 2014-05-21 23:47:23 +03:00