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

41 Commits

Author SHA1 Message Date
Vladimir Prus
7d1d907ec5 Testsuite fixes for windows.
[SVN r55332]
2009-08-01 10:31:05 +00:00
Vladimir Prus
f47d83789a Attempt at fixing generators_test on windows
[SVN r55198]
2009-07-27 07:20:34 +00:00
Jurko Gospodnetić
5edbde2a57 Renamed differently named Jamroot and Jamfile files throughout Boost Build's test suite to jamroot.jam & jamfile.jam. Stylistic changes throughout the whole Boost Build test suite.
[SVN r48504]
2008-08-31 21:42:27 +00:00
Rene Rivera
7bd0201fd3 Add copyrights+license (with help of a shell script).
[SVN r35861]
2006-11-06 01:44:13 +00:00
Vladimir Prus
0125984e83 Unbreak generators_test:
- rename UI type to TUI to avoid conflicts with Qt
- adjust to print.text changes


[SVN r31645]
2005-11-14 14:36:45 +00:00
Vladimir Prus
7b2749353b Refactor generators a bit.
* If a generator was given a source it could not handle, it used to return
  that source together with generated targets. This was nice for some use
  cases, but no very nice for others, and this behaviour could not be turned
  off. One use case where it worked bad was:

      lib plugin : plugin.cpp helper ;
      lib helper : helper.cpp ;

  On windows, 'plugin' would link to the 'import library' and pass the DLL
  target though. So, when installing 'plugin', we'd also install 'helper.dll',
  and it was not possible to do anything about it.

* If we asked generators.construct to produce sources of type CPP,
  and the selected generator produced both targets of type CPP, and of
  some other type, we'd try again to convert those other targets to CPP.
  This simply complicated the logic for no good reason.

* Most generator function had 'multiple' parameter, which function
  was long forgotten by anybody.

As a bit of history, I believe some of the above decisions were due to a
certain use case:

          CPP <------- WHL
                          \
                            WD
                          /
          CPP <------- DLP

Here, a source file is converted to two targets with one command, and each
produced file is converted to CPP. Our generators search would notice that
there are two generators for CPP: the WHL->CPP and DPL->CPP
generators. Neither is better that the other so both are tried, and produce
(CPP, DPL) and (CPP, WHL) pairs of targets. To avoid reporting an ambiguity,
we'd try to convert, DLP to CPP and WHL to CPP, do it successfully, notice
that produced targets are the same and decide that there's no ambiguity.

However, this is rather complex logic for a relatively rare case. It can
be handled by writing another WD->CPP generator that would handle
disambiguation itself.

This commit has one user-visible change. The code:

  exe a : a.cpp b ;
  obj b : b.cpp helper;
  lib helper ;

No longer works -- the 'a' target won't link to 'helper'. However, this is
pretty stange code and worked before almost by accident.


[SVN r29361]
2005-06-02 06:43:56 +00:00
Vladimir Prus
0c3a86e511 Tweak computation of target names from source names.
* build/generators.jam
  (generator.generated-targets): Comment the desired semantics.

* util/utility.jam
  (basename): Take the part till the last dot, not the first.


[SVN r27374]
2005-02-14 08:25:07 +00:00
Vladimir Prus
6155a88116 More type declaration cleanup.
* build/type.jam (register): Remove the 'main' parameter.
* other files: Don't pass the 'main' parameter.


[SVN r26449]
2004-12-06 13:59:51 +00:00
Vladimir Prus
28867fecac Allow a generator's 'run' method to return additional usage requirements
as the first elements of result. Those usage requirements will be combined
with explicitly specified for the main target.

This is yet another step towards making 'main target classes' unnecessary.

* build/generators.jam
  (try-one-generator): Check if generator returned usage requirements or not.
  (construct): Make sure first element of result is always property set.
  (many other methods): Induced changes

* tools/builtin.jam
  (exe-target-class, lib-target-class): Remove.
  (linking-generator, seached-lib-generator): Compute usage requirements.
  (archiving-generator): New class


[SVN r26192]
2004-11-12 08:11:14 +00:00
Vladimir Prus
ffc3024749 Change the way generators selection works. Now, instead of computing
'rank' for each viable generator, we use explicit information of the
form 'generator A is better than generator B', which is provided by
the user. The obvious goal is to fix 'custom_generator' failure on
msvc, but generally, I'm fixing BB76 -- which says that current generators
selection is very broken.


[SVN r25361]
2004-09-23 07:44:59 +00:00
Vladimir Prus
a2eb2e08cf Don't generate empty source file -- SunCC warns in that case.
[SVN r25000]
2004-09-10 11:46:22 +00:00
Vladimir Prus
e7c04a87b7 Work around generators_test failure on msvc
[SVN r24885]
2004-09-03 08:03:26 +00:00
John Maddock
e2dece22ae removed the last boost.org copyright
[SVN r24615]
2004-08-20 11:32:03 +00:00
John Maddock
a03b7b44f5 Converted files to the BSL.
[SVN r24614]
2004-08-20 11:10:24 +00:00
John Maddock
f247ce8bf7 Updated copyrights to reflect true author (see discussion on Jamboost list).
[SVN r24500]
2004-08-16 11:23:58 +00:00
Vladimir Prus
d02a14907d Bugfix: allow a generator to create two targets of the same type.
* new/generators.jam
  (generator.__init__): Use parallel lists to store prefixes and postfixes
  for a name, not mapping with type as a key, since type is not unique.
  (generator.generated-targets): Adjust.


