Commit Graph

1280 Commits

Author SHA1 Message Date
Thomas Nagy eb5aeb8715
The json module is available only in Python 2.6, so the import cannot be on the top-level 2015-11-20 18:06:36 +01:00
ita1024 23ceb2262b Merge pull request #1659 from vcatechnology/node-read-json
Node JSON functions
2015-11-20 18:01:57 +01:00
Thomas Nagy 6c34e2a654
Force scanner functions to run after task failures - Issue 1660 2015-11-20 17:15:33 +01:00
Matt Clarkson 8b71e16989 Add Node.write_json()
Allows for a python object to be serialized to disk as JSON easily. By
default the function pretty prints the JSON which makes the file easily
human readable. A compact representation of the JSON can be done with
'pretty = False'
2015-11-20 13:52:26 +00:00
Matt Clarkson 2c617a42f8 Add a Node.read_json() function
This allows an easy way to read a JSON file into a python object. It, by
default, on Python2 converts all strings to normal strings. This is the
common use case for simple JSON files. Files that have UTF8 codepoints
over the normal ASCII range can use the 'convert = False' argument.
2015-11-20 13:51:11 +00:00
Thomas Nagy a46cb274a7
Intel fortran detection - Issue 1655 2015-11-18 19:12:15 +01:00
Thomas Nagy e66cf563ce
Uninitialized variables when qt options are not used 2015-11-16 19:30:07 +01:00
Thomas Nagy e414ad08fd
Version 1.8.17 2015-11-10 21:52:54 +01:00
Thomas Nagy cd7579a727
Do not try to post all task generator when installing, that will not work 2015-11-10 19:47:19 +01:00
Thomas Nagy 2fb1e0cfb2
Let gccdeps work when a custom cwd is provided through bld.cwdx 2015-11-08 11:48:53 +01:00
Simon f3a20e293c Replaced 'source' arg to 'source_files'. Updated Docs and demo. Fixed bugs. 2015-11-08 10:06:03 +01:00
ita1024 2855dd2411 Merge pull request #1652 from mimon/find_file-fix
Enable usage of home folder/tilde ~ in Configure.find_files
2015-11-08 00:40:06 +01:00
Thomas Nagy 70be189ad2
Experimental option env.merge_config_header
This new option writes 'defines' into the test files
during the configuration tests for c/c++. This may
provide more readable config.log files.
2015-11-07 23:02:49 +01:00
Simon 842bd28c0d Changed so that calling expanduser after joining the paths in Configure.find_files 2015-11-07 22:01:37 +01:00
Thomas Nagy c2605e4dbb
Honor chmod on subst and rule when provided - Issue 1650 2015-11-07 00:29:03 +01:00
Thomas Nagy 8a3ff0e113
Missing Errors import in print_commands.py 2015-11-06 23:11:49 +01:00
Thomas Nagy ac226635d0
Quote arguments that contain spaces in print_commands.py, and use the latest version of exec_command 2015-11-06 23:07:23 +01:00
Thomas Nagy 7d25369e6c
Removed a leftover print statement 2015-11-06 22:55:45 +01:00
Thomas Nagy 02b8aafb8e
Let chmod on subst change the permissions for all files created (not just the first one) 2015-11-05 18:05:32 +01:00
Thomas Nagy c5b1aa4a33
Decorators @conf and @run_once must provide function wrappers having the same names as the original
The following will now work; mind the order of the wrappers:

@Configure.conf
@Utils.run_once
def print_it(self):
     print('hello')

def configure(ctx):
    ctx.print_it()
    ctx.print_it()
2015-11-05 02:01:32 +01:00
Thomas Nagy 18204eb963
Additional compatibility helpers in compat15.py 2015-11-05 00:57:37 +01:00
Thomas Nagy efbc47b434
Added a fake Constants module in compat15.py 2015-11-04 23:16:48 +01:00
Thomas Nagy d4334adfb9
Let waf -v catch invalid string on hcode values in Python3 2015-11-03 22:35:33 +01:00
Thomas Nagy 084d9a215d
Calculate ${SRC} and ${TGT} from user-defined folders
The current working directory used for expanding ${SRC} and ${TGT} is
assumed to be bld.bldnode. This change enables changing the current
working directory globally so that commands can be executed from
the 'build' folder instead of the 'variant' folder:

    def build(bld):
        bld.cwdx = bld.bldnode.parent
        bld.cwd = bld.cwdx.abspath()
        print("building from %r instead of %r" % (bld.cwdx, bld.bldnode))
        ...
