Commit Graph

1369 Commits

Author SHA1 Message Date
Thomas Nagy 1debaf5f03
Better error message when the c compiler is clang and gcc is not found 2015-06-20 23:17:24 +02:00
Thomas Nagy a336bb1b8b
waf 1.8.11 2015-06-20 22:24:30 +02:00
Thomas Nagy d761ad1397
Better error message when the c compiler is clang and gcc is not found 2015-06-20 22:21:43 +02:00
Thomas Nagy 42fb4f08a0
Hide the command update that appears in the logs 2015-06-20 14:55:08 +02:00
Thomas Nagy dfd6f7e958
Grey color 2015-06-16 07:35:46 +02:00
Caitlin Potter 9d763fc74f [macplist]: interpolate file
Rather than using an inline interpolated heredoc string, or generating
the file in a pre-build step, allow the macplist task itself to
perform string interpolation on the contents of a plist file.
2015-06-14 15:53:46 -04:00
Thomas Nagy 65150769cd
Cleanup 2015-06-14 11:48:05 +02:00
Thomas Nagy c91214e216
generated .py files might need to be byte-compiled and installed 2015-06-11 18:15:10 +02:00
Nikolaus Lieb 9fc9464238 Add tooldir to cache-check on loading module in Configure context. 2015-06-10 21:44:37 +08:00
Alexander Afanasyev 728205fe3c Change with shared library compatibility version handling
For ELF binaries (e.g., Linux): default compatible version (SONAME =
`<library-name>.so.<MAJOR>`) can be specialized using additional `cnum`
parameter to `<library-name>.so.<MAJOR>.<MINOR>` or
`<library-name>.so.<MAJOR>.<MINOR>.<PATCH>`.

For Mach-O binaries (e.g., OS X):

- (bugfix) install-name points to compatible version (not absolute path
  to a non-versioned library)
- Default install-name `<install-path>/<library-name>.<MAJOR>.dylib` can
  be specialized using `cnum` parameter to
  `<install-path>/<library-name>.<MAJOR>.<MINOR>.dylib` or
  `<install-path>/<library-name>.<MAJOR>.<MINOR>.<PATCH>.dylib`
- `-Wl,-compatibility_version` and `-Wl,-current_version` flags use
  version from cnum/vnum (default cnum is vnum.split('.')[0])
2015-06-05 17:27:32 -07:00
Thomas Nagy 92f584fd8f
Repeated failures remove signatures - Issue 1580 2015-05-31 16:51:44 +02:00
Thomas Nagy f6b6191480
Additional crutches for protoc 2015-05-28 23:08:07 +02:00
Thomas Nagy 04556a4d28
Use adequate variable for include paths in protoc.py 2015-05-27 18:45:20 +02:00
Guillaume Poirier-Morency f14678f3e6 Fix the '--threading' option for valac.
The actual compiler option is named '--thread', not '--threading'.

Renames the waf option for 'thread': it shouldn't be breaking anyone as
it was not even working.
2015-05-26 03:25:33 -04:00
Thomas Nagy 3886c70929
waf 1.8.10 2015-05-24 15:39:46 +02:00
Thomas Nagy ea59b302c5
Fixed conf.multicheck error handling 2015-05-23 15:09:37 +02:00
Thomas Nagy f048d6d20f
Do not duplicate flags from the OS environment - https://github.com/waf-project/waf/issues/1574 2015-05-16 14:26:43 +02:00
Dale Stewart 1bc6c745c9 qt5: cope with library names like 'Qt5Core' instead of 'QtCore5', as in Qt 5.4 on Windows 2015-05-14 16:15:57 -05:00
Thomas Nagy 802e937d73
Regression caused by 588f809ffa - https://github.com/waf-project/waf/pull/1572 2015-05-08 18:16:48 +02:00
Syl 8ef1fa7733 cpplint: keep the old import 2015-05-06 22:33:31 +02:00
Syl 085b80fdb3 cpplint: fixed import. The version on pypi is now up to date and works with Python3. 2015-05-06 19:19:05 +02:00
Thomas Nagy a4c2370ee4
WriteConsole type - https://github.com/waf-project/waf/issues/1567 2015-05-05 07:33:47 +02:00
christophe.duvernois 533599b7ba swig tool can handle -outdir parameter 2015-05-03 16:58:50 +02:00
Thomas Nagy b45f52165b
docs 2015-05-03 10:22:28 +02:00
Thomas Nagy 120af4f1d0
docs 2015-05-03 01:03:11 +02:00
Thomas Nagy 9fdfec763d
provide --no-lock-in-top and --no-lock-in-run for packagers 2015-05-02 17:13:00 +02:00
Thomas Nagy d4ec554cdf
Simplify initialization of --top and --out in out-of-tree builds 2015-05-02 16:48:48 +02:00
Thomas Nagy de6b9bde38
Replace cygwin paths in solution files - https://github.com/waf-project/waf/issues/1562 2015-05-01 13:00:45 +02:00
Thomas Nagy 3e3c84abfb
hcode in why.py - https://github.com/waf-project/waf/issues/1561 2015-04-30 20:58:44 +02:00
Thomas Nagy 3d6a35070a
waf-1.8.9 2015-04-26 21:32:12 +02:00
Thomas Nagy 06e49b2a82
undefined variables 2015-04-26 21:13:52 +02:00
Thomas Nagy 44211e0bb5
Enabled errors on warnings for the apidoc generation 2015-04-26 21:00:15 +02:00
Thomas Nagy ffd6c60113
docs 2015-04-26 16:52:45 +02:00
Thomas Nagy 924f8bbce8
Inserting LDFLAGS at the end of the command-line causes less overhead than expected, and LINKFLAGS can still be used for flags in the beginning of the line 2015-04-22 21:34:45 +02:00
Daniel Svensson 588f809ffa Use same prefix convention for python as with ruby and perl.
Should /usr/local/.../site-packages not be in sys.path in some
platform, a user would pass --pythondir, and --pythonarchdir to
waf when compiling, or modify sys.path.

