On Wed, 5 Sep 2018, Andrew Stubbs wrote: > I suppose someone might choose to compile things on an alternative system for > running on a compatible system, in which case we'd want to simply skip this > binary. > > How does one normally do this?
I'd expect a configure test plus makefile conditionals in the makefile fragment. > > A new port should add an appropriate entry to contrib/config-list.mk. > > You should also verify that the port does build using that > > contrib/config-list.mk entry, with the same version of GCC, built > > natively, in the PATH, or equivalently that the port builds with the same > > version of GCC, built natively, in the PATH, when you configure with > > --enable-werror-always and the other options config-list.mk uses - this is > > the cross-compiler equivalent of the native use of -Werror in the later > > stages of bootstrap. (Preferably verify this building for both 32-bit and > > 64-bit hosts, since it's easy to have warnings that only show up for one > > but not the other.) > > I didn't know about that one. See sourcebuild.texi, "Back End", for lists of places to update for a new port, which includes config-list.mk in the list of places to update for a port being contributed upstream. > I see it uses "--enable-languages=all", but GCN is known to fail to build > libstdc++ (exceptions and static constructors are not implemented), so I > wouldn't expect the build to succeed. It also uses "make all-gcc", so only the host-side tools need to build (without warnings when building with the same version of GCC, except for the files that specifically use -Wno-<something>), not any libraries. -- Joseph S. Myers jos...@codesourcery.com