git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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; then
I 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.

Previous: Ralf WildenhuesNext: Ralf Wildenhues
Message 7 of 8 in “autoconf: C99 format check”
  1. Julius NaperkowskiJan 15, 2009
  2. Ralf WildenhuesJan 16, 2009
  3. Provide pessimistic defaults for cross compilation tests.Ralf Wildenhues, Jan 19, 2009
  4. Johannes SchindelinJan 19, 2009
  5. Junio C HamanoJan 20, 2009
  6. Ralf WildenhuesJan 20, 2009
  7. Junio C HamanoJan 20, 2009
  8. Ralf WildenhuesJan 20, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.