Commit Graph

1267 Commits

Author SHA1 Message Date
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
Thomas Nagy d96844a913
Updated the pdflatex example for newer texlive versions (Ubuntu 14) 2014-06-20 11:40:49 +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
Thomas Nagy 89d3870951
Another regression due to the change in find_program from Jerome 2014-06-12 21:32:23 +02:00
Thomas Nagy e6b729487a
Moved the doxygen example to where it belongs under playground/ 2014-06-12 07:24:55 +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 6566072086
missing file
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-05-21 17:05:48 +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 e4a0e0746b
Escape null bytes potentially present in the waf file - workaround for Pypy 2.3 2014-05-10 06:17:00 +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
Jérôme Carretero 955c09d037 playground: add embedded resources example 2014-04-24 00:53:36 -04: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