Re: Dependency cycles from C++ standard library headers

Bill Deegan <[email protected]> Thu, 14 Sep 2023 16:31:18 -0700
Newsgroups gmane.comp.programming.tools.scons.user
Message-ID <CAEyG4CECYeXF5S9VV+Z-pt6DaHZA+f7hx9jqzTQT+bXYbhkA5Q@mail.gmail.com>
Agreed.
That's a bug.
Please file an issue on Github.

-Bill

On Thu, Sep 14, 2023 at 3:17 PM Mats Wichmann <[email protected]> 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
> [email protected]
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>

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