Edgewall Software
Modify

Opened 15 years ago

Last modified 13 years ago

#372 new enhancement

multiple recipes per target plattform

Reported by: common Owned by: cmlenz
Priority: major Milestone: 0.7
Component: Build master Version: dev
Keywords: recipe Cc: trac@…
Operating System:

Description

Current structure is

  • configuration
    • project <recipe>
      • target specification 'os ~= Linux and Machine ~= i386'

When compiling c/++ code, you often have build-time-flags. For example you can link in a library optionally. To be able to compile these different builds wird bitten, one has to specify a new project, so you can specify the recipe which includes the required configure flags. This is not what you are looking for, you want to be able to specify different recipes for a target, so you can build all possible featuresets, using one or more host matching the target specification.

Therefore, proposal:

  • configuration
    • project <DEFAULT-recipe>
      • target specification 'os ~= Linux and Machine ~= i386'
        • use-DEFAULT-RECIPE
        • recipe-with-feature-a
        • recipe-with-feature-b
        • recipe-with-feature-a-and-b

Attachments (0)

Change History (5)

comment:1 in reply to: ↑ description ; follow-up: Changed 15 years ago by anonymous

Maybe better approach:

  • configuration
    • project
      • recipes
        1. default-recipe
        2. recipe-with-feature-a
        3. recipe-with-feature-b
        4. recipe-with-feature-a-and-b
      • targets
        • target specification 'os ~= Linux and Machine ~= i386'
          • recipes
            • a
            • b
            • c
            • d
        • target specification 'os ~= Solaris and Machine ~= i386'
          • recipes
            • a

comment:2 Changed 15 years ago by dfraser

  • Milestone changed from 0.6 to 0.7

I agree that this is important and needed; but it's probably prudent to no attempt this before we have a stable release of the current system

comment:3 in reply to: ↑ 1 Changed 15 years ago by anonymous

maybe even better to have recipes and targets global

  • configuration
    • recipes
      1. default-recipe
      2. recipe-with-feature-a
      3. recipe-with-feature-b
      4. recipe-with-feature-a-and-b
    • targets
      1. linux-x86_64 filter username builder and os Linux and ...
      2. openbsd-4.4-x86 filter username builder and os OpenBSD and ...
    • projects
      • project-TEST
        • targets
          • A ( linux host )
            • recipes
              • a
              • b
          • B ( openbsd host )
            • recipes
              • b
              • c
              • d

comment:4 Changed 15 years ago by Mat Booth <trac@…>

  • Cc trac@… added

comment:5 Changed 13 years ago by olaf.meeuwissen@…

One might be able to get some of this to work via slave property interpolation. See Documentation/configure.html.

Add Comment

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain cmlenz.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.