This makes waf work more predictable, as when passing --prefix
parameter to the build, everything will be installed under this
directory.
2015-04-11 16:26:30 +02:00
Daniel Svensson c53a6f9e07 Find xsubpp in order, privlib, vendorlib and path. 2015-04-11 13:17:21 +02:00
Thomas Nagy ba7295d555
xsubpp misconfiguration on redhat systems 2015-04-11 10:51:19 +02:00
Thomas Nagy 0c0e0388a0
More accurate rpath parsing in parse_flags 2015-04-08 23:32:53 +02:00
Thomas Nagy 41c7b2dcf8
docs 2015-04-06 17:55:40 +02:00
Thomas Nagy 47cf5cecaa
Issue 1552 - attempt to fix the installation path regression on 32-bit Ubuntu caused by Issue 1536 2015-04-03 21:24:46 +02:00
Thomas Nagy b8c965153c
Issue 1551 - use -Bstatic and -Bdynamic in parse_flags 2015-03-26 21:50:23 +01:00
Jérôme Carretero 01f0ee1005 extras: file_to_object: allow source=[...] 2015-03-18 22:27:53 -04:00
Daniel Welty 94a48cc4ae
msvc: Support additional cross-compile types
VS 2013 supports cross-compiling for x86 and arm from amd64, but Waf
wouldn't search for these compilers.

Change-Id: I5b0d6809b666587d5aea19e6491fa7f0572c1a40
Type: Bug Fix

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2015-03-17 02:11:41 +01:00
Thomas Nagy d1f7f7c78d
Miscellaneous platform support 2015-03-14 03:02:01 +01:00
Thomas Nagy eefb67755e
Issue 1529 - conf.check(function_name) 2015-03-13 17:47:53 +01:00
Thomas Nagy fb1d5440ea
cleanup 2015-03-12 19:24:02 +01:00
Thomas Nagy 4a362be394
More accurate regexp on re_vnum 2015-03-12 19:22:08 +01:00
Harald Klimach 52f63ac945 Fixed logic to identify intel fortran compiler. 2015-03-10 16:59:53 +01:00
Thomas Nagy 7f05ab7290
Optimizations 2015-03-08 18:30:57 +01:00
Thomas Nagy cca30e91f4
Re-use the functions defined in waflib/Utils.py 2015-03-07 02:29:42 +01:00
Thomas Nagy 02f4e0f1c0
Fortran errors lead to broken signatures - Issue 1546 2015-03-07 02:13:22 +01:00
Thomas Nagy 6a73ff9512
Do not use colors for jython in cmd.exe by default 2015-03-06 23:02:23 +01:00
Thomas Nagy ea8ff1c6ab
Jython detection enhancements 2015-03-06 22:02:10 +01:00
Thomas Nagy ff2ab4076f
Fix for gcc detection under msys - it behaves like cygwin 2015-03-05 16:18:51 +01:00
Daniel Vollmer b1a606c8e6
Generate doxygen into a sub-folder of build
When no OUTPUT_DIRECTORY was set for doxygen, then the parent
directory of the doxyfile was used. If the doxyfile is in the
root-directory, then this was the build-directory itself, which
led to the complete build-directory (including all other build
artifacts) to be installed.

The OUTPUT_DIRECTORY set (if not given) now includes the name
of the doxyfile itself (+ suffix '.doxy').

The install of doxygen-generated files also did not preserve
the directory structure.

