2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-15 00:52:16 +00:00
Commit Graph

2221 Commits

Author SHA1 Message Date
Jurko Gospodnetić
88686a1b92 Made Boost Build's python.jam toolset module work correctly when the python command interpreter executable path contains spaces. This is not supported on Windows with Boost Jam versions prior to 3.1.17. Made python.jam toolset's cygwin symlink detection work correctly with symlinks to .cmd files. Minor stylistic changes.
[SVN r46109]
2008-06-04 00:51:44 +00:00
Jurko Gospodnetić
7574d310f5 Cleaned up the build/modifiers.jam Boost Build module so it no longer references long removed 'multiple' parameter to a generator.run() rule.
[SVN r46108]
2008-06-03 23:59:27 +00:00
Jurko Gospodnetić
489682cc4a Fixed a Boost Jam bug on Windows causing its SHELL command not to work correctly with some commands containing quotes. Caused by a 'funny feature' in the Windows popen() implementation causing it to remove external quotes in some cases similar to how the Windows cmd.exe shell command interpreter does it.
[SVN r46106]
2008-06-03 23:44:23 +00:00
Jurko Gospodnetić
c0a697600f Corrected a potential memory leak in Boost Jam's builtin_shell() function that would appear should Boost Jam ever start to release its allocated string objects. Minor stylistic changes.
[SVN r46105]
2008-06-03 23:23:49 +00:00
Jurko Gospodnetić
2ddff3daba Made all Boost Jam's ECHO commands automatically flush the standard output to make that output more promptly displayed to the user.
[SVN r46104]
2008-06-03 23:19:58 +00:00
Jurko Gospodnetić
26923f6d45 Corrected the comment in src/build.bat to list all the currently supported toolsets when building Boost Jam.
[SVN r46103]
2008-06-03 23:16:33 +00:00
Vladimir Prus
5349c90e4a Properly set soname on aCC.
Thanks to Volker Steinlein for the bug report and testing this fix.


[SVN r46080]
2008-06-03 14:34:25 +00:00
Jurko Gospodnetić
aed78bd0fc Corrected a bug causing abbreviated build folder name caching never getting used.
[SVN r46043]
2008-06-02 09:51:15 +00:00
Jurko Gospodnetić
11a0756cc1 Minor stylistic Boost Build Jam script cleanup.
[SVN r46042]
2008-06-02 09:49:54 +00:00
Jurko Gospodnetić
e388457ddd Minor stylistic Boost Build Jam script cleanup.
[SVN r46040]
2008-06-02 08:12:47 +00:00
Rene Rivera
da1eaa20c2 GCC 4.2 and higher in Darwin does not have -Wno-long-double.
[SVN r46004]
2008-06-01 03:01:23 +00:00
K. Noel Belcourt
2f46c0abcb Change execunix.c to always use fork() instead of
vfork() on the Mac.  This works around known issues
with bjam on PPC under Tiger and a problem reported
by Rene with bjam on x86 under Leopard.

A future revision will change execvp() use to execve()
to enable the Mac to once again use the more efficient
vfork() on the Mac.



[SVN r45956]
2008-05-30 16:22:39 +00:00
Vladimir Prus
7db25f99cd Don't use the /Wp64 option on msvc 9.0.
Patch from Jaroslav Gresula.


[SVN r45934]
2008-05-30 05:29:27 +00:00
Rene Rivera
80627be8de Move objective-c target types declaration to common location.
[SVN r45931]
2008-05-30 00:34:24 +00:00
Rene Rivera
3535f9ea97 Add 'flags' use to be able to specify flags for objective-c/c++ compiles.
[SVN r45910]
2008-05-29 15:31:53 +00:00
Beman Dawes
113b9c94e2 Add /nologo
[SVN r45828]
2008-05-27 19:20:08 +00:00
Jürgen Hunold
1848c0993b Make all libraries "explicit". Workaround for missing "configure" support.
[SVN r45664]
2008-05-22 19:06:32 +00:00
Jürgen Hunold
6030918ac6 Add support for additional Qt-4.4 libraries
[SVN r45663]
2008-05-22 19:02:10 +00:00
Jurko Gospodnetić
aa6e09d93d Corrected a bug in Boost Jam's base Jambase script causing it to trim the error message displayed when its boost-build rule gets called multiple times.
[SVN r45660]
2008-05-22 15:50:28 +00:00
Jurko Gospodnetić
0c99cb166a Minor stylistic changes made to Boost Jam's base Jambase script. Mainly trimmed trailing spaces and wrapped comments at 80 lines.
[SVN r45659]
2008-05-22 15:49:01 +00:00
Jurko Gospodnetić
4811e221e1 Minor stylistic changes made to Boost Jam's base Jambase script. Mainly trimmed trailing spaces and wrapped comments at 80 lines.
[SVN r45658]
2008-05-22 15:47:38 +00:00
Vladimir Prus
0c733a8ab4 Added tntnet application server support, from Eduardo Gurgel.
[SVN r45606]
2008-05-21 12:41:41 +00:00
Vladimir Prus
07129f81e4 Disallow '=' in the values of non-free features.
[SVN r45604]
2008-05-21 12:18:08 +00:00
Vladimir Prus
a5598a1abf When importing from Python into an module with empty string as name,
import into root module.


