Commit Graph

523 Commits

Author SHA1 Message Date
Thomas Nagy c2f4f1b1e8
Force a chmod value for configuration tests executed 2015-09-03 21:31:46 +02:00
Thomas Nagy eb13629bda
clang seems to provide llvm-ar 2015-09-03 20:58:47 +02:00
Shawn Hoover fa41ac8213 Fixed a local variable shadowing the arch return switch for setup_msvc. 2015-09-02 09:16:48 -04:00
ita1024 36e07b3eaf Merge pull request #1614 from shoover/lazy-msvc-detect-1.8
Optionally lazily check installed msvc compilers' environments
2015-09-01 07:27:36 +02:00
Shawn Hoover 5e833ef3f8 Read the lazy autodetect option instead of passing a value everywhere. 2015-08-31 22:06:34 -04:00
Shawn Hoover 4b65d3f875 Optionally lazily check installed msvc compilers' environments and stop when one
is found that matches the user's options. This happens during autodetect only
when the new option msvc_lazy_autodetect or env.MSVC_LAZY_AUTODETECT is set.
2015-08-31 14:55:15 -04:00
Thomas Nagy e72c310b7d
Ruby 2.x detection - Issue 1613 2015-08-30 20:05:38 +02:00
Thomas Nagy 3e6b3bc5ca
Added fortran detection and warn when no link is possible - Issue 1603 and Issue 1610 2015-08-29 11:01:47 +02:00
Thomas Nagy 03ad2fff74
Adding input to cmd_and_log/exec_command enables stdin=PIPE 2015-08-23 17:39:25 +02:00
Thomas Nagy bfbcc73eb2
C/FC detection and outputs to be written in config.log 2015-08-23 17:16:03 +02:00
Thomas Nagy 6ca1c7cad4
Simplify Clang macro detection 2015-08-07 10:51:45 +02:00
Thomas Nagy 45ffae6d4e
Ensure __GNUC_PATCHLEVEL__ is always of str type 2015-08-07 10:48:22 +02:00
Thomas Nagy a98baba3e8
Unused code fragment 2015-08-07 10:47:06 +02:00
Thomas Nagy 0d9a9b7e77
Let write_config_header use env.WAF_CONFIG_H_PRELUDE
A prelude will be added from the variable env.WAF_CONFIG_H_PRELUDE if provided. This
can be used to insert complex macros or include guards::

    def configure(conf):
        conf.env.WAF_CONFIG_H_PRELUDE = '#include <unistd.h>\\n'
        conf.write_config_header('config.h')
2015-07-11 12:01:26 +02:00
Thomas Nagy 4f93b4e814
docs 2015-07-07 22:30:00 +02:00
Thomas Nagy 933feab352
Glob mac_app resource trees - Issue 1586 2015-06-27 15:18:57 +02:00
Thomas Nagy a946ca8383
Removed the executable bit on c_config.py 2015-06-27 14:03:04 +02:00
Thomas Nagy f7b4940158
docs 2015-06-21 22:43:19 +02:00
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 d761ad1397
Better error message when the c compiler is clang and gcc is not found 2015-06-20 22:21:43 +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 c91214e216
generated .py files might need to be byte-compiled and installed 2015-06-11 18:15:10 +02: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
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 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
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 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 b8c965153c
Issue 1551 - use -Bstatic and -Bdynamic in parse_flags 2015-03-26 21:50:23 +01: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 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 02f4e0f1c0
Fortran errors lead to broken signatures - Issue 1546 2015-03-07 02:13:22 +01:00
Thomas Nagy ff2ab4076f
Fix for gcc detection under msys - it behaves like cygwin 2015-03-05 16:18:51 +01:00
Thomas Nagy 80344dee5e
Use splitlines when possible 2015-03-03 12:19:25 +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 47a100480f
Issue 1538 - make detection of pyembed optional 2015-02-27 12:03:53 +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 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 6d674de8c9
qt5 detection improvements 2015-01-06 11:18:28 +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 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 67a5bb5c73
Regression due to Issue 1502 2014-11-01 23:38:02 +01:00
Thomas Nagy 7ffd53b803
Use EnvironmentError more often 2014-10-30 19:09:53 +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 86b25fa523
print the latex command executed 2014-10-23 22:22:18 +02:00
Thomas Nagy 9f6f814999
Issue 1497 - keep the hcode in subclasses 2014-10-13 19:45:05 +02:00
Thomas Nagy b2cd86fc21
Do not force task generator attributes to be all lists 2014-10-10 07:31:16 +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 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 9a0a7ca562
Added crutches for python-config detection on Python 2.5 2014-09-28 23:07:02 +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 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
Damián Nohales 9cd10fe885 glib2: add GResource support 2014-09-21 20:59:04 +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
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
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 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
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
Thomas Nagy a112808610
Issue 1481 - unreadable configuration cache file 2014-09-02 22:14:51 +02: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 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
Harald Klimach 3c49de07a7 Modified ifort to use the -logo option for search of the compiler version. 2014-08-18 19:47:11 +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 32d2f0e1da
merged the os2 case in Utils.is_win32 2014-08-09 18:08:39 +02:00
Thomas Nagy f6aca05fdd
Create __pycache__ files - Issue 1403 2014-07-25 18:15:23 +02:00
Syl 76731c8155 qt5: added Qt5WinExtras 2014-07-14 22:27:40 +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
yngwe 342b4ab1ce c_config: cleanup directory after configuration if no cache is needed. 2014-07-02 09:37:22 +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
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 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 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 8e7c583496
add bld(ut_cmd=True) to enable specific test execution commands - Issue 1438 2014-04-14 18:54:04 +02:00
Thomas Nagy 063da21871
Changed the default installation folders for import libraries 2014-04-09 22:24:55 +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 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 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
Thomas Nagy f4185e7a26 Added global file installation pointcut 2014-02-17 00:26:58 +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
Gustavo Carneiro 69fb126a4c Issue 1405 2014-02-04 10:55:26 +00:00
Thomas Nagy 8faafeb913 Issue 1276 - suppress configuration outputs 2014-02-02 04:04:21 +01:00
Thomas Nagy 1018065c2e Disabled the duplicate flag filter in bld(...) 2014-01-30 21:37:00 +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
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 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 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 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 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 9f7ceb0e91 Issue 1395 2014-01-14 20:11:11 +01:00