2015-11-01 14:09:47 +01:00
Thomas Nagy cf334db465
Use options.enable_gccdeps if provided by user scripts 2015-10-31 11:24:53 +01:00
Simon 921483b335 Enabled usage of home folder/tilde ~ in Configure.find_files 2015-10-30 01:00:33 +01:00
ita1024 975fdde91b Merge pull request #1648 from mimon/xcode6-gen
Xcode6 generator
2015-10-29 18:59:16 +01:00
Simon f1da3b34ef Updated useage and docs in xcode6 2015-10-29 11:53:19 +01:00
Simon 53cb70ec44 Renamed stuff in demos to xcode6 2015-10-29 11:52:58 +01:00
Simon 5fcda128b5 Updated documentation 2015-10-29 11:16:25 +01:00
Simon 24dbd3c43c Changed name for the new Xcode tool to xcode6 and kept the original xcode tool 2015-10-29 11:16:05 +01:00
Thomas Nagy 3ff0277ea0
Enable global_define for conf.check() too 2015-10-27 22:22:35 +01:00
Thomas Nagy d2ade00ef8
waf 1.8.16 2015-10-26 22:58:04 +01:00
Thomas Nagy 722480b25c
Fixed the ruby detection for openindiana 2015-10-26 22:53:22 +01:00
Thomas Nagy 30336cd9ba
Reverted the changes to conf.check(header_name=) as this causes regressions. Use conf.check(header_name=, link_header_test=False) - #1647 2015-10-26 22:44:39 +01:00
Thomas Nagy 963c3b62c9
docs: apply_incpaths_emscripten will be removed in waf 1.9 2015-10-25 09:00:51 +01:00
Thomas Nagy 02423e440a
Make the emscripten option behave 2015-10-25 01:50:37 +02:00
Thomas Nagy e3ac7630eb
Clearer error message when folders do not exist - Issue 1643 2015-10-21 01:08:14 +02:00
Thomas Nagy 0c07ff91b0
Propagate ldflags/LDFLAGS besides linkflags/LINKFLAGS 2015-10-20 21:37:29 +02:00
Jérôme Carretero a0de0eacd5 extras: file_to_object: clean-up and fix issues (reported by Philippe Brais)
Changes:

- Use Node.read('rb') to get bytes (!)

- Remove use of binascii and generate better-looking C.
Binascii returns bytes if input is bytes, requiring a decode()...
There's not benefit in using it, especially if we want to make
better-looking code.

- Remove dead code
2015-10-20 08:19:41 -04:00
Thomas Nagy 6c5afc45b1
Workaround for msys2 inconsistent handling of slash characters
MINGW64 /C/msys2/demos/c
$ python -c "import os;print(os.getcwd())"
C:\msys2\demos\c

