Commit Graph

268 Commits

Author SHA1 Message Date
Syl b704a18559 boost: on Windows, install DLL for libs linked dynamically.
It will only install DLL when waf is called with the "install" parameter, and will install the DLL in the install directory.
If the user wants to run his exe in the build dir, I'd recommend setting boost lib in the PATH.
2014-07-06 16:35:52 +02:00
Syl 679fe6f807 boost.py: use a different variable to not overwrite tags when matching libs (with python) 2014-06-18 00:12:30 +02:00
Syl 398c505d3d removed testing code. 2014-06-17 23:52:57 +02:00
Syl 1b4eef898f boost.py:
improved regex, removing unnecessary plus sign (we want to match only one group)
reworked python matching (mostly for ubuntu I guess). In case of boost_python, tags and python version are optional, which should work on ubuntu and other cases, without duplicating matching patterns if we aren't searching for boost_python.
added back mandatory tags for the last line (for windows) and added a last line to match boost_lib only (arch/manjaro)
2014-06-17 23:40:21 +02:00
Syl 62879268b2 another potential breakage with previous boost.py
changed the way how the abi is generated, the tag for static (-s) is now added automatically based on the lib you specified in 'lib' and 'stlib'
added back --boost-mt
When checking file pattern, the abi is now optional in the last rule. It's now easier to find a lib on linux if your wscript if also configured for windows.
2014-06-17 20:29:26 +02:00
Syl 6251983780 WARNING: I broke the compatibility with previous boost.py
- removed "static" parameter, now use stlib to specify static libs (added a warning if you were using it)
- removed "mt" parameter, now specify it as part of the abi (see help)
- added "stlib" parameter, to specify which lib will be linked statically. "lib" is used to link shared libs.

explanation:
After struggling to link Boost.Log, the problem lies into which libs can/must be linked statically and dynamically.
I built a small test with only system, locale, log_setup, log and thread, and could link it as static.
But after adding boost_filesystem, I couldn't link everything as static anymore and would fail on a dependency in "locale" (icu, nconv).
Linking everything as shared would failed aswell (log). But linking only "locale" as shared, and the rest as static would work.
Hence the change.

Since I broke everything, I figured I would rework the "mt" parameter, since it's kinda part of the abi on windows.
2014-06-15 17:28:26 +02:00
Josh Bartel 20112c4556
doxygen: Ensure output directory is created
Ensure the output directory is always created to avoid issues when
trying to install on a clean build.

Change-Id: I64be30348af7862971cbbc1f17bc53213b9998f3
Type: Bug Fix
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-06-12 07:20:31 +02:00
Josh Bartel 81c3ec0bf3
doxygen: Add install support
This adds support to the doxygen tool for installing the documentation
that was generated.  A new install_path attribute can be added to the
doxygen TaskGen to control where it should be installed to.

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-06-09 00:33:20 +02:00
Josh Bartel 53945acb25
doxygen: Set cwd to the Doxyfile folder
The doxygen tool had previously been modified to always run from the
root of the build directory.  This was done as a workaround to allow
the OUTPUT_PATH in the doxyfile to contain a relative path.  The tool
then had to be modified to fix up any relative paths in the Doxyfile
to be relative to the root of the build directory.  This is problematic
because there are many DoxyFile parameters that can be relative paths.

