Re: dynamic flow handling

daggs <[email protected]>
Newsgroups gmane.comp.programming.tools.scons.user
Message-ID <trinity-9bf46f11-b163-4f74-947d-7709aec7b60f-1568657123918@3c-app-mailcom-bs02>
Greetings,

more than I had before, there are still some gaps I'm unable to fill

Dagg

Sent: Monday, September 16, 2019 at 8:52 PM

From: "Bill Deegan" <[email protected]>

To: "SCons users mailing list" <[email protected]>

Subject: Re: [Scons-users] dynamic flow handling

Did you ever get a full comprehension of how SCons works from our discussion on IRC?

On Mon, Sep 16, 2019 at 10:40 AM daggs <[email protected] > wrote:

Greetings,

I'm trying to build flow that given a tar file, it will unpack it, patch it prepare, compile and install.

thing is, not all the tar files are the same, some are kbuild based, some configure, some are simple makefile and some are cmake.

for kbuild I need to copy and exiting config and run make oldconfig. for configure, I need to run configure and maybe reconfigure some of the pre configure were changed.

maybe the right way is to have a constant flow with targets for all possiblities and if a step isn't needed, than I can force the stage to be dummy

Dagg.

Sent: Monday, September 16, 2019 at 6:32 PM

From: "Bill Deegan" <[email protected] >

To: "SCons users mailing list" <[email protected] >

Subject: Re: [Scons-users] dynamic flow handling

Once you add the dependencies to the tree you cannot modify it.

(well at least the means to do so would be reaching way into the code and not supported or advised)

You need to give us a concrete example of what you mean by "code that runs some form of detection"

On Mon, Sep 16, 2019 at 4:39 AM daggs <[email protected] > wrote:

Greetings,

I'm working on a scons based project that works as follows, there are 5 steps, a,b,c,d,e

each of them is a builder.

upon scons calling, I do the following:

target_a = env.Call_a(target_a, obj, ...)

target_b = env.Call_b(target_b, target_a, ...)

target_c = env.Call_c(target_c, target_b, ...)

target_d = env.Call_d(target_d, target_c, ...)

target_e = env.Call_e(target_e, target_d, ...)

this results in the following tree:

+-output

| +-output/r

| +-output/r/build

| | +-output/r/build/src

| | +-output/r/build/src/flow

| | +-target_e

| | | +-target_d

| | | +-target_c

| | | +-target_b

| | | +-target_a

| | | +-obj

here is where it gets complicated, in Call_c, there is a code that runs some form of detection and upon that, there might be a need to change the flow a bit, for example, copy a file and the call Call_d with different params.

e.g.:

+-output

| +-output/r

| +-output/r/build

| | +-output/r/build/src

| | +-output/r/build/src/flow

| | +-target_e

| | | +-target_d

| | | +-target_c

| | | +-copy_file

| | | +-target_d

| | | +-target_b

| | | +-target_a

| | | +-obj

or even, call another new builder named t.

is there a way todo so?

Thanks,

Dagg.

_______________________________________________

Scons-users mailing list

[email protected]

https://pairlist4.pair.net/mailman/listinfo/scons-users

_______________________________________________ Scons-users mailing list [email protected] https://pairlist4.pair.net/mailman/listinfo/scons-users

_______________________________________________

Scons-users mailing list

[email protected]

https://pairlist4.pair.net/mailman/listinfo/scons-users

_______________________________________________ Scons-users mailing list [email protected] https://pairlist4.pair.net/mailman/listinfo/scons-users

_______________________________________________
Scons-users mailing list
[email protected]
https://pairlist4.pair.net/mailman/listinfo/scons-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.