[Scons-users] Dependency missed when the included filename is defined by a preprocessor macro

Bill Deegan bill at baddogconsulting.com
Tue Mar 14 11:24:01 EDT 2017


I beleive you asked this question on stackoverflow and I pointed you at a
pull request which has much of the preprocessor functionality in it.
We've not yet merged it, its a work in progress.

Please give that a try.
-Bill
SCons Project co-manager

On Tue, Mar 14, 2017 at 8:04 AM, Jean-Baptiste Lab <
jeanbaptiste.lab at gmail.com> wrote:

> Hi Julien,
>
> That would require that SCons implements a fully-fledged preprocessor...
> It is not the case now and I don't think this is on the roadmap.
>
> However, you could maybe wrap the Program builder in a function that would
> automatically add the HELLO_H value to the dependencies with env.Depends(),
> using a new env variable like PREPOC_HEADERS?
>
> Hope this helps,
>
> JB
>
>
> On 2017-03-14 11:16, Julien Pommier wrote:
>
> Hi,
>
> I’m using a library that #includes a header file whose name is defined by
> a preprocessor macro. Unfortunately, scons does not seem to add this file
> to the dependency list of the file that does the #include
>
> Here is a short example:
>
> I have a hello.c file that is:
>
> #include HELLO_H
> #include <stdio.h>
> int main() {
>   printf(MESSAGE);
>   return 0;
> }
>
> and a hello.h file that is:
>
> #define MESSAGE "HELLO\n”
>
> My SConstruct is:
>
> env=Environment()
> env.Append(CPPDEFINES={'HELLO_H':'\'"hello.h"\'’})
> env.Program('hello.c’)
>
>
> The hello program is not rebuilt when I edit the content of ‘hello.h’.
>
> Is there a workaround for that ? I know I can add a Depends(‘hello.c’,
> ‘hello.h’) , but that is not a very convenient solution for me, as I would
> have to do it in many places.
>
> Best regards,
> Julien
>
>
> _______________________________________________
> Scons-users mailing listScons-users at scons.orghttps://pairlist4.pair.net/mailman/listinfo/scons-users
>
>
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20170314/25f5bec0/attachment.html>


More information about the Scons-users mailing list