Re: [PATCH] Provide pessimistic defaults for cross compilation tests.
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 20, 2009, 06:50 UTC
- Message-ID
- <7v63kampwz.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <20090119203400.GA3539@ins.uni-bonn.de>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de> writes:
Show 25 quoted lines
> In a cross compile setup, configure tests that run programs > cannot be executed; in that case, provide pessimistic default > values. > > Bug reported by Julius Naperkowski. > --- > >> I can post a patch to add sane default settings for AC_RUN_IFELSE in >> cross compile setups, this weekend. > > configure.ac | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/configure.ac b/configure.ac > index 363547c..4a208d4 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -360,6 +360,7 @@ AC_RUN_IFELSE( > else if (strcmp(buf, "12345")) > return 2;]])], > [ac_cv_c_c99_format=yes], > + [ac_cv_c_c99_format=no], > [ac_cv_c_c99_format=no]) > ]) > if test $ac_cv_c_c99_format = no; then
This one probably is Ok, but...
Show 8 quoted lines
> @@ -380,6 +381,7 @@ AC_RUN_IFELSE(
> FILE *f = fopen(".", "r");
> return f && fread(&c, 1, 1, f)]])],
> [ac_cv_fread_reads_directories=no],
> + [ac_cv_fread_reads_directories=yes],
> [ac_cv_fread_reads_directories=yes])
> ])
> if test $ac_cv_fread_reads_directories = yes; thenI am not quite sure if this is an improvement ...
Show 8 quoted lines
> @@ -414,6 +416,7 @@ AC_RUN_IFELSE( > if (snprintf(buf, 3, "%s", "12345") != 5 > || strcmp(buf, "12")) return 1]])], > [ac_cv_snprintf_returns_bogus=no], > + [ac_cv_snprintf_returns_bogus=yes], > [ac_cv_snprintf_returns_bogus=yes]) > ]) > if test $ac_cv_snprintf_returns_bogus = yes; then
... nor this one.
Is there a way to say something like "I'll autodetect as much as I can without running tests, but please tell me these characteristics of the target system manually" and leave the resulting config.mak.autogen in a shape that will guarantee compilation failure until the missing ones are supplied by config.mak?
The thing is, I am not convinced that it is desirable to be able to build a possibly suboptimal binary in a cross compilation environment, without being told in what aspect of the resulting binary is suboptimal. I'd rather see a build system that honestly tells me what information it needs but couldn't find, so that I would know I have a chance to help it.
Of course, suggesting a pessimistic default that can result in suboptimal but correct result would be a good thing to help the user help the build. I just think it is a good idea to tell the user we are giving such hint a bit more loudly to draw attention.