Commit Graph

47 Commits

Author SHA1 Message Date
Thomas Nagy bef6f1b4bf
Cleanup #2146 2018-04-07 10:35:07 +02:00
Eric Newberry fab94287f8 detect arch-specific library path for Boost on dpkg-based systems 2018-04-07 10:34:09 +02:00
Alexander Afanasyev 9e2da12800 Correction of boost module detection of Boost.Log
The previous logic in #1709 made an incorrect assumption that the
filename of shared/static library indicates that it was build as
multi-threaded or single threaded. This assumption does not hold in many
Linux distributions.

In addition to that. Boost.Thread and Boost.Log require -pthread (or
some other) flags in order to properly link.
2018-03-09 08:49:42 +01:00
Bernhard Vogginger 49236784b2 Add suppport for finding lib boost_python in gentoo
* find libname pattern "libboost_python-2.7.so"

Change-Id: I19a66a5992f7d077c2ed8e35e26e414ab194a7e6
2016-08-19 11:31:22 +02:00
Thomas Nagy 02a8361149
Beautify Logs.{debug,error,info,warn} now that the formatting bug is fixed 2016-05-28 16:18:51 +02:00
Thomas Nagy b1f5c0f814
Create installation tasks directly
Task generators created from other task generators may be
skipped during partial builds. This change re-enables
install_task as a task attribute and provides a task
object with input and output nodes which can be re-used
by other tasks.
2016-05-06 15:54:36 +02:00
Thomas Nagy 8520dd65bb
Code cleanup 2016-04-19 22:00:21 +02:00
Gustavo Jose de Sousa d46f541099 Use stash/revert/commit pattern for transactional configuration
Apply that pattern when relevant. That allows correct behavior if tools are
loaded inside a transaction.
2016-03-22 08:05:53 +01:00
Alexander Afanasyev b99a82ddfe Boost module enhancements and fixes
- Output detected version of boost in dot-form (e.g., 1.56.0, instead of 1_56)
- Fix Boost.Log library detection:
  * when linking to shared library, BOOST_LOG_DYN_LINK needs to be defined
  * when linking to non-multithreaded version, BOOST_LOG_NO_THREADS needs to be defined

  (see http://www.boost.org/doc/libs/1_60_0/libs/log/doc/html/log/installation/config.html)
2016-02-26 21:04:50 +01: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 7ffd53b803
Use EnvironmentError more often 2014-10-30 19:09:53 +01:00
Thomas Nagy 470219ee6b
Issue 1477 - boost python detection 2014-09-14 20:08:35 +02:00
Thomas Nagy d02127d136
sort the boost libraries by version number too, there may be more than one version installed on the system 2014-09-14 19:46:24 +02:00
Syl 2242b53413 reworked previous fix to match the extension in the regex, based on if the lib is linked statically or dynamically.
removed regex "group" because no rules were applied (+?), they were mandatory.
2014-09-03 00:23:19 +02:00
Syl e0d6bcd1bb related to #1477, add extension filter when matching lib names. 2014-09-02 23:42:55 +02:00
Syl ebfabe3cdb fix indent 2014-09-01 23:17:52 +02:00
Syl 6f228d762a fix issue #1477, thanks to Maxime Arthaud for the patch. 2014-09-01 23:14:10 +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 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 0c4b23fe88 hard-coded code snippets in boost.py - Issue 1432 2014-04-10 07:44:17 +02:00
Syl 45507b2cdf #1413: moved a test 2014-02-24 20:36:36 +01:00
Syl 33bd87417d fix #1413: added sanity tests for LIB and INCLUDE in boost tool. 2014-02-24 20:35:38 +01:00
Syl a8626ef19c boost: rolled back one of my previous patch, "s" for static needs to be passed by abi.
(for example, sgd for static debug)
2014-02-22 09:13:18 +01:00
Syl ab108c002d boost: added "s" to lib pattern, to link with static lib 2014-02-15 13:01:26 +01:00
Syl b0330b0d5d boost: split env variable by ";" instead of space
allows to specify multiple path in INCLUDE and LIB
2014-02-15 11:09:37 +01:00
Joe Steeve 876d640d71 #1404, "boost tool misses libs in Debian multiarch (x86_64)", fixed
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2014-02-14 21:39:54 +01:00
Jérôme Carretero 33a60e79e7 treecleaner: 'in [...]' replaced by 'in (...)' where appropriate 2014-01-05 16:27:06 -05:00
Thomas Nagy 0f0f36b040 Issue 1367, python 2.4 and boost.py 2013-10-20 19:39:28 +02:00
Thomas Nagy 58fe611bb9 Issue 1327 - typo 2013-06-09 09:47:39 +02:00
Thomas Nagy 3a285c62b1 Issue 1327 2013-06-09 09:47:01 +02:00
Thomas Nagy b241462a2a Issue 1327 2013-06-09 09:46:44 +02:00
Thomas Nagy c4685a8cb8 Issue 1310 use INCLUDE/LIB environment variables to detect boost libs on windows 2013-05-19 08:36:00 +02:00
Thomas Nagy 77dc8ea368 Issue 1266 2013-03-12 14:10:12 +01:00
Thomas Nagy 294050ff41 Potential fix for #1204 2012-10-05 00:21:27 +02:00
Thomas Nagy 7895f84852 Issue 1199 2012-09-15 08:30:51 +02:00
Thomas Nagy 3562008ffb Issue 1090 2011-12-25 10:37:19 +01:00
Thomas Nagy 8dc822fded Issue 1089 2011-12-21 08:55:08 +01:00
Jerome Carretero 1a9360c3b2 Linkage test in conf.check_boost + docs + attempt to autodetect link flags (bad)
The linkage test "fixes" #1038 : if we can't link, you'll know it before building.

Documentation was added for some MSVC problematics, it may not be great...

Added --boost-linkage_autodetect to accommodate automagically (ugly) for some typical boost builds on MSVC.
2011-11-08 02:13:00 -05:00
Thomas Nagy b8cab53e60 This one is definitely a bug 2011-09-12 00:29:09 +02:00
Thomas Nagy 95449949a2 Much better logging 2011-09-10 20:46:24 +02:00
Thomas Nagy c41ca4b821 use lists instead of tuples for constants and convert to unix format all .py files 2011-09-10 20:02:12 +02:00
Thomas Nagy 44a967e326 Initial commit 2011-09-10 11:13:51 +02:00