> >> #if defined (__APPLE__) > >> -#include <unistd.h> > > > > If removing unistd.h is intentional (i.e. you determined that it’s no longer > > needed for Darwin), then we should make that a separate patch. > > I thought that I’d had to include unistd.h for the first patch in this > thread; clearly not! > > What I hope will be the final version:
OK here. > ——— 8< .——— > > In gcc/ada/adaint.c(__gnat_get_file_names_case_sensitive), the current > assumption for __APPLE__ is that file names are case-insensitive > unless __arm__ or __arm64__ are defined, in which case file names are > declared case-sensitive. > > The associated comment is > "By default, we suppose filesystems aren't case sensitive on > Windows and Darwin (but they are on arm-darwin)." > > This means that on aarch64-apple-darwin, file names are treated as > case-sensitive, which is not the default case. > > The true default position is that macOS file systems are > case-insensitive, iOS file systems are case-sensitive. > > Apple provide a header file <TargetConditionals.h> which permits a > compile-time check for the compiler target (e.g. OSX vs IOS); if > TARGET_OS_IOS is defined as 1, this is a build for iOS. > > * gcc/ada/adaint.c > (__gnat_get_file_names_case_sensitive): Split out the __APPLE__ > check and remove the checks for __arm__, __arm64__. > For Apple, file names are by default case-insensitive unless > TARGET_OS_IOS is set. > > Signed-off-by: Simon Wright <si...@pushface.org>