On 11/04/2020 08:24, Michael Van Canneyt wrote: > it is not done on unices to search in the binary directory for config > files. That's a windows thing.
And the main reason for this is that "the" compiler binary does not necessarily exist. The most obvious case is a hard link: in this case, a single file exists in multiple locations on the file system. A program file can also be moved while it was executing. Even if you ignore the above cases and only care about the directory in which the binary was found when it was started, then there is still the issue that not all Unix systems provide you with that information. E.g. on Darwin/macOS, if you just type "ppcx64", then the "full path" to the binary that the program gets is "ppcx64" and you have no idea where it's located. You can use some heuristics like looking in the path, but this is fragile and might possibly even be used for attacks (it is probably possible to specify a different PATH environment variable to the child process than the one used to originally find it). This is also the reason why most Unix programs have there installation directory compiled into the binary, and why you often have to specify it already when building the program (rather than only when installing it). FPC does not do that due to its DOS and OS/2 heritage, but it's not something we should extend. Jonas _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal