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

584 Commits

Author SHA1 Message Date
Vladimir Prus
cd49e5bc38 Unbreak 'searched_lib.py'.
* new/virtual-target.jam
  (null-action): Pass '.no-action' as action name, not 'no-action'. The
  action name is really dummy, it's not used at all. However, when it does
  not include dot, the smart 'action' ctor will assume it's local and prepend
  module name to it. The calling module will be 'null-action' instance module,
  always unique, and as result, no two targets with null actions will be
  equal, as far as 'virtual-target.register' is concerned.


[SVN r18424]
2003-05-16 12:57:40 +00:00
Vladimir Prus
a9b3747ed1 Add a (terrible verbose, but hopefully clear) commentary.
[SVN r18423]
2003-05-16 12:49:59 +00:00
Vladimir Prus
8bcd63ab24 Remove ECHO. I'm not sure if it was for debugging or not, but the list
of all actions that jam could possibly execute is not good-looking. E.g:

    gcc.compile
    gcc.link-dll
    gcc.compile
    gcc.link
    ...found 19 targets...
    ...updating 9 targets...
    MkDir1 app/bin/gcc
    MkDir1 app/bin/gcc/debug
    MkDir1 app/bin/gcc/debug/main-target-app
    compile app/bin/gcc/debug/main-target-app/app.o


[SVN r18418]
2003-05-16 12:00:50 +00:00
Vladimir Prus
ec1ae4a42d More changes to accomodate more strict import semantics and changes
to feature.action.


[SVN r18416]
2003-05-16 11:05:42 +00:00
Dave Abrahams
b0e68b86a4 Improved comment for Volodya
[SVN r18415]
2003-05-15 23:15:41 +00:00
Dave Abrahams
6ebded3459 Note: there is currently a circular dependency between type.jam and
virtual-target.jam.

- Added the missing explicit imports, now that we don't dump
  everything into the global module with qualification

- stopped using the feature-space hack for temporary testing states of
  the feature module.  Instead we move its global variable definitions
  to a temporary module.

- the way feature.action was invoking the rule it was being passed was
  evil.  Now you pass (even local) rules without qualification and
  they are invoked in the source module context.

- module __test__ rules are always executed in a separate module, so
  that their import dependencies can be separated from those of the
  module being tested.

- better reporting of circular module-loading dependencies
  implemented.

- minor changes:

    property-set.jam:  moved .empty initialization to avert circular
    load dependency .

    symlink.jam: fixed global variable naming.


[SVN r18407]
2003-05-15 22:22:13 +00:00
Dave Abrahams
91f796fa72 * builtins.c/h, modules.c/h - Added VARNAMES and DELETE_MODULE rules,
for getting the list of variable names and for clearing all rule and
  variable storage.

* compile.c - better error reporting for unknown rules; now it is a
  hard error.

* hash.c/h - added hash_free to allow removal of elements from a hash

* rule.c/h - implemented rule freeing; stopped exporting rules to the
  global module by default.

* variable.c - reclaim variable storage when disposing of variable
  hash.

* build.jam - make grammar building work under NT


[SVN r18405]
2003-05-15 20:53:16 +00:00
Dave Abrahams
ab3a315a73 Don't look for 'yacc' without an '.exe' extension on NT, because we
might find the Cygwin script which isn't executable through the NT
shell.


[SVN r18404]
2003-05-15 20:07:44 +00:00
Vladimir Prus
e30fb819a4 Improve the way unused sources are detected/reported.
* new/targets.jam
  (basic-target.generate-source): Separate virtual targets that come from
    different sources.
  (basic-target.check-for-unused-targets): Warn only if not virtual target
    from a given source is comsumed.


[SVN r18403]
2003-05-15 15:52:26 +00:00
Vladimir Prus
84d354288e Try to eliminate short paths on windows, at least in some contexts. They
are very annoying --- e.g. you might decide there are several msvc
installation just because you have default location as long name, and there's
vcvars32.bat in PATH, and PATH element uses short name.

* jam_src/pathsys.h
  (short_name_to_long_name): New function.

* jam_src/filent.c:
  (file_dirscan): Call 'short_name_to_long_name' on argument.

* jam_src/pathunix.c:
  (ShortPathToLongPath): Move here from pwd.c, and fix bugs:
    '.' and '..' elements were completely broken.
  (short_name_to_long_name): Implement here.


[SVN r18401]
2003-05-15 13:07:09 +00:00
Vladimir Prus
f467d2c591 Cleanups. No functional changes.
[SVN r18396]
2003-05-14 10:14:27 +00:00
Vladimir Prus
c2174e7da1 Fix a latent bug.
* new/virtual-target.jam
  (abstract-file-target.actualize-action): Don't set up clean action
   here; the previous code worked by accident anyway, because 'name'
   variable was not declared in any reasonable way.
  (action.actualize): Set up clean action here, close to the place where
   updating action is set up.


