2
0
mirror of https://gitlab.com/ita1024/waf.git synced 2024-12-02 23:10:46 +01:00
Commit Graph

655 Commits

Author SHA1 Message Date
fedepell
e9eca13d92 protoc: fix generation of include directories when having nested wscripts 2018-03-06 09:14:10 +01:00
fedepell
a02c6d8727 protoc: handle case of proto files in deep directories when output is generated with paths 2018-03-02 19:33:38 +01:00
Thomas Nagy
ae907a859e
Provide an example of storage using extended filesystem attributes 2018-02-17 22:35:52 +01:00
fedepell
0c07d0d7fb eclipse: don't rely on Context.g_module.out as it may not be defined if default used, used bldnode instead 2018-01-19 00:40:00 +01:00
fedepell
daa0c135e1 eclipse.py: support also if passed srcdir is a Node or a list of directories (which are valid inputs for javaw.py) 2018-01-19 00:40:00 +01:00
Thomas Nagy
d21446ff71
Update docs for 2018 2018-01-01 20:53:49 +01:00
Thomas Nagy
d35cd0cf12 Improve the Erlang module #2095 2017-12-20 00:13:47 +01:00
Przemyslaw Rzepecki
69157c7b68 Udated Erlang support.
This adds a scaner method to track Erlang heders dependencies.
Support for EUnit tests
Support for EDocs
Support for ERL, ERLC, ERLC_FLAGS environment settings.
2017-12-19 22:03:41 +01:00
danbar
fdf22b24c8 fix whitespaces 2017-12-19 16:27:15 +01:00
danbar
3dc4357ada use interface function of cpplint module 2017-12-19 16:27:15 +01:00
Thomas Nagy
ca6fe005ef
Cosmetic changes 2017-12-13 22:09:12 +01:00
Przemyslaw Rzepecki
c06a19b9d2 Added task target to output of parallel_debug.
Without the task name/target it is not obvious which steps in the build take
the most time.