[SVN r45603]
2008-05-21 12:00:06 +00:00
Vladimir Prus
cd383ab8d9 Add missing import.
Fixes #1911. Patch from Steven Watanabe.


[SVN r45447]
2008-05-17 06:52:20 +00:00
Vladimir Prus
21c6457971 Consistently use symlinks when installing Boost.
* Jamroot: use symlink, not hardlink
    * tools/build/v2/tools/symlink.jam: Implement fallback
    for doing symlinks on Windows.

Fixes #1902.  Thanks to Frank Mori Hess for the patch.


[SVN r45445]
2008-05-17 06:14:11 +00:00
Jurko Gospodnetić
e80bd8aa53 Minor stylistic changes.
[SVN r45305]
2008-05-12 18:35:56 +00:00
Jurko Gospodnetić
f0e9614df5 Documented that modules.call-in and modules.call-locally rules may forward at most 8 parameters to the rules they call. Also removed the extra unused $(9) parameter forwarding in the modules.call-locally rule.
[SVN r45304]
2008-05-12 18:31:59 +00:00
Roland Schwarz
39bc8e75e3 Same name for header only libs as in boost root.
[SVN r45250]
2008-05-09 14:41:00 +00:00
Vladimir Prus
7920b4bba3 Don't assign build properties as target's usage requirements when it fails to
generate.

We try to avoid building the same target twice, by caching the result of
previous calls to target.generate, and returning it if a build request
with the same property set is made.  When the target fails to generate,
for example due to <build>no property, we used to store the entire
build property set as the usage requirements of the build. This is clearly,
wrong, this patch makes us store <build>no as usage requirements instead.

Fixes #1816.


[SVN r45245]
2008-05-09 08:03:35 +00:00
Jurko Gospodnetić
901a0a4386 Removed a duplicated test case.
[SVN r45167]
2008-05-06 09:33:53 +00:00
Jurko Gospodnetić
f6e31ac68e Patch for the NORMALIZE_PATH builtin Boost Jam rule as well as an appropriate update for the path.jam Boost Build module where that rule was being used to implement path.join and related operations.
As it was written before the rule had 'random' behavior in some borderline cases such as: not passing it a parameter, passing it a folder whose path starts with one or two backslashes (as opposed to slashes) or passing it an invalid rooted path with enough '..' path elements to take it 'before the root path'. In those cases it would cause an access violation, 'incorrectly' un-root the path (i.e. remove the leading slash) or simply remove a 'random' path modification respectively. Also the rule is now more tiny bit more efficient and much better documented.

  Invalid rooted paths with enough '..' path elements to take them 'before the root path' are now recognized and an empty list is returned.

  Due to this rule having such 'messy' behavior the path.join rule and its user make-NT rule had some twisted logic in them to work around all the problems this caused. This patch invalidates the logic in question and replaces it with a much simpler one (detailed comments added).

  Other NORMALIZE_PATH callers should not be affected since both the old and the new version work the same on 'regular' paths (i.e. those not mentioned above).

  The new functionality for recognizing Boost Jam versions has been used to make Boost Build scripts use the old path functionality when using Boost Jam older than 3.1.17 and use the new functionality otherwise. As consequence, now anyone using the trunk version of Boost Build and an older 3.1.17 version of Boost.Jam will need to recompile their Boost Jam executable.

  The patch does not cause any Boost Build or Boost Jam tests to fail.

  Added a related NORMALIZE_PATH Boost Jam test. Note that this test causes Boost Jam versions built prior to this patch to crash (access violation).

  Added additional internal Boost Build tests for the path.jam module testing how it handles some invalid Windows paths.