MINGW64 /C/msys2/demos/c
$ python3 -c "import os;print(os.getcwd())"
C:/msys2/demos/c
2015-10-18 12:26:45 +02:00
Thomas Nagy f340819d50
waf 1.8.15 2015-10-16 23:34:02 +02:00
Thomas Nagy 971b2d32b7
More Msys2 fun! 2015-10-16 22:45:27 +02:00
Thomas Nagy 0357db5156
Fail faster on invalid install_files inputs - Issue 1639 2015-10-15 20:07:05 +02:00
Thomas Nagy b5ffe6be31
Enable bld.program to recognize .gs in the same way as .vala 2015-10-14 23:26:56 +02:00
Thomas Nagy 26348711f0
Eliminated the last unused variables from the code 2015-10-13 22:57:45 +02:00
Jérôme Carretero bd0008f252 extras: file_to_object: default to safer C code generation
Using asm links makes sense with big files, and if that's the case,
the user can specify it.
The C method also works on all compilers.
2015-10-13 11:46:28 -04:00
Jérôme Carretero ce892773c6 context: fixup load_special_tools ban when using the zip 2015-10-13 00:58:39 -04:00
Thomas Nagy f28426594e
Cleanup: removed most unused variables and imports 2015-10-11 11:32:27 +02:00
Thomas Nagy 1a47ae26c2
docs 2015-10-10 17:09:49 +02:00
Thomas Nagy 78403e3fbc
Enable relative paths to be processed in the --top and --out options 2015-10-10 17:05:13 +02:00
Thomas Nagy fcec20c9fd
Do not link header tests - ruby detection is broken when the compiler includes the symbols 2015-10-10 10:18:02 +02:00
Thomas Nagy 1886e77063
Workaround for python-config bug 7352 - Issue 1636 2015-10-09 19:19:59 +02:00
Jérôme Carretero 0f0da92a59 extras: cfg_cross_gnu: fix a typo... again 2015-10-08 16:18:15 -04:00
Thomas Nagy 807a193db6
build_logs disable colors - Issue 1631 2015-10-08 21:57:46 +02:00
Jérôme Carretero 996aca8b8f extras: cfg_cross_gnu: now use conf.env.env, and also clarify the way envars are gotten 2015-10-06 21:21:14 -04:00
Thomas Nagy 4708b1b730
Workaround for an IronPython pickle bug 2015-10-07 01:11:36 +02:00
Thomas Nagy acc64df657
IronPython fix for VisualStudio detection 2015-10-07 00:16:11 +02:00
Thomas Nagy f5b7209b02
Visual Studio detection in IronPython 2015-10-07 00:13:09 +02:00
Thomas Nagy 1fbac668cb
Pass a conf.env.env to check_cfg 2015-10-06 23:06:22 +02:00
Jérôme Carretero 5e7a7794c3 extras: cfg_cross_gnu: fixup typsdqdo 2015-10-06 10:27:19 -04:00
Jérôme Carretero 8da42b9365 extras: cfg_cross_gnu: improve environment variable passing
Changes:

- Can pass environment variables in the form `i686_pc_linux_gnu_AR`...
Dash didn't work...

- Use PKG_CONFIG_LIBDIR only if available
2015-10-05 15:34:30 -04:00
Thomas Nagy a6b467d73e
Moved the command hashing logic into a utility function 2015-10-03 09:12:08 +02:00
Thomas Nagy 201b8ac38f
Enable rules mixing functions with scriptlets 2015-10-01 19:25:29 +02:00
Thomas Nagy 0e76f676be
Let compile_fun process lists of string commands 2015-09-30 23:38:33 +02:00
Thomas Nagy 1205f92a7f
Simplify the unicode type test for python 3 2015-09-28 21:33:48 +02:00
Thomas Nagy 7cba550826
Fixed a few Python3 compatibility issues in extras modules 2015-09-27 16:09:21 +02:00
Thomas Nagy f9f5e85616
Indentation issues 2015-09-22 07:08:21 +02:00
Thomas Nagy cf92a7bd24
waf 1.8.14 2015-09-20 12:18:01 +02:00
Thomas Nagy dbdc95dfb6
The meaning of filter differs in Python 2/3 - Fixed MSVC builds without lazy for Python 3 2015-09-20 12:03:27 +02:00
Thomas Nagy 8ba068670a
Enable vala processing on a folder basis with the vala_dir parameter - Issue 1601 2015-09-19 19:53:46 +02:00
Thomas Nagy 19042c840e
clean up in demos/vala 2015-09-19 17:01:03 +02:00
Thomas Nagy 8ea1de44a7
Vala resources - Issue 1626 2015-09-19 09:53:53 +02:00
Mohammad Alsaleh 6de1ac07d5 c_config: Avoid warnings/errors when checking for C functions
The check for C functions fails with '-Werror' in GCC (5.2).

  return (int)p;
         ^
  The cast here triggers this error:
    error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]

  p=(void*)(%s);
    ^
  This conversion triggers another error with '-pedantic -Werror':
    error: ISO C forbids conversion of function pointer to object pointer type [-Werror=pedantic]

  This patch fixes both errors.