This patch fixes up the logic to execute doxygen in the same directory
where the DoxyFile lives.  This allows all relative paths in the
Doxyfile to work so they no longer need fixed up.  It then updates the
logic for OUTPUT_DIRECTORY to handle relative paths correctly.

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-06-09 00:31:13 +02:00
Thomas Nagy 1889619dd4
miscallenous enhancements - Issue 1450 2014-05-30 20:35:09 +02:00
Thomas Nagy 8c678183b0
Follow-up on Issue 1450 2014-05-29 07:23:57 +02:00
Thomas Nagy 3f484f4446
End of Issue 1450 2014-05-24 09:01:31 +02:00
Thomas Nagy 8821ab2b28
moved pch out of demos (requires extras/pch.py) and disabled the dependency on boost 2014-05-21 01:37:14 +02:00
Alexander Afanasyev 3970ffd149
extras/pch.py: Experimental extension to enable precompiled headers for clang++ and g++
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-05-21 00:56:41 +02:00
Thomas Nagy c21317c727
Issue 1453 2014-05-19 21:32:24 +02:00
Thomas Nagy 14a8f03012
Cosmetic changes in extras/swig.py 2014-04-20 02:32:25 +02:00
Thomas Nagy 65d25a9a69
Unmask as many exceptions as possible 2014-04-20 02:29:27 +02:00
Thomas Nagy 0c4b23fe88 hard-coded code snippets in boost.py - Issue 1432 2014-04-10 07:44:17 +02:00
Thomas Nagy b5ceb9ef12
Regression due to lists in GHCPKG 2014-03-17 21:14:19 +01:00
Syl 300d0cf0bc fixed cpplint with -p command line parameter 2014-02-25 22:52:17 +01:00
Syl 45507b2cdf #1413: moved a test 2014-02-24 20:36:36 +01:00
Syl 33bd87417d fix #1413: added sanity tests for LIB and INCLUDE in boost tool. 2014-02-24 20:35:38 +01:00
Syl a8626ef19c boost: rolled back one of my previous patch, "s" for static needs to be passed by abi.
(for example, sgd for static debug)
2014-02-22 09:13:18 +01:00
Syl 0e6728ea6e cpplint: fixed import, sry. 2014-02-16 01:47:18 +01:00
Thomas Nagy 87b447772a
Issue 1409 - syms for mac-o/darwin 2014-02-16 01:28:46 +01:00
Syl 67eebf06a0 cpplint: skip it if waf can't import the module 2014-02-15 13:04:44 +01:00
Syl ab108c002d boost: added "s" to lib pattern, to link with static lib 2014-02-15 13:01:26 +01:00
Syl b0330b0d5d boost: split env variable by ";" instead of space
allows to specify multiple path in INCLUDE and LIB
2014-02-15 11:09:37 +01:00
Joe Steeve 876d640d71 #1404, "boost tool misses libs in Debian multiarch (x86_64)", fixed
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-02-14 21:39:54 +01:00
Syl 9febff1d4a cpplint: added --cpplint-output, if the user don't want to use my custom output (choices are vs7, emacs, eclipse, from original script)
cpplint: improved options to env parsing
2014-02-11 23:56:37 +01:00
Syl a71edf58e7 cpplint: changed the way to initialize env from options
cpplint: fixed --cpplint-break
2014-02-09 22:10:47 +01:00
Syl 610d0d59f2 Merge branch 'master' of https://code.google.com/p/waf 2014-02-08 21:04:00 +01:00
Syl c2d1e1b3e5 added cpplint tool 2014-02-08 20:57:46 +01:00
Thomas Nagy 1b49106197 Added a solver to distnet 2014-02-08 15:49:25 +01:00
Thomas Nagy 45f0f3b77a Ported distnet to Python 3 2014-02-03 23:16:32 +01:00
Jérôme Carretero d15bf94934 add distnet extras tool, and assorted examples (WIP)
vs. builds on shared folders...
2014-02-01 14:41:05 -05:00
Thomas Nagy c8bc800432 A more robust way of sorting commands in remote.py 2014-01-30 08:07:07 +01:00
Thomas Nagy d4b2f086a1 Enable automatic ssh host discovery in remote.py 2014-01-26 17:57:49 +01:00
Krzysztof Kosiński b0f8796a27 c_bgxlc: append rather than prepend the compiler 2014-01-26 05:12:56 +01:00
Krzysztof Kosiński f3c57157ea Revert "Rename the c_bgxlc tool to bgxlc." 2014-01-26 05:11:13 +01:00
Thomas Nagy 74b36a1002 Removed a warning in remote.py and ensured each variant runs a remote command 2014-01-25 23:58:41 +01:00
Jérôme Carretero 173cd3beca add remote tool, for review 2014-01-25 16:55:03 -05:00
Krzysztof Kosiński b0b7227ddd Rename the c_bgxlc tool to bgxlc.
Tool names starting with "c_" are reserved for special tools.
2014-01-25 21:34:28 +01:00
Thomas Nagy 2943824c51 Issue 1399 - invalid cast in syms.py 2014-01-23 21:19:57 +01:00
Matt Fischer 2f2866a4cd msvs: Added support for MSVS 2012
With the addition of one new field, the project files generated by
the msvs command can be opened by 2012 as well as 2010.

