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

324 Commits

Author SHA1 Message Date
Vladimir Prus
c1d153e914 Add missing file.
[SVN r18932]
2003-07-03 10:11:38 +00:00
Vladimir Prus
d2ad8e70c5 Implement inline main targets.
* new/targets.jam
  (main-target-sources): New rule.
  (abstract-target.rename): New rule
  (project-target.rename-main-target): New rule.


[SVN r18923]
2003-07-03 07:23:26 +00:00
Vladimir Prus
eb5d60e764 Make searched targets really work on borland.
* new/builtin.jam
  (lib-generator): Remove.
  (lib-target-class): New class. Target class is more powerfull then
  generator, here.

* new/generators.jam
  (construct): New argument 'return-all'.

* bew/property-set.jam
  (property-set.add-raw): New method.


[SVN r18917]
2003-07-02 12:23:50 +00:00
Vladimir Prus
745fbefcf4 Add --preserve option to test system.
[SVN r18915]
2003-07-02 11:46:19 +00:00
Vladimir Prus
6834f94a49 Robustify dependency_test.
[SVN r18907]
2003-07-01 14:10:03 +00:00
Vladimir Prus
a61389b1c6 Change the core so that both "existing" and "updated" modifiers are both
allowed.


[SVN r18901]
2003-07-01 09:45:56 +00:00
Vladimir Prus
3a68b842ae The "explicit" targets are now specified by "explicit" rule in Jamfile,
not by project attribute. The problem with the previous interface was
that it was not possible to mark target as explicit anywhere else,
such as in helper module which declares target in project module, or
in toolset module.

* new/targets.jam
  (project-target.mark-target-as-explicit): New rule
  (project-target.targets-to-build): Use self.explicit-targets.

* new/project.jam
  (project-attributes.set): Don't allow 'explicit-targets'.


[SVN r18900]
2003-07-01 06:46:15 +00:00
Vladimir Prus
ee237153c7 Update build system for bjam changes.
[SVN r18890]
2003-06-30 14:28:05 +00:00
Vladimir Prus
bd5a03d448 Handle include dependencies between generated sources correctly.
[SVN r18889]
2003-06-30 14:24:20 +00:00
Vladimir Prus
c2abccc7de Bugfix: make searched libraries really work on borland.
[SVN r18867]
2003-06-24 12:43:11 +00:00
Vladimir Prus
cace6663db Enable 'custom_generator' test.
[SVN r18833]
2003-06-18 06:37:43 +00:00
Vladimir Prus
83394f7ff8 Implement new target-id syntax.
[SVN r18780]
2003-06-11 12:22:03 +00:00
Vladimir Prus
58f0dbb5cd Compile C files with C compiler, not C++. This commit would close BB32, if
it included MSVC...

* new/toolset.jam:
  Allow action names with dots, so that we can set flags for
   gcc.compile.c, gcc.compile and gcc and combine those flags.

* tools/gcc.jam: Use 'gcc' for compiling C files. There's still a problem:
   'init' rules does not allow to configure name of C compiler. Also, don't
   declare flags individually for gcc.link and gcc.link-dll.

* tools/borland.jam: Force C++ compile when needed.


[SVN r18774]
2003-06-11 08:40:45 +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
Vladimir Prus
bc4878cdd8 Update railsys for recent changes.
[SVN r18694]
2003-06-06 10:06:14 +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
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
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
5a4da8e5d5 Remove 'boost-build.jam' files from 'railsys' test, since they mess up
testing.


[SVN r18583]
2003-05-28 11:32:01 +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
Dave Abrahams
6bc8613bab Give a little feedback about the current directory when a test fails
[SVN r18571]
2003-05-27 23:59:03 +00:00
Vladimir Prus
c1aa2a6273 Update the railsys tests for recent QT changes.
[SVN r18555]
2003-05-27 06:08:09 +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
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
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
95ec8bfc41 Ignore borland debug symbols.
[SVN r18448]
2003-05-19 12:39:06 +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
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
db91ec9eeb Unbreak make_rule.py. The change in actions reporting broke it.
[SVN r18422]
2003-05-16 12:38:50 +00:00
Vladimir Prus
b651eb1fee Run 'unused' now that it works.
[SVN r18421]
2003-05-16 12:15:36 +00:00
Vladimir Prus
bb4b314443 Add missing import.
[SVN r18420]
2003-05-16 12:14:56 +00:00
Vladimir Prus
23078d9d4a Add forgotten files.
[SVN r18417]
2003-05-16 11:23:17 +00:00
Dave Abrahams
7555f7e166 added missing import
[SVN r18412]
2003-05-15 22:31:03 +00:00
Dave Abrahams
ce112daf23 Workaround svn_tree deficiency on Cygwin
[SVN r18411]
2003-05-15 22:30:47 +00:00
Dave Abrahams
3bb7442512 * added new builtin tests
* handle the absence of QT more gracefully

* flush stdout after each test so that emacs shows progress

****** Commented out tests which appear to be failing outside my control ******


[SVN r18410]
2003-05-15 22:30:08 +00:00
Dave Abrahams
1e2b34c928 tests for new builtin rules
[SVN r18409]
2003-05-15 22:27:47 +00:00
Dave Abrahams
acb95541c1 * Prefer to test with a debug version of bjam if one is available
* Always dump stdio/stderr when there's a failure


[SVN r18408]
2003-05-15 22:27:25 +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
a26f853035 Add tests for typechecking facilities.
* test/core_typecheck.py: New test
* test/core_d12.py: Don't pass toolset name to bjam.
* test/test_all.py: Run core tests.


[SVN r18390]
2003-05-14 06:44:43 +00:00
Vladimir Prus
f66ff9d456 Add missing call to BoostBuild.Tester.cleanup.
[SVN r18389]
2003-05-14 06:38:04 +00:00
Vladimir Prus
6287b25112 Improve tests.
* tests/prebuilt/ext/Jamfile3: Test that prebuilt targets with
  absolute names work.


[SVN r18371]
2003-05-08 13:52:28 +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
Dave Abrahams
22a4b4f30b restore from disk crash
[SVN r18353]
2003-05-08 02:19:10 +00:00
Dave Abrahams
5f99b86bd1 Enable symlink test for Cygwin, since it's been fixed there.
[SVN r18347]
2003-05-07 16:08:33 +00:00
Dave Abrahams
340fd6efa6 Works on Cygwin now
[SVN r18346]
2003-05-07 16:08:04 +00:00