[SVN r19990]
2003-09-10 07:39:45 +00:00
Vladimir Prus
7addaa692b Remove support for old-style target ids.
[SVN r19913]
2003-09-04 11:06:14 +00:00
Vladimir Prus
81dc7f094b Rename 'xclass' to 'class'.
[SVN r19458]
2003-08-05 05:25:33 +00:00
Vladimir Prus
a8291718dd Rename 'xnew' to just 'new'.
[SVN r19434]
2003-08-04 11:12:30 +00:00
Vladimir Prus
96ba56a2e9 Drop all style classes support.
[SVN r19433]
2003-08-04 10:53:34 +00:00
Vladimir Prus
07fbff6420 Move generators to new-style classes.
[SVN r19427]
2003-08-04 09:19:54 +00:00
Vladimir Prus
303e1f6e62 Test tweak: don't import toolsets --- user-config/test-config should do that.
[SVN r18218]
2003-04-09 12:14:28 +00:00
Dave Abrahams
155baed247 Fixes for testing
[SVN r17642]
2003-02-25 14:37:10 +00:00
Vladimir Prus
72a0eb1444 Towards really cross-toolset testing system.
- Allow to specify toolset name on the command line
- Expand $toolset in paths
- Pass toolset name to bjam invocations.


[SVN r17555]
2003-02-20 13:08:51 +00:00
Björn Karlsson
ceed39ea29 Added copyright statement
[SVN r17224]
2003-02-05 09:33:54 +00:00
Vladimir Prus
8a400ce9ff Enable warnings for gcc.
* new/gcc.jam: The change itself.

* test/generators-test/Jamfile: Supress a warning :-)


[SVN r17058]
2003-01-28 08:46:22 +00:00
Vladimir Prus
88a1bd33e1 Use more strict checks of suffix->type mapping. Does
allow type for a suffix to change.

* new/type.jam
    (register-suffixes): New rule. ( suffixes + : type )
    (register): Use the above.


[SVN r16848]
2003-01-10 10:02:13 +00:00
Dave Abrahams
b28e3ce29e Added missing newline at EOF which was causing warnings and thus test
failures with gcc-3.2


[SVN r16755]
2003-01-05 17:42:37 +00:00
Vladimir Prus
ac6efa3dc8 Forgotten change.
[SVN r16248]
2002-11-15 07:15:10 +00:00
Vladimir Prus
4bb9890107 Revive all the tests.
* boost_build_v2.html: Document new option.

* new/generators.jam (find-viable-generators): Revert part of Dave's
   commit, essentially disabling finding base type generators.
   This part breaks a test, and need to be thinked about.

* new/errors.jam: Handle "--no-error-backtrace" option.

* test/project_test4.py: Adjust for new error syntax.


[SVN r16233]
2002-11-14 10:17:50 +00:00
Vladimir Prus
da0376118c Cleanups.
[SVN r15651]
2002-10-02 16:13:54 +00:00
Vladimir Prus
4af9e4371f Test for poor main's per-source requirements.
* new/builtin.jam: Make 'obj' main type.
    * new/generators-test/*: Try compiling the same CPP file with
        different defines and linking in the same exe.


[SVN r15649]
2002-10-02 12:38:13 +00:00
Vladimir Prus
f1ae04c4a9 Infrastructure for dependency scanning.
* virtual-target.jam (virtual-target.actualize): Accept
        'scanner' parameter and create different actual targets
        for different values of that parameter.
     (virtual-target.includes): Remove.
     (binding): New rule
     (remember-binding): New rule.

    * type.jam (set-scanner): New rule. (get-scanner): New rule.

    * scanner.jam: New file.

    * class.jam (__init__): Define __name__ in class scopes.

    * builtin.jam (c-scanner): New scanner class, associated with CPP
        files.


[SVN r15644]
2002-10-02 10:04:03 +00:00
Vladimir Prus
4c4567dde5 Introduced SHARED-LIB and STATIC-LIB target types. Also introduced LIB target
type and a generator, which relays either to SHARED-LIB or STATIC-LIB,
depending of the value of "shared" feature.


[SVN r15529]
2002-09-27 07:35:03 +00:00
Vladimir Prus
38f178b0d8 Work in progress.
- Got rid of vectors of vectors in generators code. That was not only slow, it
  was also troublesome.
- Started work on transformation caching. Works but needs review/cleanup.


[SVN r15465]
2002-09-20 12:50:44 +00:00
Vladimir Prus
c46c7fdae0 Prevent creating two equivivalent virtual targets. This, in particular,
prevents complining the same source twice with the same properties.
Also allow generators to change source names using patterns.

    * new/generators.jam (generator): Accept name patterns together with
        target types.
        (generator.generated-targets): Use name patterns. Transform generated
        targets with 'virtual-targets.register', to eliminate duplicate
        virtual targets.


[SVN r15302]
2002-09-13 12:19:42 +00:00
Vladimir Prus
23e47181a9 Small fix.
[SVN r15268]
2002-09-11 15:54:39 +00:00
Dave Abrahams
503f434ea3 More cygwin/NT compatibility fixes
[SVN r15267]
2002-09-11 15:40:32 +00:00
Dave Abrahams
f175af9955 Workaround for cywgin/NT build
[SVN r15263]
2002-09-11 14:37:25 +00:00
Vladimir Prus
4950f269d3 Some cleanups. At the same time, allowed several suffixes to target types
(e.g. "cpp" and "cxx").


[SVN r15262]
2002-09-11 14:18:52 +00:00
Vladimir Prus
00be3e6cc4 Added future generators test -- not automated now.
[SVN r14926]
2002-08-16 14:25:22 +00:00