Signed-off-by: Mohammad Alsaleh <CE.Mohammad.AlSaleh@gmail.com>
2015-09-13 22:45:32 +02:00
Thomas Nagy c5952e19ab
waf 1.8.13 2015-09-13 22:14:31 +02:00
Thomas Nagy 002706431d
docs 2015-09-12 23:49:38 +02:00
Thomas Nagy 49f51d547b
Missing change -Kpic/-xcode=pic32 for sun compilers in c++ mode 2015-09-12 23:32:39 +02:00
Chen He 411672c069 Update the pic build flag used for Sun CC
`-Kpic` had been used to generate position-indenpendent code for Sun CC.
This permits only 2^10 unqiue symbols per shared object on 64-bit
systems.  This is an unreasonably small default. Switching to `-KPIC`
increases the number to 2^29.

According to
http://docs.oracle.com/cd/E37069_01/html/E37074/bjapp.html#OSSCGbjatt,
both `-Kpic` and `-KPIC` have been deprecated, and the `-xcode` option
should be used instead. `-xcode` has been available since at least Sun
Studio 8.
2015-09-10 10:37:40 -04:00
ita1024 b01ae4d98c Merge pull request #1624 from shoover/consolidate-mobile-targets
Consolidate mobile targets
2015-09-09 23:00:05 +02:00
Shawn Hoover c376be6f61 Fix duplicate winphone 8.0 targets in the detected versions list. 2015-09-09 12:31:09 -04:00
Shawn Hoover a8480cc2ff Fix to consolidate WinCE versions in the compiler versions list. 2015-09-09 12:30:23 -04:00
Shawn Hoover eb18a77a5f Override lazy detection and save MSVC_INSTALLED_VERSIONS if get_msvc_versions is called directly. 2015-09-09 10:52:23 -04:00
Shawn Hoover b00b9ab4e3 Don't save/print MSVC_INSTALLED_VERSIONS for lazy detection. 2015-09-09 10:52:20 -04:00
Thomas Nagy 48e48babb4
Override rule function outputs - Issue 1598 2015-09-07 21:03:16 +02:00
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 b6af6c5919 Merge pull request #1619 from srouquette/boost
boost: check Boost.Log in check_boost if the user uses it.
2015-09-02 02:30:29 +02:00
Syl 973863e418 boost: check Boost.Log in check_boost if the user uses it. 2015-09-01 20:52:03 +02:00
Thomas Nagy 143ccb7a74
Pull request 1618 - cpplint 2015-09-01 19:40:26 +02: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 ca5b8a8733
Env variables WAF_LOG_FORMAT/WAF_HOUR_FORMAT for custom log formats 2015-08-30 13:02:17 +02:00
Thomas Nagy 61f09a3f7c
Enable 'waf update' when use_config is provided - Issue 1541 2015-08-29 13:05:00 +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 41bd22ebfa
Update use_config - Issue 1608 2015-08-29 10:31:02 +02:00
Thomas Nagy 34c6ee8c0e
loadFromSysPath -> with_sys_path 2015-08-28 22:43:38 +02:00
Thomas Nagy cadd260a9e
Always remove the timeout and input arguments from the Popen constructor 2015-08-23 18:52:45 +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 274fba398c
Fixed the invalid docstring 2015-08-23 17:05:57 +02:00
Thomas Nagy a08b9fe26a
Added new parameters input/timeout to cmd_and_log/exec_command 2015-08-23 17:01:25 +02:00
Thomas Nagy e9e8df28a4
iteritems does not work in python3 2015-08-12 18:31:14 +02:00
Thomas Nagy ccdbd79ffa
Python3 fix 2015-08-09 23:50:49 +02:00
Jérôme Carretero c913b779f5 extras: c_emscripten: use emar as AR 2015-08-07 08:50:15 -04: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
Jérôme Carretero ae07720a6d extras: add c_emscripten tool 2015-08-06 23:28:19 -04:00
Jérôme Carretero 699b836728 extras: cfg_cross_gnu: make pkg-config also use PKG_CONFIG_LIBDIR...
... to avoid having the default stuff prepended, and system libs found
when you want to do x-compilation.
2015-08-02 19:14:17 -04:00
ita1024 bc8840e0df Merge pull request #1595 from nikoder/increase_control_over_tool_loading
Disable regular sys.path when loading tool with specified tooldir.
2015-07-28 13:28:34 +02:00
Nikolaus Lieb 64f557a17e Ensure restoration of sys.path in Context.load_module() 2015-07-28 16:47:46 +08:00
Nikolaus Lieb b22118a2de Add an option to skip searching the regular sys.path when loading waf tools.
Granting this control allows the avoidance of issues such as accidentally
loading the "cython" module from from Cython itself, rather than the
"cython" waf tool.
Conflicts:
	waflib/Configure.py
	waflib/Context.py
