|
From: | Steven G. Johnson |
Subject: | Re: failure of cross-compilation detection on BlueGene/L |
Date: | Mon, 08 Jun 2009 11:58:49 -0400 |
User-agent: | Thunderbird 2.0.0.21 (Macintosh/20090302) |
Steffen Dettmer wrote:
Does this mean you have no way to compile any program running on the front-end GNU/Linux?
No, if you ./configure without a --host argument it uses the gcc for the front-end (build system) and compiles for the BlueGene front end like one would expect.
You mean, you want to detect BlueGene/L by concluding that from the fact that fopen does not work?
No, that's not what I want to do.If the user specifies --host, autoconf checks whether it is cross-compiling by checking whether executables work. This check gives a false negative on BlueGene. I want to correct the test so that it gives the correct result.
Not that I have a clue about, but for me this sounds really strange. I think, obviously it cannot work, because there are platforms that do not even have fopen() or the compiled binaries (or its libc) may apply additional checking and may refuse to open files (e.g. extra permission checking, or execution in a read-only folder or without write cababilities). I think it could be bad if on such a platform cross-compiling would be detected.
The configure script cannot run in a read-only folder -- it creates files all over the place. Furthermore, autoconf already assumes that fopen works when not cross-compiling (this is assumed in AC_CHECK_SIZEOF, for example). Since I'm not proposing to test for any capability that we're not relying on already, it should be safe.
All of this was discussed in my previous email; you probably need to re-read it more carefully.
Steven
[Prev in Thread] | Current Thread | [Next in Thread] |