Re: using variant_dir but strip out the variant_dir from source files

Hua Yanghao <[email protected]>
Newsgroups gmane.comp.programming.tools.scons.user
Message-ID <CAPTzt1BHkboE1A1eSoe2w6yJJuUVL359Zf9cGAqNP1qNNPp8XQ@mail.gmail.com>
Thanks Jason. I do see the -j build is broken when use the default
chdir mechansim ... thanks for the info.

The "cd  <variant directory> ; <compiler command>" solution works like
a charm. Not only it works, -jN also kept working, as well as the
implementation is just one line of change ... Thank you!
I still need the customized function to strip out the variant_dir
though that's a different story.
On Wed, Oct 24, 2018 at 7:05 PM Jason Kenny <[email protected]> wrote:
>
> Normally SCons will have the compiler output the target data into the Variant directory. In certain cases, the compiler doesn't allow control of where the output happens. SCons has a feature to change the current directory for you. However, this feature as it is, breaks the -j based builds. I work around this in my builds by changing the action to "cd  <variant directory> ; <compiler command>". This seems to solve the issue of compilers messing up stuff on disk for me at least.
> -Jason
> ________________________________
> From: Scons-users <[email protected]> on behalf of Hua Yanghao <[email protected]>
> Sent: Wednesday, October 17, 2018 2:55 PM
> To: SCons users mailing list
> Subject: [Scons-users] using variant_dir but strip out the variant_dir from source files
>
> Dear Scons User,
> I am having maybe an odd request. The background is there are some
> compilers out there produces all kinds of output in your current
> directory which you do not have control. I wanted to combine the
> variant_dir feature plus the chdir kw arguments to builders, to be
> able to invoke those compilers directly inside the variant_dir. And I
> still want to keep the source duplication in the variant_dir as it
> will be a snapshot of only the used files for a particular built out
> of thousands of irrelevant files. As a side effect now the source
> files are all prefixed with the variant_dir which becomes "invalid"
> because the compiler is already invoked in the variant_dir instead of
> the top level directory.
>
> Is there a way (e.g. a special env variable) already that when I write
> my builders instead of "$COMPILER $SOURCE", I can use something like
> "$COMPILER $ORIGINAL_SOURCE"? Or do I have to wrap around the
> $COMPILER with another command such that I can do things like
> "$COMPILER_WRAPPED $VARIANT_DIR $SOURCE"? I know the second one
> definitely can work but wondering if there are better ways already in
> scons.
>
> Best Regards,
> Yanghao
> _______________________________________________
> Scons-users mailing list
> [email protected]
> https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpairlist4.pair.net%2Fmailman%2Flistinfo%2Fscons-users&amp;data=02%7C01%7C%7C8f99675c2e4543f7684808d6346a906e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636754029620286727&amp;sdata=u%2B05v9tFavMUd54jlor3Z41OZrIrITScFekV8MHN7G0%3D&amp;reserved=0
> _______________________________________________
> 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.