Change-Id: I27c3a04ec156029f7a6690b27cf27013f5816d2f

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-01-14 20:26:09 +01:00
Thomas Nagy a29f775851 Merge from Jerome's branch 2014-01-14 02:31:08 +01:00
Thomas Nagy b11454526d Fixed the KeyError for multiple dependencies on the same task 2014-01-12 21:19:49 +01:00
Jérôme Carretero 33a60e79e7 treecleaner: 'in [...]' replaced by 'in (...)' where appropriate 2014-01-05 16:27:06 -05:00
Jérôme Carretero f462fd9f31 extras: clang_compilation_database: python3 fixes 2014-01-02 18:26:10 -05:00
Thomas Nagy f098a0dde4
make mem_reducer.py ready for python 3 2014-01-02 23:56:31 +01:00
Thomas Nagy 5fc835639e
Encapsulate task skipping in a method to help with the shrinking sets feature 2014-01-02 20:21:45 +01:00
Jérôme Carretero a99ddb808f extras: gccdeps: fix for CXX_NAME (but some issues remain) 2014-01-02 06:24:52 -05:00
Thomas Nagy 69f73f9625 Issue 1388 2013-12-20 18:16:41 +01:00
Thomas Nagy 2048f0fb89 another optimization spot for the shrinking sets system 2013-12-15 17:21:02 +01:00
Thomas Nagy f9536abbb8 shrinking sets for the memory reducer 2013-12-15 12:47:12 +01:00
Thomas Nagy a4b03b0fd6 removed the set copy to enable faster iterations 2013-12-15 12:19:01 +01:00
Thomas Nagy 6d05e237d2 Memory usage reducer, based on a post to the mailing-list by Christian Nilsendahl 2013-12-12 15:26:56 +01:00
Thomas Nagy 2226ee472f notes 2013-11-17 01:09:04 +01:00
Thomas Nagy 797b935305 Issue 1377 2013-11-15 18:20:25 +01:00
Thomas Nagy fb022f4787 do not convert to png anymore, and added a templating engine to replace the string appending 2013-11-14 22:44:12 +01:00
Thomas Nagy 067ade9a40 Issue 1375, doxygen and paths containing spaces 2013-11-07 23:11:57 +01:00
Thomas Nagy 2f43179c39 1.7 -> 1.8 2013-10-28 21:32:25 +01:00
Thomas Nagy 8f24d28534 recompile swig files if the swig version changes 2013-10-27 10:17:38 +01:00
Matt Fischer f381bfd901 syms.py: Fix dep_nodes manipulation
Fixed a line in syms.py to append to the dep_nodes list instead of
forcibly overwriting it.

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2013-10-25 00:02:48 +02:00
Thomas Nagy 0f0f36b040 Issue 1367, python 2.4 and boost.py 2013-10-20 19:39:28 +02:00
Thomas Nagy b0ec707975 Issue 1366, swig defines 2013-10-17 21:37:30 +02:00
7f2fe42579 implicit cython dependency pyx->pxd, Issue 1363 2013-10-15 00:42:13 +02:00
Thomas Nagy 455e22838a Issue 1361, syms.py and python3 2013-09-30 17:56:48 +02:00
Thomas Nagy 54d4ff7ce0 'is not None' is unnecessary 2013-09-28 23:55:08 +02:00
Nate Rosenblum 87403f4285 Allow doxygen parameters to be passed to task
The doxygen demo program suggests that doxy parameters can be passed
as arguments to the task, e.g.,

   bld(features="doxygen", doxyfile="doxy.conf",
        pars={'INPUT': bld.path.ant_glob("**/*.c")})

