2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-17 01:32:12 +00:00
Commit Graph

2124 Commits

Author SHA1 Message Date
Rene Rivera
c9559a38a6 Removed commented code.
[SVN r18770]
2003-06-11 05:26:17 +00:00
Vladimir Prus
f8a73bbd50 Allow project-root.jam to act as Jamfile.
* new/project-root.jam (project-root-context.project): New rule
  (find-project-rule): New rule, factored out of 'load' so that it can
  be used elsewhere.

* new/project.jam (find): When project is not yet known, try loading
  project-root, not only Jamfile.


[SVN r18759]
2003-06-10 11:07:56 +00:00
Rene Rivera
c6c6444c20 Improvements to bootstraping and building.
- build.bat; added more possible locations for VC7.
- build.bat; added an alternate for finding bison (gnuwin32.sourceforge.net version).
- build.jam; added an alternate for finding bison (gnuwin32.sourceforge.net version).
- build.jam; removed some obsolete docs from distribution.
- build.jam; fixed path problem when packaging on windows, the debian directory.
- build.jam; added header scanning to create the extra dependencies to make building the grammar work correctly.
- build.jam; fixed building of the grammar to remove attempts at building it spuriously.
- build.jam; fixed building of grammar so that it doesn't delete existing files if the yacc execution fails.
- index.html; minor cleanup of language in some places.
- index.html; removed references to no longer packaged docs.
- *; updated the version to 3.1.5 in various places.
- build.*; tested on windows with vc7, metrowerks, mingw, and borland


[SVN r18703]
2003-06-07 18:44:32 +00:00
Vladimir Prus
bac8766d2e Work-in-progress on better STLport support.
[SVN r18693]
2003-06-06 09:57:57 +00:00
Vladimir Prus
8fba943d71 Move a bunch of modules to "tools" directory. I'm uncertain about some
modules that are still in "new", but they can be moved later.


[SVN r18692]
2003-06-06 09:38:49 +00:00
Vladimir Prus
5601b6a6b0 Improve comments.
[SVN r18691]
2003-06-06 09:36:33 +00:00
Vladimir Prus
06f6b2c588 Forgotten change.
[SVN r18690]
2003-06-06 09:08:50 +00:00
Vladimir Prus
90dbefd759 Refactorings. Now usage requirements that should be propagated to dependents
are communiated via return value of 'abstract-target.generate', not as
attribute of virtual target. The advantage is that we can return usage
requirements, even if no targets were created.

Also, usage requirements is not really attribute of virtual target. If several
virtual targets are created for one main target, the previous code would set
the same usage requirements on all virtual targets.


[SVN r18689]
2003-06-06 09:02:36 +00:00
Vladimir Prus
5daf202a98 Forgotten change
[SVN r18688]
2003-06-06 06:52:06 +00:00
Vladimir Prus
0d46fcc22c Speedup: call 'normalize-raw-paths' only when we're really going to
load module.


[SVN r18687]
2003-06-06 06:31:25 +00:00
Vladimir Prus
6327d3e7be Don't warn when dependency main target produced nothing.
* new/targets.jam
  (basic-target.check-for-unused-sources): Don't warn when group
  of targets originated from one main target is empty.


[SVN r18686]
2003-06-06 06:29:31 +00:00
Vladimir Prus
22118a1c76 Add support for resource compiler, from Andre Hentz.
[SVN r18676]
2003-06-05 05:51:00 +00:00
Vladimir Prus
2ba0bd04cb Followup. The previous commit somehow was untested. Fixing some bugs now,
and additionally:

* new/targets.jam
  (generate): Create target for a file, when main target is not found.
  (basic-target.generate-sources): Don't create targets for files.


[SVN r18668]
2003-06-04 14:17:54 +00:00
Vladimir Prus
0d2f6b260b Simplify project-id and target-id handling.
* new/project.jam
  (lookup) Don't support project location in front of "@".
  (lookup-with-load): Remove.
  (find): New rule.
  (find-target): move to...

* new/target.jam
  (find): Here. And simplify.


[SVN r18667]
2003-06-04 13:30:45 +00:00
Vladimir Prus
ce2ba6245d Doc system works again.
* kernel/bootstrap.jam: Allow option handler modules to indicate that
  regular build process should be skipped.

* options/help.jam: Return 'true', don't EXIT. Existing prevents header
  scanning, which is the mechanism that makes 'doc' module work.

* new/doc.jam: Import header scanning rule into global module.
  (split-symbol): Handle the case where the are two modules with the same
  name (e.g. V1 stlport.jam and V2 stlport.jam).


[SVN r18663]
2003-06-04 05:55:25 +00:00
Dave Abrahams
dab5ce51e9 Regex bug fix
[SVN r18655]
2003-06-03 18:26:33 +00:00
Dave Abrahams
c3c84ebf7d initial commit
[SVN r18654]
2003-06-03 18:15:33 +00:00
Vladimir Prus
ebe8aca43e ".cc" is C++, too.
[SVN r18611]
2003-05-30 13:55:48 +00:00
Vladimir Prus
ce2b257a16 Bugfix from Michael Stevens: when directory names contained regex
metacharacters, Boost.Build misbehaved.

* new/path.jam
  (all-parents): Don't use regex to strip path prefix, use a more robust
    approach.

* test/bad_dirname.py: New test.


[SVN r18576]
2003-05-28 07:11:50 +00:00
Dave Abrahams
377bb87cad Enabled sorting of BBv2 modules into subdirectories
build-system.jam - moved from tools/build/new to tools/build

boost-build.jam - moved from tools/build/new to tools/build/kernel
bootstrap.jam
errors.jam
modules.jam

test/BoostBuild.py   - adjusted for the above modification
test/boost-build.jam

project-root.jam - renamed to "project-roots.jam" to avoid confusion
                   and conflict with the user's project-root.jam file

project.jam                           - adjusted for the above renaming
test/project-test1/project-test1.jam

type.jam - broke a circular module dependency


[SVN r18575]
2003-05-28 01:33:38 +00:00
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