[Scons-users] Dependency cycles from C++ standard library headers

Bill Deegan bill at baddogconsulting.com
Thu Sep 14 19:31:18 EDT 2023


Agreed.
That's a bug.
Please file an issue on Github.

-Bill

On Thu, Sep 14, 2023 at 3:17 PM Mats Wichmann <mats at wichmann.us> wrote:

> On 9/14/23 11:44, Bill Deegan wrote:
> > I'd vote for changing the program name.
> > Simpler and unless you're really stuck on having files matching c++
> > header file names, no reason not to change?
>
> ...
>
> >         For example, if map.cc contains:
> >
> >            #include <map>
> >            int main(int, char **) { }
> >
> >         and SConstruct contains:
> >
> >            Program('map', ['map.cc'])
> >
> >         scons fails with:
> >
> >            scons: *** Found dependency cycle(s):
> >              map -> map.o -> map
> >
> >         Same thing for programs called "random", "string", "vector", etc.
>
> Meanwhile, I'd argue this is a bug.
>
> The standard headers certainly aren't in the build directory, so why
> (disregarding actual implementation details which make it so) should
> this be flagged as a dependency cycle?
>
> At the very least, we should find someplace to document this as it's
> clearly a "surprise". There are like 200 of these from
> libstdc++-devel... are all of those ineligible for use as target names
> if the header happens to be included?
>
>
>
>
> _______________________________________________
> 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/20230914/64db6d72/attachment.htm>


More information about the Scons-users mailing list