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>
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.
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.
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>
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)
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.
- 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.
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>