[SVN r18395]
2003-05-14 10:08:39 +00:00
Vladimir Prus
67c2f9229a Add <runtime-debugging>on for debug variant.
* new/feature.jam
  - the above change, plus changed the order of values for
  'runtime-debugging' feature, to accomodate strange behaviour of
  'feature.add-defaults'.


[SVN r18392]
2003-05-14 09:00:22 +00:00
Vladimir Prus
4506620221 Clarifiy comments.
* new/feature.jam
  (add-defaults): Add a note about behaviour w.r.t. composite features.


[SVN r18391]
2003-05-14 08:57:42 +00:00
Vladimir Prus
479aca2c55 Undo woraround that is no longer necessary.
[SVN r18387]
2003-05-13 08:25:52 +00:00
Dave Abrahams
d60ab1d2d8 Removed redundant -y flag from bison flags
Added -t -v to the yacc/bison flags when --debug is used.

Additionally, we now grab $(YACCFLAGS) from the
environment/command-line to get more yacc diagnostics


[SVN r18379]
2003-05-10 17:57:44 +00:00
Dave Abrahams
f2c14abcdd Type checking for argument lists
[SVN r18378]
2003-05-10 15:03:54 +00:00
Dave Abrahams
ce38ecc9fb Build jam0 with debugging under MSVC, in case it crashes (which it does).
[SVN r18377]
2003-05-10 14:28:30 +00:00
Dave Abrahams
e9d901a04c un-pluralized "target-types" in try-one-generator.
[SVN r18370]
2003-05-08 13:33:17 +00:00
Dave Abrahams
5410ce8b21 Improved grammar of comment on specific-main-target()
Added a comment for str() and improved variable naming


[SVN r18369]
2003-05-08 13:32:34 +00:00
Dave Abrahams
8cbcbd861b Don't reverse slash direction when reconstituting paths on NT
[SVN r18368]
2003-05-08 13:30:24 +00:00
Vladimir Prus
7ed3c0d3cf Bugfix.
* new/feature.jam (get-values): Don't change slash direction on windows.
  The bug can be seen by reverting this change and adding

      import feature ;
      ECHO [ feature.get-values <file> : <file>a/b/c.dll ] ;

  to 'project-root.jam' of examples-v2/hello.


[SVN r18366]
2003-05-08 12:26:38 +00:00
Vladimir Prus
680a933600 Bugfix.
* new/virtual-target.jam
  (file-target.specific-main-target): Check not only free, but also
  dependency properties when deciding if targets is specific to the main
  target.
* new/dependency_property.py: New test.


[SVN r18363]
2003-05-08 11:24:26 +00:00
Vladimir Prus
26375482e0 Improve testing.
* new/builtin.jam: Register RSP and IMPORT_LIB types, and associated
  generators unconditionally, since the previous behaviour made using
  the same dir for testing from linux and windows inconvenient:
  "using msvc" was causing errors on linux because RSP type was not defined.


[SVN r18362]
2003-05-08 11:06:30 +00:00
Dave Abrahams
22a4b4f30b restore from disk crash
[SVN r18353]
2003-05-08 02:19:10 +00:00
Dave Abrahams
9cf94e22c7 * new/generators.jam: Improved commenting, naming, formatting
(generator.match-rank): Count also requirements when determining the rank,
   not only optional properties.
  (generator.run): Always set 'multiple' to true.


[SVN r18352]
2003-05-08 00:25:27 +00:00
Dave Abrahams
a24042fe51 On NT, force backslashes during binding phase so that files will be
found.  This used to be taken care of by path_build, but now that
we're trying to preserve slash direction there, we need this here.


[SVN r18345]
2003-05-07 16:07:40 +00:00
Rene Rivera
af8a522fd2 Removed the /LIBPATH option for MSVC compilers as it's causing too much grief.
[SVN r18336]
2003-04-30 17:05:48 +00:00
Vladimir Prus
b75c9e17ca Bugfixes.
* new/prebuilt.jam : Make 'file' feature into path-feature.
  (prebuilt-file-generator.run): Adjust accordingly.


[SVN r18328]
2003-04-28 14:12:17 +00:00
Rene Rivera
f3615c6176 Slightly better explanation of replace.
[SVN r18327]
2003-04-28 14:07:37 +00:00
Vladimir Prus
c7d21ea4f3 Cleanup.
* new/project.jam
  (lookup): If no module is associated with location, don't even try
  to get project attributes.


[SVN r18326]
2003-04-28 08:52:15 +00:00
Vladimir Prus
412ee4ad24 Fix path properties handling bug, noted by Kirill Lapshin.
* new/property.jam
  (translate-paths): Apply 'path.make' to path properties.

* test/path_features.py: Test for the bug.


[SVN r18325]
2003-04-28 08:46:16 +00:00
Vladimir Prus
e6f4b40277 Fix problem with absolute paths for sources, noted by Kirill Lapshin.
* new/virtual-target.jam
  (from-file): Pass target name via "path.make".
  (abstract-file-target.actual-name): Pass target name via "path.native".

