Hi Eric,

thanks for working on this.

> On 17 Aug 2023, at 20:35, Eric Gallager <eg...@gwmail.gwu.edu> wrote:
> 
> This is a pretty simple patch that ought to help Darwin users understand
> better why their build is failing when they forget to pass the
> --with-sysroot= flag to configure.
> 
> gcc/ChangeLog:
> 
>    PR target/90835
>    * Makefile.in: improve error message when /usr/include is
>    missing

1. the main issue with this approach is that the error does not happen until 
after the
   user has waited for the whole of the stage 1 build.

   (I had in mind the idea that top level configure can identify that the 
platform
    is Darwin, and that there is no sysroot configured; 
     then [for bootstrap] complain if there is no /use/include
     els [for non-bootstrap] complain always)

- this would mean that the fail occurs at initial configure time.

2. if we went with this patch as an incremental improvement:

+             case ${build_os} in \
+               darwin*) \
+                 echo "(on darwin this usually means you need to pass the 
--with-sysroot flag to configure to point it to where the system headers are 
actually put)" >&2; \

I think we need to put this in terms that relate to the system and things the 
user can find, so ;
“on Darwin this usually means you need to pass the --with-sysroot= flag to 
point to a valid MacOS SDK”

(In practice, the headers cause the first fail, but we also need to find the 
libraries when linking)

Iain



Reply via email to