2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-14 12:42:11 +00:00
Commit Graph

604 Commits

Author SHA1 Message Date
Vladimir Prus
bb73dfd63a Bugfix: recognize '.a' as valid extension for libraries, on Cygwin.
Bug reported by Wieger Wesselink.


[SVN r18559]
2003-05-27 14:23:51 +00:00
Vladimir Prus
3fb20369d8 Add infrastructure which allows project-root.jam to fulfil Jamfile
role as well, so that small projects can use only one file.

* new/project.jam
  (load): Load project root at the very start, in case it wants to
     be Jamfile.
  (act-as-jamfile): New rule.
  (module-name): Allow to tweak the name of module associated with a location.


[SVN r18557]
2003-05-27 07:00:32 +00:00
Vladimir Prus
f93a741446 Refactorings.
* new/project.jam
  (load): Prevent loading jamfile twice here, since we have all the
     necessary data.
  (load-jamfile): Don't try to check for duplicate loading (the check
     was a bit clumsy, anywhay). Remove 'loaded-var' parameter.


[SVN r18556]
2003-05-27 06:35:48 +00:00
Vladimir Prus
2459873857 Change the QT toolset to use new standalone project feature.
[SVN r18545]
2003-05-26 14:44:24 +00:00
Vladimir Prus
e8463abada Allow 'standalone' projects.
* new/project.jam
  (inherit-attribute): New rule, extracted from 'initialize'.
  (initialize): Allow 'jamfile' parameter to be empty, in which case
    the project is 'standalone'.


[SVN r18544]
2003-05-26 14:30:26 +00:00
Vladimir Prus
13c385b491 Refactorings. Use module name to identify Jamfiles, not the directory where
they are located. The problem with using the directory name is that we might
want toolset modules to act as project, and directory name is not unique then.
We might even want to declare two projects in the same module.


[SVN r18542]
2003-05-26 13:51:21 +00:00
Vladimir Prus
88370d5a63 Refactorings: remove 'project-root' attribute of project, for lack of any
use.

* new/project.jam
  (initialize): Register with project root here. Don't initialize the
   'project-root' attribute.
  (project-attributes.set): Don't allow 'project-root' and 'project-root-module'.


[SVN r18541]
2003-05-26 12:56:24 +00:00
Vladimir Prus
1d0317cd2e Introduce 'profile' variant.
[SVN r18509]
2003-05-23 11:36:27 +00:00
Vladimir Prus
5dc40cd49a Bugfix.
* new/stage.jam
  (stage-target-class.construct): Pass the result via
  'virtual-target.register'. I wonder if virtual targets should
   be create via 'virtual-target.create' which will invoke
  'virtual-target.register' internally. Passing via 'register' was forgotten
   in many places.

* test/stage.py: New test.


[SVN r18497]
2003-05-22 13:23:40 +00:00
Vladimir Prus
c052b1ad2b Add/clarify comments.
[SVN r18496]
2003-05-22 11:50:10 +00:00
Vladimir Prus
2e2d1a1685 Fix debian package build.
[SVN r18492]
2003-05-22 08:41:18 +00:00
Vladimir Prus
220713e082 Use the previous approach for finding generator's match rank, now
that we have a use case. Add an explanation in code. More details
will be posted to the list.


[SVN r18475]
2003-05-21 05:37:39 +00:00
Vladimir Prus
51d8568b7c Fix a couple of fallouts from the default build change.
* new/make.jam
  (make): Pass 'default-build' in the right position.

* new/targets.jam
  (basic-target): Use empty property-set if no default-build is passed.
  (main-target): Use 'raw' to test property-set for emptines. The string
  emptyness test that use to be there does not works for property-sets.


[SVN r18440]
2003-05-19 10:28:02 +00:00
Vladimir Prus
26a1bae954 Check for bjam 3.1.5.
[SVN r18439]
2003-05-19 10:09:56 +00:00
Vladimir Prus
2f3cd9913e Bump bjam version to 3.1.5. The current V2 codebase won't work with
older bjams, at all.


[SVN r18437]
2003-05-19 10:07:00 +00:00
Vladimir Prus
1d14f245bf Fix a bug with default build handling. The bug was caused by the fact that
default build was stored as plain list, and implied properties were not
converted. E.g. we had "debug release", not "<variant>debug <variant>release",
which was assumed.

* new/targets.jam
  (main-target, basic-target): Store 'property-set' as default-build
  attribute.
  (main-target-default-build): Use 'property-set.create-with-validation'.

* new/property-set.jam
  (create-with-validation): New rule.

* test/default_build.py: More tests.


[SVN r18436]
2003-05-19 09:54:08 +00:00
Dave Abrahams
4ee5b15a5d * expand.c - Implemented :W modifier for Cygwin->Windows path
translation.  Cleaned up indentation and idiomatic use of string.

* index.html - documented recent features including VARNAMES and
  DELETE_MODULE

* borland.jam, msvc.jam - use the new :W modifier to simplify
  code (but only somewhat)

* BoostBuild.py - ignore MSVC .ilk files under Cygwin and NT


[SVN r18434]
2003-05-19 06:30:44 +00:00
Dave Abrahams
1722b16700 * Restored the printing of qualified names from invoked actions.
Consequently rolled back the workaround in make_rule.py

* Added new indirect rule invocation module for encoding the module to
  invoke a rule from as well as the exact name to invoke it by, and
  for subsequent invocation.

* Fixed module __test__ rules so they really do execute in a separate
  module.  Associated tweaks to __test__ in path.jam


[SVN r18427]
2003-05-16 16:30:13 +00:00
Dave Abrahams
f649657300 Added missing import
[SVN r18426]
2003-05-16 15:51:36 +00:00
Dave Abrahams
2da99c1a86 Fixed scoping of invocations to typechecking rules. They weren't being
executed in the right module.


[SVN r18425]
2003-05-16 15:51:08 +00:00
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