2015-07-28 16:47:35 +08:00
Matt Fischer 2424393afd Handle .. within paths in gccdeps
The current code handles .. at the beginning of a path, but not within the path
2015-07-27 17:26:53 -05:00
Simon 70b294f2e1 Added unique_fileref() method to get reference of already existing file references 2015-07-17 00:23:27 +02:00
Simon 70fa79b181 Clean-up 2015-07-15 12:53:30 +02:00
Simon 64405a8c1a Reduced the ConfigureContext to a configure() func. Also replaced dependencies cxx/cxxprogram with ccroot 2015-07-13 13:43:15 +02:00
Simon 3924f60974 Added more target types. Added bld wrappers 2015-07-13 12:47:01 +02:00
Simon 7d50934a8e Removed unused method 2015-07-13 02:25:13 +02:00
Simon 47b5783be5 Docs 2015-07-13 02:24:49 +02:00
Simon a3a74e59c1 Added default values for required build settings 2015-07-13 02:16:52 +02:00
Simon dd19e4b1ee Fixes 2015-07-13 00:51:55 +02:00
Simon da9a86d2a6 Clean up 2015-07-12 22:31:10 +02:00
Simon a59e38835d Clean up 2015-07-12 22:17:26 +02:00
Simon e44ab6e6ec Support for framework,lib,stlib, etc. 2015-07-12 22:06:51 +02:00
Simon 6891ebb7c9 Switched over to use tmp_use_seen istead of link_framework 2015-07-11 16:04:10 +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 4949c0d894
Ensure Doxygen outputs are installed even when the task is not run 2015-07-07 21:00:18 +02:00
Thomas Nagy 140453a959
Prevent installation tasks having postpone=False from running twice 2015-07-07 20:58:58 +02:00
Simon b8330b29cb Improved Project -> Configuration API 2015-07-07 18:21:35 +02:00
Simon 5f9a900dc1 Made better integrations with the standard INCPATHS variable 2015-07-07 18:07:21 +02:00
Simon ae4f1f5e27 Fixed some issues 2015-07-07 17:54:08 +02:00
Simon 9563da7875 Streamlined API more 2015-07-07 12:17:43 +02:00
Simon 79c91daffc Improved include paths. Added support for c_config files 2015-07-06 13:38:27 +02:00
Simon 1f918ce546 Added documentation 2015-07-05 16:57:27 +02:00
Simon 4167c43c2a Getting Custom file grouping reworked 2015-07-05 15:53:59 +02:00
Simon db2587ea61 Getting Custom source/include heirarchy to work - fixes 2015-07-05 12:37:25 +02:00
Simon d0279469df Getting Custom source/include heirarchy to work 2015-07-05 00:06:56 +02:00
Simon 922be2ff58 Custom source/include heirarchy 2015-07-04 22:56:54 +02:00
Simon d5c5db686a Custom project build configurations fix 2015-07-04 22:23:16 +02:00
Simon 0c864ecaac Custom project build configurations fix 2015-07-04 22:22:19 +02:00
Simon b7e4aed28b Custom project build configurations 2015-07-04 19:13:11 +02:00
Simon a62bef1323 Target dependecies now works 2015-07-04 12:11:10 +02:00
Simon 2424b81f30 Clean-up 2015-07-03 23:41:05 +02:00
Simon 7992473f7d Found out and made some fixes to parent build configurations 2015-07-03 21:16:27 +02:00
Thomas Nagy 19473a0721
env = conf.env.derive().detach() 2015-07-02 20:52:41 +02:00
Simon ce6a58cd5f Removed recusive writing 2015-06-29 18:31:37 +02:00