The doxy playground example was simplified and updated, as
separate installation is no longer needed.

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2015-03-05 15:14:22 +01:00
Thomas Nagy 1b65d73c56
Unraised exception in get_targets, get_tgen_by_name already raises one 2015-03-05 03:16:28 +01:00
Thomas Nagy df379d3ecd
Look up doxygen inputs relative to the doxygen file - Issue 1542 2015-03-04 19:25:35 +01:00
Harald Klimach 8d788d3e28 Make the NEC Fortran compiler detection flexible to cover the sxf03 as well as the sxf90. 2015-03-04 09:23:00 +01:00
Thomas Nagy 80344dee5e
Use splitlines when possible 2015-03-03 12:19:25 +01:00
Jérôme Carretero 340551d8a0 extras: file_to_object: basic file name escape (fixes issue on Windows) 2015-03-02 18:22:24 -05:00
Thomas Nagy c47b9bcd85
Configuration test for gccdeps flags 2015-03-02 16:54:56 +01:00
Thomas Nagy 9a72b14976
Enable environment-provided flags for cross-compilation in python.py 2015-03-01 11:59:16 +01:00
Thomas Nagy e49afff0fe
waf 1.8.7, coming soon 2015-02-27 21:16:03 +01:00
Thomas Nagy 47a100480f
Issue 1538 - make detection of pyembed optional 2015-02-27 12:03:53 +01:00
Thomas Nagy fa139c5d09
Invalid indentation in Python 3 and regexp enhancements 2015-02-26 23:05:27 +01:00
Thomas Nagy e5056b9ade
Example to how how to obtain build dependencies through strace 2015-02-26 22:30:47 +01:00
Harald Klimach d0c1333396 Corrected the module name convention for the NEC SX compiler. 2015-02-25 15:46:54 +01:00
Harald Klimach 8b58f728b9 Merge branch 'master' of https://code.google.com/p/waf 2015-02-25 11:21:01 +01:00
Harald Klimach 7775cda5c3 Added NEC compiler descriptions for SX machines. 2015-02-25 11:15:55 +01:00
Thomas Nagy f87ff1060d
xz compression is new in Python 3.5 2015-02-24 21:20:15 +01:00
Thomas Nagy b9e3d25918
Issue 1537 - batched_cc /Fo option requires a trailing path separator 2015-02-24 17:50:01 +01:00
Thomas Nagy c4e25382cd
Regression on windows caused by r823b4cd2dc03d06a81e0ab003606067da03d8745 (default bindir and libdir) 2015-02-23 17:03:48 +01:00
Thomas Nagy a933244f48
Enable unity builds for C too 2015-02-23 10:44:57 +01:00
Thomas Nagy 17ab93f32a
Enable Visual Studio support in batched_cc for Issue 1537 (the unity tool provides best performance though) 2015-02-22 13:30:25 +01:00
Jérôme Carretero 49911f72a8 extras: file_to_object: support using the C compiler to support the feature more portably (WIP) 2015-02-20 12:05:08 -05:00
Thomas Nagy e8ae9c1a59
Enable gccdeps for clang too 2015-02-20 14:43:55 +01:00
Thomas Nagy bbf26e0e12
Fix the g++ compiler detection which is broken by the new clang tool 2015-02-20 14:23:04 +01:00
Thomas Nagy 269c90fe1a
Cache the files read in c_dumbpreproc.py 2015-02-20 12:06:08 +01:00
Thomas Nagy 823b4cd2dc
Issue 1536 - default 64 suffix for Redhat systems 2015-02-19 13:46:18 +01:00
Thomas Nagy 517578b5d2
Keep run_str on orig_run_str to help subclasses 2015-02-19 08:58:53 +01:00
Thomas Nagy 68a1bab004
Let the forked processes drop closed connections immediately - prefork 2015-02-17 17:10:47 +01:00
Thomas Nagy 8f4df2085c
Support for single-number versioned libraries 2015-02-15 11:53:47 +01:00
Thomas Nagy e3d8daf8bc
Issue 1527 - a not on as-needed 2015-02-14 22:38:25 +01:00
David Robillard a3a209b352
Fix compiler detection on OSX 10.6.
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2015-02-14 22:29:19 +01:00
Thomas Nagy 412a677e06
Allow prefork.py builds to run concurrently (use random ports) 2015-02-14 15:29:58 +01:00
Thomas Nagy f8ff53ef02
Terminate preforked process if the parent terminates abruptly 2015-02-14 15:04:09 +01:00
Thomas Nagy 5716e35fdd
Slightly better error handling in prefork and preforkunix 2015-02-14 14:04:57 +01:00
Thomas Nagy d17bb06e36
waf 1.8.6 2015-02-14 12:07:13 +01:00
Thomas Nagy ad5a6cb0e4
Issue 1467 2015-02-12 00:13:18 +01:00
Jérôme Carretero e1acde1bfb extras: file_to_object: fixup file extension of generated file
- append, don't change
- file extension is .s (don't run preprocessor)
2015-02-09 17:34:19 -05:00
Thomas Nagy e22f7b0cc2
reverting r522e3fb43a1dca184aa346a0cf00ac6bc83b3366 - Issue 1338 2015-02-08 18:51:39 +01:00
Thomas Nagy 1985579cb4
Example of tracking files in the build directory to force partial rebuilds 2015-02-08 11:05:28 +01:00
Thomas Nagy d68e1ff072
Handle non-string and non-list values in substitutions (subst) 2015-02-07 22:27:54 +01:00
Thomas Nagy 004b866789
Updated the netcache client/server 2015-01-29 00:00:01 +01:00
Thomas Nagy 8bb6b1d299
Updated netcache_client to waf 1.8 2015-01-28 00:54:06 +01:00
Thomas Nagy ca497f062b
Support more header extensions in subst/is_copy 2015-01-27 22:27:45 +01:00
Robert 57ea6be9fc
Issue 1526 - handle reasons for rebuild indepently in extas/why.py
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2015-01-22 23:21:41 +01:00
Thomas Nagy 0c66df0fab
New option --pin-process for the preforks 2015-01-20 23:13:31 +01:00
Thomas Nagy e044142c8e
Disable preforkunix on w* systems 2015-01-20 22:13:50 +01:00
Thomas Nagy ae3c7ee7e1
Have 'waf -ppp' display no progress bar 2015-01-20 22:05:19 +01:00
Thomas Nagy 0bf605e194
Cleanup in the prefork scripts 2015-01-20 21:48:41 +01:00
Thomas Nagy d9908f38ef
Python 3 fixes 2015-01-20 18:47:31 +01:00
Thomas Nagy f10accf861
cleanup 2015-01-19 22:35:20 +01:00
Thomas Nagy fa8d113d41
Additional notes on preforked build processes 2015-01-18 23:56:51 +01:00
Thomas Nagy 8d9e7fda30
New tool nobuild for profiling, and a unix-only version of prefork.py 2015-01-18 13:51:06 +01:00
Thomas Nagy 760b34e264
Do not run processes with file descriptors on the server 2015-01-16 22:14:29 +01:00
Thomas Nagy 59974469fc
Report errors from prefork.py 2015-01-16 21:32:58 +01:00
Thomas Nagy 2d43b3416c
Prevent external connections to the servers 2015-01-16 19:21:20 +01:00
Jérôme Carretero 7c33626306 extras: cfg_cross_gnu: update docs 2015-01-13 13:27:54 -05:00
Jérôme Carretero 0f4a1d5f7d extras: file_to_object: rerun on DEST_CPU change 2015-01-13 13:27:38 -05:00
Thomas Nagy 45d21e96a1
prefork example for executing commands - this can improve full build performance quite a bit 2015-01-11 15:42:27 +01:00
Jérôme Carretero 5746e9a99a extras: cfg_cross_gnu: parse LDFLAGS environment variable 2015-01-06 13:10:28 -05:00
Jérôme Carretero f3320a4b07 extras: cfg_altoptions: use option group 2015-01-06 13:10:20 -05:00
Thomas Nagy 1551b070b2
Fix and test for class names containing utf-8 characters - Python 2.7 and 3.x 2015-01-06 12:29:06 +01:00
Thomas Nagy 6d674de8c9
qt5 detection improvements 2015-01-06 11:18:28 +01:00
Syl 291a3077dd improved error message when a path contains unicode character.
display the path and raise the exception.
2015-01-02 20:10:56 +01:00
XZS 6d5bde451d
install compiled python files besides sources
Compiled python files are now placed in a __pycache__ directory besides
the source file, which is in fact the only location PEP 3142 specifies.

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2015-01-02 19:30:08 +01:00
Thomas Nagy 149653a937
First commit of the year 2015 2015-01-01 16:24:54 +01:00
Thomas Nagy 0b926c7682
Issue 1524 - ruby configuration in 2.2 2014-12-29 20:01:02 +01:00
Thomas Nagy 6c11f91e12
Issue 1522 2014-12-27 20:31:11 +01:00
Thomas Nagy 90e7031d2d
blender.py belongs to extras/ 2014-12-20 18:46:55 +01:00
poxip 644ab20549
blender: Do not use default platform
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-12-20 18:45:24 +01:00
poxip 229d5b93d6
Create blender tool
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-12-20 18:45:15 +01:00
Thomas Nagy 18ce4bdc21
waf 1.8.5 2014-12-14 16:22:24 +01:00
Emil Dudev 1fe49f2017
Let wscripts be executable
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-12-04 01:24:00 +01:00
Thomas Nagy 20a1ed6146
Advanced example of library propagation in distnet 2014-11-22 11:53:13 +01:00
Thomas Nagy 740763c236
Issue 1511 - emacs pretends it has a tty 2014-11-20 21:20:46 +01:00
Thomas Nagy 1689bc658a
Issue 1510 - suncc and CC 2014-11-20 20:43:56 +01:00
Thomas Nagy c18f457215
Issue 1509 cmd -> cmd.exe 2014-11-13 19:27:58 +01:00
Thomas Nagy 9a46ff7558
No one has ever used conf.as_needed() 2014-11-10 22:08:36 +01:00
Thomas Nagy e048bed13d
More tests for the Waf preprocessor 2014-11-02 00:16:48 +01:00
Thomas Nagy 67a5bb5c73
Regression due to Issue 1502 2014-11-01 23:38:02 +01:00
Thomas Nagy 28ebd858d5
waf 1.8.3 2014-10-31 22:56:47 +01:00
Thomas Nagy 2fa4078c47
Clean orphan Qt files 2014-10-31 22:47:58 +01:00
Thomas Nagy 7ffd53b803
Use EnvironmentError more often 2014-10-30 19:09:53 +01:00
Thomas Nagy 2e98ef1313
stale.py improvements 2014-10-30 07:49:59 +01:00
Thomas Nagy 046c55a97e
Issue 1506 2014-10-28 22:15:52 +01:00
Thomas Nagy 803bbe6674
Issue 1504 - Use absolute paths if relative path requires drive letters 2014-10-28 20:59:36 +01:00
Thomas Nagy 0cb547e65d
Issue 1498 - no python-config on windows, use the system from waf 1.7 2014-10-27 04:02:39 +01:00
Thomas Nagy e297881d30
Missing method in qt5.py 2014-10-25 13:50:23 +02:00
Thomas Nagy d24092184a
Issue 1502 - too much caching in qt logic 2014-10-25 13:39:22 +02:00
Thomas Nagy ddfabfd80a
Enable the stale.py tool to work with Qt projects 2014-10-25 13:19:22 +02:00
Thomas Nagy a3e882dbba
Moved the stale files example to a single module 2014-10-25 01:57:13 +02:00
Thomas Nagy 9fa6e0aa95
Issue 1503 - 'unicode' built-in handling in python3 2014-10-25 01:08:38 +02:00
Thomas Nagy 86b25fa523
print the latex command executed 2014-10-23 22:22:18 +02:00
Thomas Nagy 995c8a231d
Issue 1501 - Biber tool update 2014-10-22 18:45:21 +02:00
Thomas Nagy c50f084ac8
docs 2014-10-15 20:57:16 +02:00
Thomas Nagy 9f6f814999
Issue 1497 - keep the hcode in subclasses 2014-10-13 19:45:05 +02:00
Jérôme Carretero bb6ad916b2 extras: cfg_altoptions: fix check_cfg to return True on success 2014-10-12 12:19:16 -04:00
Jérôme Carretero d70cd50352 extras: rename my inadvertently offending 'c_' tools to 'cfg_' which hopefully will be more appropriate 2014-10-11 21:14:39 -04:00
Thomas Nagy 293612bcf9
waf 1.8.2 2014-10-12 01:32:19 +02:00
Thomas Nagy 30fb9699ef
c_* modules are reserved by compiler_c. These modules redefine check_cfg which will break configuration tests in a very nasty way. 2014-10-12 00:08:16 +02:00
Thomas Nagy 310e691209
BOM is unnecessary 2014-10-11 19:35:16 +02:00
Thomas Nagy c705d019d1
Python3 syntax 2014-10-11 19:24:43 +02:00
Thomas Nagy 037cb7af78
waf 1.8.1 2014-10-11 11:49:00 +02:00
Jérôme Carretero 05ef26f3b8 waflib: extras: add c_cross_gnu tool that shortcuts cross-compilation config 2014-10-11 01:44:47 -04:00
Thomas Nagy b2cd86fc21
Do not force task generator attributes to be all lists 2014-10-10 07:31:16 +02:00
Thomas Nagy bea70e4e91
Issue 1495 - Option group names from waf 1.7 2014-10-07 18:43:44 +02:00
Thomas Nagy 49f9cd2aa4
Issue 1494 - Use the upper class just in case 2014-10-07 18:31:00 +02:00
Thomas Nagy 8c0ead0ca1
Python 2.5 is definitely required 2014-10-04 13:49:28 +02:00
Thomas Nagy 5e4110443e
Optimizations 2014-10-04 12:44:03 +02:00
Thomas Nagy 1979e7425c
Cosmetic changes 2014-10-04 02:02:38 +02:00
Thomas Nagy 6c9e7c6233
Much faster version of get_config_header 2014-10-02 21:09:16 +02:00
Damián Nohales a9edfca3c8 glib2: Remove r_change_ext function 2014-10-01 01:23:42 +02:00
Thomas Nagy a3b59a5c02
Obtain the default prefix from the wscript file if provided 2014-10-01 01:11:05 +02:00
Thomas Nagy f748a01907
Some more compatibility in compat15.py 2014-09-30 23:53:52 +02:00
Thomas Nagy 9a0a7ca562
Added crutches for python-config detection on Python 2.5 2014-09-28 23:07:02 +02:00
Thomas Nagy c422a1c647
Let waf 1.8 run under python 2.4 - with ugly outputs 2014-09-28 22:47:14 +02:00
Thomas Nagy 05d117bad8
Fix for Python 2.5 2014-09-28 22:01:46 +02:00
Thomas Nagy a3942d386b
Fixed the accidental data sharing introduced by the previous patches 2014-09-28 21:32:59 +02:00
Thomas Nagy c35c7237d6
Other problems with encodings 2014-09-28 19:27:02 +02:00
Thomas Nagy 608c2c51e1
Update load_module in compat15.py too 2014-09-28 02:58:24 +02:00
Thomas Nagy 388d94cca2
Ensure that Python scripts are read in the desired encoding 2014-09-28 01:30:00 +02:00
Thomas Nagy fcc950dd46
Short build outputs by default in waf 1.8 2014-09-27 16:35:33 +02:00
Damián Nohales 2459bee8af intltool: add style option to intltool_in
This allow to user to get abstracted about the passed intltool-merge
flags, so this code:

    bld(
        features = 'intltool_in',
        flags    = ['-d', '-q', '-u'],
        source   = 'myapp.desktop.in',
    )

Now is equivalent to:

    bld(
        features = 'intltool_in',
        style    = 'desktop',
        source   = 'myapp.desktop.in',
    )
2014-09-22 20:13:00 +02:00
Thomas Nagy 620dea5fb7
Issue 1487 - there can be race conditions or other kinds of errors to ignore 2014-09-22 19:31:01 +02:00
Jérôme Carretero 02ad15eb17 extras: halide: support generation of arbitrary outputs 2014-09-22 00:46:28 -04:00
Thomas Nagy ee1f04770d
waf-1.8.0rc1 2014-09-21 21:04:48 +02:00
Thomas Nagy d43e1278cf
missing import 2014-09-21 21:02:54 +02:00
Damián Nohales 9cd10fe885 glib2: add GResource support 2014-09-21 20:59:04 +02:00
Thomas Nagy c427ab45af
Issue 1392 - extras/use_config.py 2014-09-21 20:50:43 +02:00
Thomas Nagy fec1956327
Issue 1212 2014-09-21 12:47:32 +02:00
Thomas Nagy 10f0efd217
Issue 1319 - make unit test paths more configurable 2014-09-21 11:03:34 +02:00
Thomas Nagy 69c1fb1fec
Issue 1319 - make unit test paths more configurable 2014-09-21 10:58:52 +02:00
Thomas Nagy cb030505af
Issue 1487 - delete files or folders only if they exist on the filesystem 2014-09-21 10:10:55 +02:00
Damián Nohales f990fca8ff intltool: use APPNAME by default in intltool_po
Now user doesn't need to specify appname for intltool_po taskgen if he
has declared APPNAME.
2014-09-20 22:00:06 +02:00
Thomas Nagy e1076cea83
Issue 1461 - Faster LaTeX processing 2014-09-20 21:51:54 +02:00
Thomas Nagy c182070bc5
Issue 1067 2014-09-20 19:27:27 +02:00
Thomas Nagy 9a782b0179
Issue 1322 2014-09-20 17:41:10 +02:00
Thomas Nagy 954056a782
Issue 1480 - force Node.children to the desired type 2014-09-20 14:29:16 +02:00
Thomas Nagy 74b5ffc153
Issue 1173 - resolve symlinks to the build directory 2014-09-20 13:46:11 +02:00
Thomas Nagy d246665be2
Let the swig tool scan <> includes 2014-09-20 11:04:33 +02:00
Damián Nohales c0314641b7 intltool: move some code outside a loop in intltool_in
It's fine to execute this code just one time since the environment
variables won't change throughout the different source files.
2014-09-18 16:54:35 -03:00
Damián Nohales 2b5cab25d0 intltool: don't install merged files by default in intltool_in
It doesn't make sense to install merged files in LOCALEDIR in most
cases.
2014-09-18 16:54:35 -03:00
Damián Nohales 71b21ac6ed intltool: fix INTLCACHE directory 2014-09-18 16:54:35 -03:00
Damián Nohales 8cf01e50b1 intltool: make podir default value consistent
Is more predictable if intltool_po and intltool_in have the same default
podir, that is, the current src directory.
2014-09-18 16:54:35 -03:00
Damián Nohales d3badc58b4 intltool: be more clear on what is the default podir 2014-09-18 16:54:35 -03:00
Thomas Nagy 7e84079cc7
docs 2014-09-14 20:26:07 +02:00
Thomas Nagy 470219ee6b
Issue 1477 - boost python detection 2014-09-14 20:08:35 +02:00
Thomas Nagy d02127d136
sort the boost libraries by version number too, there may be more than one version installed on the system 2014-09-14 19:46:24 +02:00
Thomas Nagy d491de7486
conf.check generalization using arbitrary build functions 2014-09-14 10:58:29 +02:00
Thomas Nagy 08c4b175bf
Include all static libraries specified in the use=line 2014-09-14 10:48:12 +02:00
Jérôme Carretero b541cd7327 extras: halide: handle variants, for cross-compilation 2014-09-13 13:49:25 -04:00
Jérôme Carretero cacc8c343b file_to_object: use different alignments 2014-09-08 17:36:49 -04:00
Jérôme Carretero e8f4715c8d extras: file_to_object: change method to work with the assembler instead of linker 2014-09-08 17:31:22 -04:00
Harald Klimach 7605c17732 Include the '-' in the regex to match the IA-32 string on 32 bit windows. 2014-09-03 13:50:10 +02:00
Syl 2242b53413 reworked previous fix to match the extension in the regex, based on if the lib is linked statically or dynamically.
removed regex "group" because no rules were applied (+?), they were mandatory.
2014-09-03 00:23:19 +02:00
Syl e0d6bcd1bb related to #1477, add extension filter when matching lib names. 2014-09-02 23:42:55 +02:00
Thomas Nagy a112808610
Issue 1481 - unreadable configuration cache file 2014-09-02 22:14:51 +02:00
Syl ebfabe3cdb fix indent 2014-09-01 23:17:52 +02:00
Syl 6f228d762a fix issue #1477, thanks to Maxime Arthaud for the patch. 2014-09-01 23:14:10 +02:00
Matt Clarkson f550175c7f
Add the 'errors' attribute to AnsiTerm
When using input in Python3 an exception is thrown because the AnsiTerm does not
have the errors attribute. This patch fixes that.

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-09-01 18:33:56 +02:00
Jérôme Carretero 4b03c35660 extras: add c_config_alt tool 2014-09-01 11:26:03 -04:00
Jérôme Carretero a4d0442e45 extras: add file_to_object tool 2014-08-31 22:37:07 -04:00
Jérôme Carretero 3e378c45bf extras: add halide code generation tool 2014-08-31 22:18:03 -04:00
Thomas Nagy 49a8bb15b2
Issue 1471 - use python-config to detect python 2014-08-31 21:11:41 +02:00
Thomas Nagy 69bb9f9209
Handle the -Xlinker case in parse_flags 2014-08-31 21:03:03 +02:00
Thomas Nagy 6ffde12338
Use os.path.join to enable builds from drive letters X:\ 2014-08-30 13:05:46 +02:00
Thomas Nagy 671add18e0
Install in the pycache folder of the file, not in the one of the task generator - Issue 1478 2014-08-29 20:05:58 +02:00
Harald Klimach 80f8225f8d Do not use /logo on windows, as ifort expects input files with this option. 2014-08-28 11:27:44 +02:00
Thomas Nagy fdc868858d Merge branch 'master' of https://code.google.com/p/waf 2014-08-25 20:19:48 +02:00
Thomas Nagy 3bf6def01d
Issue 1476, regressions in syms.py due to find_program 2014-08-25 20:01:43 +02:00
Thomas Nagy 7e9c18f5e7
NameError -> TypeError - Issue 1475 2014-08-22 22:45:55 +02:00
Harald Klimach 3c49de07a7 Modified ifort to use the -logo option for search of the compiler version. 2014-08-18 19:47:11 +02:00
Thomas Nagy 002badce44
new command-line option --color - Issue 1474 2014-08-17 22:59:18 +02:00
Harald Klimach ad330d76bc Changed version option on windows to use /-prefix. 2014-08-14 20:19:51 +02:00
Thomas Nagy cc1d38d14c
It seems that the Intel compiler dropped 'ifort' string 2014-08-14 20:03:28 +02:00
Thomas Nagy 679b2850d7
print_usage is useless - override with print_help 2014-08-10 21:38:08 +02:00
Thomas Nagy 32d2f0e1da
merged the os2 case in Utils.is_win32 2014-08-09 18:08:39 +02:00
Thomas Nagy 6eec35c1de
Fixed the 'missing shutdown function' error 2014-08-05 15:43:28 +02:00
Thomas Nagy 4958b4ec47
New extra tool for network shares and long paths handling 2014-08-04 23:09:54 +02:00
Thomas Nagy 2b5377cd87
Better support for UNC paths in external tools 2014-08-04 19:52:58 +02:00
Thomas Nagy 81ce0b6c17
max path limitation in file installation - Issue 1469 2014-08-04 15:17:28 +02:00
Thomas Nagy f6aca05fdd
Create __pycache__ files - Issue 1403 2014-07-25 18:15:23 +02:00
Thomas Nagy 1491e620ad
Added Configure.autoconfig = 'clobber' to force previous configuration options 2014-07-20 05:13:22 +02:00
Syl 76731c8155 qt5: added Qt5WinExtras 2014-07-14 22:27:40 +02:00
Thomas Nagy e48ed4d37a
Issue 1465 2014-07-14 19:59:01 +02:00
Syl 2db34905bd fixed --make-waf with python3 2014-07-06 17:41:54 +02:00
Syl ffc07831cc boost: find_file throw an exception is the file isn't found. 2014-07-06 17:30:14 +02:00
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 4a3a3116c5 qt5: added qtmain to the possible lib
on Windows, build with QTMAIN and subsystem="windows" to create a Qt app without the console, Qt will use your "main" and manage the "WinMain" for you.
2014-07-06 11:28:54 +02:00
Thomas Nagy 6bd7beb194
Enable case-insensitive Node lookup 2014-07-05 23:02:38 +02:00
yngwe 342b4ab1ce c_config: cleanup directory after configuration if no cache is needed. 2014-07-02 09:37:22 +02:00
Matt Hoosier 78c9384e1c
Improve support for BuildContext.install_*() to overwrite exiting files
A request such as:

  def build(bld):
    bld.install_files('/usr/share/foo/', bld.path.find_node('foo.txt'),
                      chmod=0444)

Will currently cause an IOError (especially on Windows) upon repeated
requests to invoke 'waf install'. This is due to a wedged state in
which the first 'waf intall' makes the destination file with 0444
permissions, but the OS (again, especially Windows) refuses to honor
subsequent attempts to write the file as the current
InstallContext.do_install() handles this attempt.

This changeset adjusts InstallContext.do_install() so that its
behavior is more similar to the familiar 'install' program used during
an Autotools programs' "make install" phase. That is, we now
explicitly attempt to temporarily adjust the permissions of the target
file to include user-writability (0644) for the moment of overwrite.
This has no observable effect on the end result; the last bit of
InstallContext.do_install() forcibly resets the target file to the
user's requested permission mask anyway.

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-06-29 22:25:16 +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 a7eb3d811b
msvc: Create new task to install pdb file
Previously the msvc tool was re-using the install_task set up by ccroot
in apply_link by appending files to install_task.sources.

This is problematic because the install task is posted by the time the
call to install_files returns and the post method of the install task
copies files from sources to inputs and inputs as the list of files
that get installed.  This usually worked due to the fact that the
install_task does not guard against getting posted multiple times.  In
some situations such as installing and building a single target using
the --targets flag this was not working and pdb files would not be
installed.

This updates the msvc tool to create a separate task to install the
pdb files instead of re-using the existing install_task.  This fixes
the issue observed with pdb files not being installed when building and
installing a single target and is also consistent with how other files
are being installed from ccroot such as in apply_implib and apply_vnum.

Change-Id: I9fc53061847453fdb5cf105f2276a2eab5fd43b4
Type: Bug Fix
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-06-11 00:26:14 +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
Alexander Afanasyev 9bad7d4f58
ccroot: Setting chmod=Utils.O644 for installation of static libraries
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-06-09 00:25:52 +02:00
Thomas Nagy 3ee08a88f4
Issue 1451 2014-06-08 17:34:35 +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 4161ce4827
Issue 1457 - boost or.hpp file 2014-05-23 00:49:27 +02:00
Thomas Nagy 27f0fc9450
Issue 1454 2014-05-21 17:21:29 +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 6be13a74bb
cosmetic change: have you forgotten to load a waf tool? 2014-05-18 17:53:03 +02:00
Thomas Nagy 905d0295f6
Issue 1452 2014-05-17 00:11:34 +02:00
Thomas Nagy 79ef335d3d
Added defines for asm - #1442 2014-04-30 22:37:36 +02:00
Thomas Nagy d4ca0e8cdc
Issue 1440 2014-04-27 20:06:04 +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 8e7c583496
add bld(ut_cmd=True) to enable specific test execution commands - Issue 1438 2014-04-14 18:54:04 +02:00
Thomas Nagy 5f95323ecb
Added a note for -kk in 'waf --help' 2014-04-12 18:16:44 +02:00
Thomas Nagy 4004dd47f3
do not eliminate backslashes from scriptlet expressions when shell=False - Issue 1433 2014-04-12 14:01:10 +02:00
Thomas Nagy 0c4b23fe88 hard-coded code snippets in boost.py - Issue 1432 2014-04-10 07:44:17 +02:00
Thomas Nagy ffb298fabc
Define all platform-specific functions in Utils.py so that they can be replaced again later 2014-04-09 22:27:17 +02:00
Thomas Nagy 063da21871
Changed the default installation folders for import libraries 2014-04-09 22:24:55 +02:00
Thomas Nagy 7cc366513f
fixed the case: CC='ccache gcc' waf configure build 2014-04-07 22:10:56 +02:00
Thomas Nagy 3e426d9198
better location for the finalizer - Issue 1374 2014-04-07 19:02:29 +02:00
Thomas Nagy 97b1dca7b8
Issue 1374 - close config.log 2014-04-01 23:06:10 +02:00
Thomas Nagy 816023237b Define the intltool cache flag automatically - Issue 1221 2014-03-30 01:33:15 +01:00
Thomas Nagy 6a419b6289 New qt5 libs 2014-03-25 22:17:51 +01:00
Chris Winter 53387d8eff c_config: parse_flags: add support for parsing '-isystem' and friends
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-03-24 12:43:29 +01:00
Thomas Nagy b5ceb9ef12
Regression due to lists in GHCPKG 2014-03-17 21:14:19 +01:00
Thomas Nagy 9f7e6a1bfb
Revert "it turns out that writeconsole in ansiterm.py is not needed"
This reverts commit 3deaeb241a.

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-03-14 21:47:19 +01:00
Thomas Nagy 0cd060c394
Make it easier to declare asm or preprocessed outputs to c/c++ tasks
The following can be used to add asm outputs to a c++ task (gcc):

        from waflib import Task
        from waflib.TaskGen import feature, after_method
        @feature('cxx')
        @after_method('process_source')
        def add_asm_outputs(self):
                for tsk in self.compiled_tasks:
                        node2 = tsk.outputs[0].change_ext('.s')
                        tsk.env.append_value('CXXFLAGS', '-Wa,-adhln=%s' % node2.abspath())
                        tsk.outputs.append(node2)
2014-03-11 21:23:57 +01:00
Thomas Nagy 11180ae9f6 rcc detection for rcc-qt4 2014-03-11 01:24:49 +01:00
Thomas Nagy 15f24dc7d6
Fix for bld(features='subst', fun=xyz) 2014-03-11 01:18:58 +01:00
Thomas Nagy 584bc46c55 Let subst_fun write empty files 2014-03-09 18:56:12 +01:00
Thomas Nagy 92638245ff
Fixed bld(features='tex', deps='wscript') 2014-03-09 18:25:53 +01:00
Thomas Nagy 72334441ce Issue 1419 - gcc 2.95 detection 2014-03-05 21:23:32 +01:00
Thomas Nagy 015ad7349b Write a different waf-print-msvc.py file each time to help debugging 2014-02-26 07:24:47 +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
Thomas Nagy afd9d8fae9 Issue 1412 - reduce multiple underscores to one in computed define names 2014-02-22 10:47:19 +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
Thomas Nagy 40673e8860 api fix - Issue 1410 2014-02-20 22:38:22 +01:00
Thomas Nagy f4185e7a26 Added global file installation pointcut 2014-02-17 00:26:58 +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
Thomas Nagy fde332a58b Slightly better error messages 2014-02-14 21:25:38 +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
Krzysztof Kosiński f88bf4f554 Fix defining the xxx_compiler variables in configure().
Due to recent changes, setting xxx_compiler in configure() had no effect.
This commit fixes the problem and changes the examples to show setting
the xxx_compiler variables at the top level of the wscript, so that
the default compilers are correctly reported in the help output.
2014-02-10 09:27:11 +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
Gustavo Carneiro 69fb126a4c Issue 1405 2014-02-04 10:55:26 +00:00
Thomas Nagy 45f0f3b77a Ported distnet to Python 3 2014-02-03 23:16:32 +01:00
Thomas Nagy 8faafeb913 Issue 1276 - suppress configuration outputs 2014-02-02 04:04:21 +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 ff4b88c82f Removed unused variables from Task.py 2014-02-01 14:33:00 +01:00
Thomas Nagy 6e1e59a999 Do not print tasks that have nothing to display 2014-02-01 14:28:00 +01:00
Thomas Nagy e085c8d25d Moved the find_binary function into a replaceable method 2014-02-01 14:13:16 +01:00
Thomas Nagy 1018065c2e Disabled the duplicate flag filter in bld(...) 2014-01-30 21:37:00 +01:00
Thomas Nagy c8bc800432 A more robust way of sorting commands in remote.py 2014-01-30 08:07:07 +01:00
Krzysztof Kosiński 6f18c1bd99 Revert the prune_flags changes.
The changes break flags such as -framework X -framework Y.
2014-01-27 16:34:40 +01:00
Krzysztof Kosiński c9fe554af4 Fix typos in compiler_* tools.
Commit ca60d62bed contaied some errors resulting from copy-pasting
code around, which caused problems with D and Fortran compiler tools.
2014-01-27 16:20:01 +01:00
Krzysztof Kosiński 48a82dacbf ccroot: allow overriding the prune_flags setting
through a taskgen parameter
2014-01-27 16:12:02 +01:00
Krzysztof Kosiński 1e92b72aa6 ccroot: optional deduplication of command line flags.
Introduce a global variable in ccroot called prune_flags.
If set to "True", only the last repetition of each flag
will be left in the command line.
2014-01-27 04:46:14 +01:00
Krzysztof Kosiński 8147d0a18b Add support for parameter define_name to check_cfg 2014-01-27 03:45:35 +01:00
Krzysztof Kosiński 47bd581246 Modularize the tools 'glib2' and 'intltool'.
In some scenarios only some components of the glib2 tool are
necessary; for example, if intltool-merge is only used for
creating localized desktop files, it's not useful on Windows.

Rewrite the configuration function of the tools into several methods,
so that the 'funs' parameter can be used to only configure
specific programs from the tools.
2014-01-27 02:34:27 +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
Thomas Nagy 4a0a7106c4 Do not climb if a command starts by 'configure' 2014-01-25 23:38:29 +01:00
Jérôme Carretero 173cd3beca add remote tool, for review 2014-01-25 16:55:03 -05:00
Krzysztof Kosiński 1986a6a80b Interpret leftover arguments containing an equals sign
as environment variable definitions rather than commands
2014-01-25 22:28:07 +01:00
Krzysztof Kosiński e4afaa957e Update default compilers in compiler_c and compiler_cxx
to include the clang tools
2014-01-25 22:12:29 +01: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
Krzysztof Kosiński e95b150c56 Add simple compiler tools for clang and clang++ 2014-01-25 21:00:27 +01:00
Krzysztof Kosiński 30bdee769b Clean up some cruft in the compiler tools (icc, icpc, gxx) 2014-01-25 20:59:14 +01:00
Krzysztof Kosiński 82ab2fcaf5 Merge branch 'waf-1.8' of https://code.google.com/p/waf into waf-1.8 2014-01-25 20:35:48 +01:00
Krzysztof Kosiński 80b831a958 Improvements to conf.find_program()
1. When using a relative name passed through the environment,
search for it in PATH rather than using it as-is.
This is better, because PATH could have been changed.

2. Do not search for absolute paths in PATH.
2014-01-25 20:28:30 +01:00
Thomas Nagy 564c4c1a60 (keep the -1 in ansiterm for now) 2014-01-25 20:26:11 +01:00
Thomas Nagy 1b534ee8d2 ansiterm fix: use FillConsoleOutputCharacterW instead of FillConsoleOutputCharacterA 2014-01-25 19:59:51 +01:00
Krzysztof Kosiński 9a824a5649 Fix missing module import in compiler_c 2014-01-25 19:31:11 +01:00
Krzysztof Kosiński c38a4fb4f0 More consistent error messages in the generic compiler tools 2014-01-25 19:28:55 +01:00
Krzysztof Kosiński 86b87413c8 Always return a value which evaluates to True when check_cfg succeeds. 2014-01-25 19:12:44 +01:00
Krzysztof Kosiński ca60d62bed Modify the generic compiler tools to use the "Configuration options" group.
Add a mechanism to set the compiler precedence for D, for consistency.
2014-01-25 18:50:04 +01:00
Krzysztof Kosiński cffbb89cb4 Move the initialization of default options from opt_parser
to OptionsContext, so that tools can add options to the default
option groups without using black magic.
2014-01-25 18:28:14 +01:00
Krzysztof Kosiński f386392fb2 Change the option group for glib2 schema dir to be the same
as the one for gnu_dirs installation directories.
2014-01-25 18:24:51 +01:00
Krzysztof Kosiński 526abea553 Improve the directory descriptions in gnu_dirs 2014-01-25 18:23:07 +01:00
Thomas Nagy c395bffed8 Workaround for Issue 1401 - the progress bar cannot display the last character on windows 2014-01-25 02:02:28 +01:00
Thomas Nagy d413616400 The progress bar should always appear on stderr 2014-01-23 22:22:15 +01:00
Thomas Nagy 2943824c51 Issue 1399 - invalid cast in syms.py 2014-01-23 21:19:57 +01:00
Thomas Nagy 3498ef6773 info to stdout, warning and errors to stderr 2014-01-19 21:28:17 +01:00
Thomas Nagy fa8fed39a0
'x use y use AAA' will add the AAA flags to x, but 'x use y uselib AAA' will not 2014-01-18 01:46:53 +01:00
Thomas Nagy fbb7a0e720
Merge from Jerome's branch 2014-01-16 02:03:53 +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 9f7ceb0e91 Issue 1395 2014-01-14 20:11:11 +01:00
Thomas Nagy 3581b89fbb
Enable custom regexp in bld(features='subst', re_m4=...) 2014-01-14 19:58:45 +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
Thomas Nagy 010b944062 typo 2014-01-12 19:49:31 +01:00
Jérôme Carretero 0e7df22ad5 Utils: check_exe() to return an absolute path so it can be called
Because there cases where subprocess.Popen'ing the [result] can fail.
2014-01-08 01:58:11 -05:00
Thomas Nagy 12b1212f4d
command-line options override environment variables, and not the other way around 2014-01-06 15:00:45 +01:00
Thomas Nagy 0cc696faa3
Invalid parameter type c_int passed to FillConsoleOutputCharacterA 2014-01-06 01:14:21 +01:00
Thomas Nagy 5c85d5907d
FillConsoleOutputCharacterA seems to be requiring a c_char, not a c_wchar 2014-01-06 01:01:10 +01:00
Thomas Nagy 001488b8d3
Signatures for the rest of ctype functions 2014-01-06 00:54:35 +01:00
Jérôme Carretero 33a60e79e7 treecleaner: 'in [...]' replaced by 'in (...)' where appropriate 2014-01-05 16:27:06 -05:00
Thomas Nagy d01f7f36e0
Stop creating range objects in ansiterm 2014-01-05 21:47:21 +01:00
Thomas Nagy 8d8ba52810
Removed the workaround in ansiterm.py 2014-01-05 21:39:39 +01:00
Thomas Nagy e01695d536
Trying to get rid of the invalid handle errors in ansiterm 2014-01-05 21:31:54 +01:00
Thomas Nagy 107ebc9251
Trying to get rid of the invalid handle errors in ansiterm 2014-01-05 21:30:52 +01:00
Thomas Nagy ece779b5ed
Temporary workaround for ctype errors (invalid handle is returned sometimes) 2014-01-05 20:53:13 +01:00
Thomas Nagy 68acc6a2b9
Return the column count on windows 2014-01-05 11:23:49 +01:00
Thomas Nagy f8b24e70a9
Forgot to change always/never by yes/no in Options.py 2014-01-05 10:54:18 +01:00
Thomas Nagy 85bfd3eded
Minor changes in the logging system 2014-01-05 10:51:24 +01:00
Thomas Nagy 3deaeb241a
it turns out that writeconsole in ansiterm.py is not needed 2014-01-05 10:18:57 +01:00
Thomas Nagy 4107a0e29d
New option --color to control the coloring, and split the coloring from the output synchronization code 2014-01-05 01:39:32 +01:00
Thomas Nagy fa5f149775
removed the is_vista verification, write the text by chunks and default to the default stream writer when not a tty 2014-01-04 23:20:17 +01:00
Thomas Nagy 526620f16d
Cleanup in ansiterm.py 2014-01-04 17:20:19 +01:00
Thomas Nagy 4ce22a6fa2
Typo 2014-01-04 12:15:21 +01:00
Thomas Nagy 1b34dadd88
Re-added Parallel.error_handler 2014-01-04 11:04:59 +01:00
Thomas Nagy 8ae91879ce
Revert 2f7d561cb0 - there are regressions and the performance improvement is in Pypy only 2014-01-03 22:32:58 +01:00
Thomas Nagy 5032695f26
Simplified the error handling on task status in Runner.py (API change) 2014-01-03 18:22:34 +01: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 2f7d561cb0
Runtime improvements in Runner.py by using deques by default (python >= 2.4) 2014-01-02 23:35:17 +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
Thomas Nagy 44720924b6 case when c classes are brough by msvc but no c compiler is required, demos/c++/wscript on windows 2014-01-02 18:12:35 +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
Jérôme Carretero 6546e34176 Tools: ar: support for ARFLAGS environment variable
For instance, to make deterministic archives::

ARFLAGS=rcsD waf configure
2014-01-02 06:24:39 -05:00
Thomas Nagy 80bc0a65ce
moved the TINY_STEP variable to the module level 2014-01-01 19:59:59 +01:00
Thomas Nagy 118bbfbf4d let ansiterm write to the standard error on windows 2014-01-01 15:11:32 +01:00
Thomas Nagy 4445b7e0b6 Issue 1391 xrange 2013-12-24 15:32:09 +01:00
Thomas Nagy 29252511d0 Issue 1390 - conf.check(lib='several libs') 2013-12-21 17:29:06 +01:00
Thomas Nagy 69f73f9625 Issue 1388 2013-12-20 18:16:41 +01:00
Thomas Nagy a34eda4e8f Issue 1389 fc scanner improvements 2013-12-20 18:02:03 +01:00
Thomas Nagy d2fcc7b7be special case of files created in the source directory in combination with update_outputs 2013-12-18 23:21:34 +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 c09de54b82 Issue 1384 - pickle changes in Python 3.4 2013-12-07 20:17:43 +01:00