[SVN r45158]
2008-05-05 22:37:19 +00:00
Jurko Gospodnetić
2d8bf7a748 Removed some old corpse comments and debugging output code related to functionality long removed in revision 29361. Minor stylistic comment changes.
[SVN r45145]
2008-05-05 16:01:21 +00:00
Jurko Gospodnetić
84a9f25f9f Fixed a bug causing Boost Jam not to handle target file names specified as both short and long file names correctly. Bug fixed by making bindtarget() function map names to TARGETs by using their long file names.
When scanning directories and creating a list of all their content (filent.c) it would identify all the located files and folders using their long file names. On the other hand, referencing a target using its short file name inside a Jam script caused Boost Jam to reference those files twice using two separate TARGET structures - one identified using the file's short name and one using the file's long name.

  One bad example was the MkDir which would always attempt to create a folder identified by its short name even if that folder already existed (due to the NOUPDATE rule getting applied on the incorrect TARGET).

  The change does not affect targets whose names do not represent existing file names.

  Also, it seems to me that the short_path_to_long_path() call in file_dirscan() in the filent.c module should most likely be moved to file_info() in the filesys.c module. This would make mapping file names to file_info_t & TARGET structures consistent. However, I have not done this in this patch just to make the patch as minimal as possible.

  Prepared tests have been do nothing on non Windows platforms.


[SVN r45144]
2008-05-05 15:52:56 +00:00
Vladimir Prus
8a3864ebba Allow to separately specify include, lib and bin paths for Qt4.
Patch from tr1gun <tr1gun@gmx.net>


[SVN r45143]
2008-05-05 15:24:56 +00:00
Jurko Gospodnetić
f2a34599a5 Corrected a typo in the tools/build/v2/tools/common.jam __test__ rule causing it to mess up the global .name variable in the os.jam module. This was effectively causing an internal os.jam module test to fail when you ran 'bjam --debug'.
[SVN r45121]
2008-05-04 23:59:21 +00:00
Jurko Gospodnetić
65a07b4ac6 Minor stylistic changes.
[SVN r45120]
2008-05-04 23:55:56 +00:00
Rene Rivera
87ffe6e910 Work around for specifying test names with periods in them which creates "duplicate" target names.
[SVN r45117]
2008-05-04 19:46:59 +00:00
Jurko Gospodnetić
bef69d66e7 Removed the old and no longer existing 'new' folder form the internal Boost Build path.
[SVN r45106]
2008-05-04 03:30:15 +00:00
Jurko Gospodnetić
80ce6cfa53 Minor stylistic changes preparing for a more substantial patch without cluttering it with this.
[SVN r45105]
2008-05-04 03:19:19 +00:00
Jurko Gospodnetić
bb17751785 Simplified the stage.copy-file() rule. Minor stylistic changes.
[SVN r45104]
2008-05-04 02:11:21 +00:00
Jurko Gospodnetić
637bbb0173 Cleaned up and better documented how the path.make-NT and path.join rules work. Corrected some minor flaws like the path.join rule returning only the initial path element in case its second path element was empty but there were more elements after it. This is the preparation for cleaning up the NORMALIZE_PATH builtin Boost Jam rule that is causing this implementation to be so messy.
[SVN r45103]
2008-05-04 02:01:52 +00:00
Jurko Gospodnetić
0fc8c56a28 Minor stylistic comment change.
[SVN r45102]
2008-05-04 01:58:58 +00:00
Jurko Gospodnetić
24e776fb73 Fixed a bug in the tools/build/v2/util/numbers.jam module related to numbers.log10 & numbers.less rules not working correctly with numbers that have leading zeroes. Added related regression tests.
Among other things this was breaking the new Boost Jam version detection functionality in some realistic cases. Added related regression tests.

[SVN r45100]
2008-05-04 01:27:09 +00:00
Jurko Gospodnetić
629b5cfbd8 Added functionality for more easily testing the Boost Jam version from Jamfiles. Now you can use the version.check-jam-version rule, as in [ versions.check-jam-version 3 1 17 ] which will return true if the current Boost Jam version is at least 3.1.17. Added related internal Boost Build tests for the new functionality.
[SVN r45096]
2008-05-03 23:30:59 +00:00
Jurko Gospodnetić
1cc21ab203 Upgraded some internal Boost Build tests. Minor stylistic changes.
[SVN r45095]
2008-05-03 23:27:00 +00:00
Jurko Gospodnetić
c4eed608ea Made it clear that Boost Build's Windows path handling does not handle paths with multiple successive path separator characters. Added several missing internal path.jam module tests. Minor stylistic changes.
[SVN r45079]
2008-05-03 17:22:08 +00:00
Jurko Gospodnetić
0031762d55 Removed a TODO comment related to the 'NOTFILE all ;' statement in tools/build/v2/build-system.jam and replace with a better explanation comment. Dead code removal, Comment typo corrections. Minor stylistic changes.
[SVN r45072]
2008-05-03 16:32:23 +00:00
Jurko Gospodnetić
d7edf299d8 Cleaned up the main Boost Build module a bit related to how it processes explicit file (not target) references specified on the command line. Improved the related unit test. Minor stylistic changes.
[SVN r45070]
2008-05-03 16:05:17 +00:00
Rene Rivera
14497e22c5 Fix running -dumpversion when g++ command is multi-part.
[SVN r45056]
2008-05-03 03:42:08 +00:00