* test/absolute_sources.py: New test.


[SVN r18324]
2003-04-28 07:55:53 +00:00
Rene Rivera
e884f70cdd Added a "replace" rule to do global string replacements.
[SVN r18316]
2003-04-26 06:20:49 +00:00
Vladimir Prus
9e57ab2d66 Bump the version number.
[SVN r18308]
2003-04-25 06:11:27 +00:00
Vladimir Prus
7dbda0c6e7 Fix mistaken commit
[SVN r18302]
2003-04-24 11:49:34 +00:00
Vladimir Prus
19e776cc6d Add a script for making distributions
[SVN r18300]
2003-04-24 11:35:40 +00:00
Vladimir Prus
139b62330a Get rid of annoying 'unused source' warning for stage targets.
* new/stage.jam
  (stage-target-class.check-for-unused-sources): Override base method with
  an empty one, since the inherited logic does not make any sense for stage.


[SVN r18295]
2003-04-23 14:17:34 +00:00
Vladimir Prus
bfb285baea Implement 'explicit targets'. This closes BB29, except for documentation
issues.

* new/project.jam: New project attribute 'explicit-targets'.
* new/targets.jam (project-target): Don't implicitly generate targets
  that are in 'explicit-targets' attribute.


[SVN r18294]
2003-04-23 13:34:17 +00:00
Rene Rivera
6a6cef153b * Add --help-usage option to display bjam options.
* Add the missing recursive display of docs when specifying --help-enable-detailed. Using it with --help-all will produce most of the available docs at once.


[SVN r18290]
2003-04-23 01:10:12 +00:00
Rene Rivera
828616e5d4 Change behaviour so that we always do a clean bootstrap.
[SVN r18287]
2003-04-21 04:39:44 +00:00
Rene Rivera
e5c152f90d Add preliminary support for building the final VMS bjam executable.
[SVN r18286]
2003-04-21 04:38:30 +00:00
Rene Rivera
e9dc74c73b Fix failing compilation on non-MSVC compilers. Specifically CodeWarriorn.
The defenitions in tchar.h prevent the definition TCHAR; windows.h must always be included before any other windows headers.


[SVN r18285]
2003-04-21 04:22:27 +00:00
Vladimir Prus
6dd39487f3 Workaround: change timestamp of 0, to 1, so that Jam does not consider
file as missing. This is needed because /cygdrive on cygwin has the
zero timestamp.

* new/fileunix.c
  (file_time): The above change.


[SVN r18256]
2003-04-16 10:01:17 +00:00
Vladimir Prus
b040c8b42e Bugfix: set NDEBUG for release builds.
* new/builtin.jam: Make <optimization>speed active property and add
  <define>NDEBUG for it.

* test/ndebug.py: New test.


[SVN r18250]
2003-04-14 11:02:34 +00:00
Vladimir Prus
9969209255 Cleanups.
* new/targets.jam
  (project-target.reference-properties): Call 'run-action' on properties,
  to match the process in 'basic-target'.

  (basic-target.refined-properties): Remove the comment about difference
  from the above rule.


[SVN r18249]
2003-04-14 10:06:20 +00:00
Vladimir Prus
21bb325dcc Bugfix: don't create duplicate virtual targets for searched lib with
the same properties. Thanks to Andre Hentz for finding this bug and
providing the test case.

* new/builtin.jam
  (searched-lib-generator.run): Pass the result through
  'virtual-target.register'.

* test/searched_lib.py: Add new test.


[SVN r18247]
2003-04-14 05:51:06 +00:00
Dave Abrahams
4fae733892 optimized insertion-sort
[SVN r18225]
2003-04-10 11:33:13 +00:00
Vladimir Prus
142365f287 Improve library handling.
* new/toolset.jam
  (flags): Add 'unchecked' parameter, too allow declaring flags for other
  modules.

* new/builtin.jam: Don't declare LIBRARY_PATH_OPTION.
* new/borland.jam: Use flags to declare LIBRARY_PATH_OPTION and LIBRARY_OPTION.
* new/msvc.jam: Use flags to declare LIBRARY_PATH_OPTION and LIBRARY_OPTION.


[SVN r18222]
2003-04-09 14:14:57 +00:00
Vladimir Prus
5eaac86c0c Make composing generators fail immediately if given no name. This,
essentially, makes composing generators fail if they are run deeper
during transformation search. Looks like a new incarnation of
'allow-composing'.

The motivation is to fight with cases where trasformation
like CPP -> OBJ -> STATIC_LIB -> RSP -> EXE was tried. The composing
OBJ -> STATIC_LIB generator was totally unprepared to be invoked at such
depth, and errored out. The new behaviour cause this transformation to be
rejected, but the search continues.

* new/generators.jam
  (generator.run-really): New rule, with most of previous 'run' content.
  (generator.run): Check arguments only and call 'run-really'. Immediately
  return if the generator is composing and no name is specified.


[SVN r18216]
2003-04-09 12:12:41 +00:00