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

316 Commits

Author SHA1 Message Date
Vladimir Prus
7be0988b89 Add missing file.
[SVN r18932]
2003-07-03 10:11:38 +00:00
Vladimir Prus
60e89037fb 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
d9389bf4c0 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
c51bffadef Add --preserve option to test system.
[SVN r18915]
2003-07-02 11:46:19 +00:00
Vladimir Prus
808127309e Robustify dependency_test.
[SVN r18907]
2003-07-01 14:10:03 +00:00
Vladimir Prus
0cd8d6599d 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
1d55c1e7bd 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
3951fbdb98 Update build system for bjam changes.
[SVN r18890]
2003-06-30 14:28:05 +00:00
Vladimir Prus
3ea74bbb4f Handle include dependencies between generated sources correctly.
[SVN r18889]
2003-06-30 14:24:20 +00:00
Vladimir Prus
059b164b4c Bugfix: make searched libraries really work on borland.
[SVN r18867]
2003-06-24 12:43:11 +00:00
Vladimir Prus
8a325d5576 Enable 'custom_generator' test.
[SVN r18833]
2003-06-18 06:37:43 +00:00
Vladimir Prus
3bcac7043d Implement new target-id syntax.
[SVN r18780]
2003-06-11 12:22:03 +00:00
Vladimir Prus
876db3471e 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
68b0b38622 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
f5c9b75e3c Update railsys for recent changes.
[SVN r18694]
2003-06-06 10:06:14 +00:00
Vladimir Prus
140e8a9103 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
736169e2b3 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
ecbc945e8e 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
43f3855045 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
a87f41243c 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
d9d8785236 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
7035a065ab Give a little feedback about the current directory when a test fails
[SVN r18571]
2003-05-27 23:59:03 +00:00
Vladimir Prus
3bc7e08c2a Update the railsys tests for recent QT changes.
[SVN r18555]
2003-05-27 06:08:09 +00:00
Vladimir Prus
fd6016b3cd 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
e843a3ed33 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
49f08e0d86 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
f7ef4fd7c8 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
5c685928a7 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
02ff2c7385 Ignore borland debug symbols.
[SVN r18448]
2003-05-19 12:39:06 +00:00
Vladimir Prus
254e4195c8 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
69e27f57bf * 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
44b48fc7df * 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
a644f2547e 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
cdd7a5cc87 Unbreak make_rule.py. The change in actions reporting broke it.
[SVN r18422]
2003-05-16 12:38:50 +00:00
Vladimir Prus
96badcb2f7 Run 'unused' now that it works.
[SVN r18421]
2003-05-16 12:15:36 +00:00
Vladimir Prus
26413a973a Add missing import.
[SVN r18420]
2003-05-16 12:14:56 +00:00
Vladimir Prus
5b0b2ceb77 Add forgotten files.
[SVN r18417]
2003-05-16 11:23:17 +00:00
Dave Abrahams
093a2e4360 added missing import
[SVN r18412]
2003-05-15 22:31:03 +00:00
Dave Abrahams
eb53f18c4c Workaround svn_tree deficiency on Cygwin
[SVN r18411]
2003-05-15 22:30:47 +00:00
Dave Abrahams
49471a99a5 * 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
476cddb659 tests for new builtin rules
[SVN r18409]
2003-05-15 22:27:47 +00:00
Dave Abrahams
8ec0efd118 * 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
21ea3db0f5 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
d76f774539 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
fc4ec011d0 Add missing call to BoostBuild.Tester.cleanup.
[SVN r18389]
2003-05-14 06:38:04 +00:00
Vladimir Prus
9825fa6a23 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
828ccf61b5 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
d48633dfa3 restore from disk crash
[SVN r18353]
2003-05-08 02:19:10 +00:00
Dave Abrahams
d64de239e9 Enable symlink test for Cygwin, since it's been fixed there.
[SVN r18347]
2003-05-07 16:08:33 +00:00
Dave Abrahams
23b9de2434 Works on Cygwin now
[SVN r18346]
2003-05-07 16:08:04 +00:00