Tested the SVG output with Firefox 52.
2017-12-13 22:06:22 +01:00
Calle Rosenquist
384e8d85ba buildcopy: Create destination directories as needed. 2017-11-30 19:09:56 +01:00
Matt Selsky
c98f8ba2ab Typos 2017-11-28 20:22:10 +01:00
Calle Rosenquist
f336f0bf62 pytest: Improved documentation, removed assumption on Python only
dep-nodes and locality of link task outputs always in build.
2017-11-20 22:04:35 +01:00
DragoonX6
b1efcfa6ab Change DEST_OS to use underscores in order to find a correct gcc_modifier_ function. 2017-10-23 14:03:47 +02:00
Thomas Nagy
e6bd4c6609
Add --dnotooltip to parallel_debug for tooltip-free images 2017-10-23 13:55:04 +02:00
Thomas Nagy
ec356383e2
object.__getattr__ -> object.__getattribute__ 2017-10-20 20:05:06 +02:00
fedepell
ffe88abe80 javatest: extra to integrate java unit testing into standard waf_unit_test environment 2017-10-19 08:28:53 +02:00
Matt Selsky
06f0390992 Typos 2017-10-19 08:27:57 +02:00
Thomas Nagy
0be92e74ac
Cosmetic changes for #2055 2017-10-18 21:06:12 +02:00
Roland Puntaier
34e6fd922a Use DEST_OS in cfg_cross_gnu (#2055)
* use DEST_OS in cfg_cross_gnu
* add an example
* rename cfg_cross_gnu to cross_gnu
* add configure()
* xcheck_envar -> xcheck_var
* xcheck_var to look in environ only if not already set
2017-10-18 20:54:12 +02:00
Thomas Nagy
210874d297
Fix #2053 2017-10-04 20:41:21 +02:00
Federico Pellegrin
a02b71a163 protoc: add java support for protobuffers (#2049)
* protoc: added java support

Modified protoc to support also .proto -> .java generation. the .java file
name generated is not obvious as in C++/Python but follows a couple of rules
that were implemented.

As cxx/python and javaw Tools are quite different the implementation is not
as clean as for cxx/python but is hopefully fine (ie. protoc still uses
sources for input files while javac uses src_dir).

In javaw a small detail was added: a new attribute was added (gencode) that
instructs javac to look for source files also in the build directory. This
are realistically generated code (and .proto -> .java is an example) and
are therefore in the build. Default is false keeping all the previous
behaviour.

* protoc for java enhanchments (protoc version, regex, docs)

In configure stage get protoc version as java naming changes depending on the
version. Implement the version differences between version < 2 and > 2

Improve regex for option catching and implement a mix of them in playground
to verify it.

Add some documentation on how java filenames and paths are generated.

* protoc: build dir with generated code is automatically added, so no need to explicitly use gencode in javac
2017-09-26 19:17:40 +02:00
Alan Ray
1e994e50fb Teach use_config to more gracefully fail during options() call #2043 2017-09-23 09:22:35 +02:00
Calle Rosenquist
89c755e714 pytest: Also add in-source library dependencies to libpath. buildcopy: Renamed to_nodes to to_src_nodes to avoid any confusion. 2017-09-23 09:22:16 +02:00
Thomas Nagy
c113442738
Prevent xcode6 from overwriting features lists #2038 2017-09-23 09:21:41 +02:00
Thomas Nagy
e64467892c
Warn against loading gccdeps/msvcdeps options 2017-09-23 09:21:14 +02:00
Thomas Nagy
18955dd91d
Attempt to make the syms tool a little more backward-compatible #2032 2017-09-20 00:06:50 +02:00
Thomas Nagy
4e387de1ce
Follow-up on #2028 2017-09-15 21:00:15 +02:00
Federico Pellegrin
4df813941e protoc: extend extra to support also Python language (#2028)
* protoc: extend extra to support also Python language
* protoc: fix ext_out, unite c++/python generation, fix protoc_includes name
2017-09-15 21:00:08 +02:00
Thomas Nagy
82df9d14fd
Remove an unused variable in buildcopy 2017-09-04 21:18:41 +02:00
Calle Rosenquist
82fd4054a7 pytest: Added better support for normal and pyext library dependencies.
This also includes the `buildcopy` feature that allows construction of complete Python packages in the build dir.
2017-09-04 21:08:10 +02:00
Thomas Nagy
5b935a1e6a
Optimize fast_partial.is_stale 2017-08-26 11:13:04 +02:00
Thomas Nagy
57087471c1
Remove Utils.ex_stack - use traceback.format_exc() 2017-08-19 11:54:58 +02:00
Thomas Nagy
bfe1512a55
Exclude waf-2 folders in waf-2.0 2017-08-19 10:11:36 +02:00
Roman C. Podolski
d2f48b5d89 Fix protoc #2009
Fix bug described in #2009 and extend example in playground to include
described scenario.
2017-08-17 19:56:07 +02:00
Thomas Nagy
c3fee6620c
Update protoc #2009 2017-08-16 19:45:03 +02:00
Thomas Nagy
03a3c604c4
Provide an example of build context sharding 2017-08-13 23:09:35 +02:00
Thomas Nagy
43d6363177 Re-enable the timestamp cache previously removed 2017-08-09 00:27:13 +02:00
Thomas Nagy
e22390ee44
Obtain store timestamps in a dedicated structure 2017-08-08 22:21:54 +02:00
Thomas Nagy
a28f9475f3 Fixup 2017-08-08 01:01:48 +02:00
Thomas Nagy
dcc09cb0df
Obtain the exact wscript file path 2017-08-07 08:28:03 +02:00
Thomas Nagy
6ed9a9231f
Split fast_partial data storage from the main pickle file 2017-08-06 11:48:25 +02:00
Joshua Watt
174f66c523 syms: Improve symbol processing
The export symbol regular expression processing is updated to make
several improvements:
  * The export expression (export_symbols_regex) now applies to both
    functions and global variables
  * A named capture group is used to match symbols. This allows the
    export expression to contain capture groups without disrupting the
    expression matching
2017-08-05 23:17:54 +02:00
Thomas Nagy
6d96b245cc
Invalidate the cache if a file is missing in fast_partial 2017-08-02 20:05:00 +02:00
Thomas Nagy
7003858752
Detect configuration changes 2017-08-02 01:23:32 +02:00
Thomas Nagy
5468e0031b
Typo process_uselib_vars -> propagate_uselib_vars #2005 2017-08-02 00:42:42 +02:00
Simon
fe1bb1b58a Fixed a crash when building a subset of xcode6 targets
E.g. when running 'waf xcode6 --targets=some-target'

  File "/waf/waflib/Scripting.py", line 167, in waf_entry_point
    run_commands()
  File "/waf/waflib/Scripting.py", line 268, in run_commands
    ctx = run_command(cmd_name)
  File "/waf/waflib/Scripting.py", line 252, in run_command
    ctx.execute()
  File "/waf/waflib/extras/xcode6.py", line 679, in execute
    self.post_group()
  File "/waf/waflib/Build.py", line 767, in post_group
    if self.current_group < self._min_grp:
AttributeError: 'xcode' object has no attribute '_min_grp'
2017-08-02 00:24:11 +02:00
Simon
73c276c11b Make xcode6 tool consider standard waf build flags
Build flags like 'cflags', 'cxxflags' passed to xcode6 builds
are now considered by the xcode6 tool. For example, running command 'waf xcode6'
with the following wscript:

cnf.env.CXXFLAGS = ['-std=c++11']
...
bld.program(..., cxxflags='-O3')

now sets the OTHER_CPLUSCPLUSFLAGS in Xcode to '-O3 -std=c++11'
2017-08-02 00:24:07 +02:00
Thomas Nagy
8289af2b98
Do not skip object-only targets 2017-08-02 00:22:33 +02:00
Thomas Nagy
8da1662894
Example of optimizations for partial builds 2017-07-30 20:11:29 +02:00
Roman C. Podolski
c6fb060710 Protoc: Fix bug in src-path
The tool was using an relative path for the includes, but an absolute
for the src-files. Protoc cannot distinguish between relative and
absolute paths and is not able to find sources when relative and
absolute paths are combined.

Tested with protoc 2.6.1, python 3.5.1
2017-07-23 13:25:05 +02:00
Sean Fisk
2c4ff3e28b Docs: Avoid Qt re-builds by sorting set of includes
Because Python's set type is unordered, storing include paths in it
can produce unnecessary re-builds by generating different compiler
command lines between successive builds. Avoid this by using the
sorted() function on the includes.

The documentation for Python ≥ 2.7 guarantees that sorted() is stable,
while for Python 2.5–2.6 it uses the same algorithm as list.sort(),
which is stable [1].

[1]: https://stackoverflow.com/a/1915418
2017-07-06 07:47:48 +02:00
Thomas Nagy
c49a74dd16 Cleanup for #1984 2017-06-21 13:18:07 +02:00
fedepell
8c76bd89ef eclipse: code cleanups as by comment to #1984 2017-06-21 13:17:59 +02:00
fedepell
73dab83957 eclipse: query the compiler for standard include dirs and add them in eclipse search path, so standard includes can be found also with non standard compilers
if command doesn't succeed use hardcoded paths as before. tried with various gcc and llvm.
2017-06-21 13:17:52 +02:00
Thomas Nagy
4d7527b4c4 Clarify the exception type raised by cmd_and_log 2017-06-20 11:20:53 +02:00
Thomas Nagy
6a638625cf Update the Swig example #1982 2017-06-19 19:42:53 +02:00
Thomas Nagy
e5e8397154 Change producer.outstanding.appendleft to producer.outstanding.append 2017-06-14 19:53:01 +02:00
Thomas Nagy
ccf5961607 Ensure link tasks are processed after swig tasks 2017-06-08 19:46:22 +02:00
Seth Hinze
2fd1e44a98 Allow overriding namespace of resx files. 2017-06-04 09:18:27 +02:00
fedepell
b639668c3b eclipse: generate configuration just for languages that are effecitvely used in wscript and not all of them all the time 2017-05-23 21:24:01 +02:00
fedepell
372c801472 eclipse: little code cleanup 2017-05-23 21:23:53 +02:00
fedepell
60070330a6 eclipse: add support also for java project configuration generation 2017-05-17 01:36:05 +02:00
Akira Baruah
5410e58ce5 cpplint: logger subclasses also inherit from object to safely call super() 2017-05-17 01:35:54 +02:00
Akira Baruah
86134af9fb cpplint: fix Python 2 import name collision using absolute_import 2017-05-13 09:42:59 +02:00
fedepell
71d73d09dd eclipse: create the pydev python path configuration from the waf setup so the symbols can be correctly resolved in the IDE 2017-05-06 03:48:33 +02:00
fedepell
ac4cd579e6 eclipse: use standard variable ${PROJECT_DIR_NAME} in pydev configuration instead of hardcoded name for better portability 2017-05-06 03:48:26 +02:00
fedepell
acb0420313 eclipse: absolute include paths must be added without the workspace prefix or they will result in an incorrect path. treat them correctly as system paths. 2017-05-03 06:44:55 +02:00
fedepell
25e01a2077 eclipse: generate tool index dynamically or visually eclipse will get confused and overwrite the name of the tools, even if the functionality seems somehow to work anyway.
documentation I found seems to point that the index should be unique.
2017-05-03 06:44:48 +02:00
fedepell
f7068944f3 eclipse: pass correct languageId for C++ when generating tool otherwise settings will not be used when C++ files are edited 2017-05-03 06:44:40 +02:00
Akira Baruah
60635533c5 cpplint: add --cpplint-root option 2017-04-27 21:32:54 +02:00
Akira Baruah
2a7370c597 Check env.CPPLINT_SKIP after options are converted to envs #1953 2017-04-27 21:32:48 +02:00
Thomas Nagy
a768c3114d
Simplify boolean comparisons 2017-04-22 22:08:00 +02:00
Thomas Nagy
5ac6123e5e
Cleanup: Break multiple statements on multiple lines 2017-04-17 13:16:57 +02:00
Thomas Nagy
cfe9158664
Cleanup 2017-04-17 12:24:33 +02:00
Simon
b30ff35229
Replace param 'source_files' with 'group_files'.
The 'source_files' param to the xcode6 tool was originally separated from the
conventional 'source' param because it was used to control how the source files
would appear in the XCode folder UI. Also, it'd allow to add any file extensions,
and not limited to those extensions supported by the loaded set of waf tools.

This commit renames 'source_files' param to 'group_files'. It also changes the semantic so that 'group_files' now is used like the following:

bld(
 source='...', # These are now the files compiled by XCode
 'group_files': ..., # Optionally customize the way source files appear i the UI
)

Previously, 'source_files' was used to collect source files for compilation in XCode, and to customize the UI folder structure. In this commit source_files is used only to let the user group files in different UI folders (and add additional resource files besides source files). I want to do the renaming to better reflect the param's meaning.

Additional changes:

* Remove unique_filereference

* Updated examples
2017-04-16 01:38:30 +02:00
Thomas Nagy
29b32f7a1a
Reflect the current build group in bld.current_group 2017-04-15 15:12:03 +02:00
Thomas Nagy
2b09852d9e
Cleanup #1943 2017-04-15 13:50:50 +02:00
Thomas Nagy
30de08ca8a
Make target declaration unnecessary #1943 2017-04-09 11:28:25 +02:00
Thomas Nagy
566b3fa644
Xcode 6 generator fixes #1939 2017-04-08 02:27:43 +02:00
Matt Selsky
b247ab1c83 Typos 2017-03-27 19:33:16 +02:00
Simon Guillot
069d5dca2e Fix bug in the clang_compilation_database tool when no C compiler is loaded 2017-03-14 22:21:10 +01:00
fedepell
185530e170 cppcheck: fix Python3 incompatibilities (see #1921) 2017-03-08 18:22:22 +01:00
Thomas Nagy
c8d83954b7
Provide unity builds per task generator 2017-03-04 10:29:04 +01:00
Thomas Nagy
5d4074eb7f
Display commands as string with "WAF_CMD_FORMAT=string waf build -v" 2017-03-04 08:20:27 +01:00
Thomas Nagy
5fb2e21ccf
Remove smart_continue because it is the default behaviour 2017-03-02 20:47:45 +01:00
Thomas Nagy
65dc0c7a6f
Remove force_build_directory as it is the default behaviour 2017-03-02 20:47:22 +01:00
Thomas Nagy
e352fb05c0
UNC path fixes 2017-03-02 20:45:45 +01:00
Thomas Nagy
63a53064a3
Provide TaskGroups to replace mem_reducer 2017-02-19 19:58:19 +01:00
Thomas Nagy
1c3c49d0fb
Simplify task.inputs/task.outputs usage 2017-02-19 11:05:44 +01:00
DragoonX6
0c541f606a Make clang_compilation_database add-on always output complete listings. 2017-02-18 13:04:59 +01:00
Thomas Nagy
2f64e0a273
Warn for missing cflags/cxxflags in gccdeps 2017-02-14 22:36:35 +01:00
Thomas Nagy
620f255b13
Fix the thread index in parallel_debug 2017-02-14 19:42:07 +01:00
Thomas Nagy
b7d93c3c4d
Update the year in headers to 2017 2017-02-11 16:13:37 +01:00
Thomas Nagy
5ac8e882e0
Remove the TaskBase class hierarchy level 2017-02-11 15:04:25 +01:00
Thomas Nagy
f1487eab44
iso8859-1 -> latin-1 2017-01-21 13:28:06 +01:00
Thomas Nagy
a3c44f5d9b
Fix the method specification in syms.py 2017-01-06 23:08:05 +01:00
Thomas Nagy
c2baf7f9bf
Missing parentheses in syms.py 2017-01-06 23:02:56 +01:00