Previously, these inputs were not passed from the task generator
to the task, and only the parameters read from the doxy configuration
file were used. This patch retrieves parameters (if any) from the task
generator and uses them to override those in the doxy file,
allowing more flexible overriding for individual build targets.

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2013-09-28 23:54:55 +02:00
Jérôme Carretero e7425bc2ba extras: rst: fix typo 2013-09-24 00:59:16 -04:00
Thomas Nagy 9838d0bb08 New cppckeck tool from Michel Mooij 2013-09-22 17:41:17 +02:00
Jérôme Carretero dcea4231ef extras: rst: also build rst2html from the folder in which the target is built 2013-09-20 13:32:03 -04:00
Jérôme Carretero b170b314ad extras: rst: shorter rst2*tex code 2013-09-18 23:57:05 -04:00
Jérôme Carretero 4e205c4487 extras: rst: add rst2s5 support via extension of rst2html 2013-09-18 23:25:09 -04:00
Jérôme Carretero 7a20f2fd44 rst: rst2pdf fixup for includes in source and build folder 2013-09-18 02:15:54 -04:00
Jérôme Carretero 952c5b1ec7 extras: rst: fix another typo and add rst2xetex support 2013-09-18 02:06:01 -04:00
Jérôme Carretero 27afbfe600 extras: rst: fix "typo" 2013-09-18 02:01:09 -04:00
Thomas Nagy 487cc43df2 Issue 1354, clang compilation databases 2013-09-11 07:50:25 +02:00
Jérôme Carretero f81e6c5499 extras: rst: little fixes 2013-09-09 01:01:57 -04:00
Jérôme Carretero 00946bacdb extras: protoc: document protoc trickiness
I tried to quickly go through the protoc source to find how the include
paths are interpreted, but I'm sleepy now.
2013-09-05 01:10:20 -04:00
Jérôme Carretero bf5ce8b30c extras: protoc: add dep scanner 2013-09-05 00:48:29 -04:00
Jérôme Carretero 863662fa65 extras: rst: fix typo 2013-09-05 00:18:15 -04:00
Jérôme Carretero 150d1ed0b5 extras: ocaml: env.OCAMLC is a list 2013-09-05 00:16:50 -04:00
Jérôme Carretero dc75919559 extras: swig: env.SWIG is a list now 2013-09-04 23:15:12 -04:00
Jérôme Carretero 5064fd92ef always use the convention that commands are lists, remove find_perl_program, add interpreter 2013-09-04 23:10:10 -04:00
Thomas Nagy e87782e58b removed Node.bld_base, used only once 2013-09-01 21:46:43 +02:00
Jérôme Carretero 459f04cbee extras: rst: fix scan regression 2013-08-25 18:33:53 -04:00
Jérôme Carretero f9944a5ec7 rst: make parser overridable 2013-08-25 15:35:33 -04:00
Jérôme Carretero e62d3771e1 extras: rst: add basic rst2latex support 2013-08-24 21:26:37 -04:00
Jérôme Carretero 2b309cfb79 extras: rst: use to_list on rst options, use -o switch to make older rst2pdf happy 2013-08-21 01:21:17 -04:00
Jérôme Carretero 669094a51f extras: rst: add install_path processing (defaults to not installing) 2013-08-20 13:59:45 -04:00
Jérôme Carretero 24abf4f08c extras: rst: pimp the scanner
Changes:
- update the include regexp to support the figure directive, and
  substitution targets.
- warn on missing files that would be included
2013-08-18 23:29:50 -04:00
Jérôme Carretero 5e16b5dbbc extras: add rst tool, for reStructuredText processing 2013-08-18 17:17:00 -04:00
Alexander Afanasyev 8e50cda867 extras/doxygen: Adding support for RECURSIVE and making detection non-mandatory by default
added: support for RECURSIVE, as well as for included and excluded files

changed: detection of doxygen is non-mandatory by default. If it is
         desired that doxygen is mandatory, user is expected to check
         bld|conf.env.DOXYGEN and bld|conf.env.TAR variables

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2013-08-18 21:31:22 +02:00
Thomas Nagy e9fd0660dc Undefined 'logger' variable 2013-07-16 21:00:02 +02:00
Matt Hoosier 1aad65b886 Add 'msvcdeps' tool
This tool operates similarly to 'gccdeps' by offloading the
flattening of the #include dependency tree to the compiler.

Change-Id: I5e58e8ca838f3d3dc65efa6ce4abf161110632ea

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2013-07-16 20:57:06 +02:00
Thomas Nagy a1d35c0a69 simplification in syms.py 2013-06-27 22:22:25 +02:00
Matt Hoosier 24983316d6 syms.py: allow environment to supply paths to dumpbin and nm
This is required when doing cross-compilation.

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2013-06-27 22:18:59 +02:00
Thomas Nagy 58fe611bb9 Issue 1327 - typo 2013-06-09 09:47:39 +02:00