autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Force 32 bit build


From: Nick Bowler
Subject: Re: Force 32 bit build
Date: Thu, 6 May 2021 14:34:55 -0400

On 2021-05-06, aotto <aotto1968@t-online.de> wrote:
> I want to write a "autoconf/automake" script for an application ONLY for
> 32 bit on 64 bit Linux.
> This meant that the default for configure must be 32 bit and nothing else.
>
> I know that a user can do "configure CC="gcc -m32"... etc but this is
> NOT what I want.
> I want that the 'configure' script set the 32bin once at start and fix.

The general approach I would take to doing this in a configure script is
something like this:

Step 1)
Figure out how you are going to determine whether the compiler and
linker are producing the desired output format.  This should be done
in a portable way.

Step 2)
Use AC_LINK_IFELSE to compile a test program.  In the "action-if-true"
branch, check whether the linker output (which will be in the file
called conftest$EXEEXT) is as expected.  If that passes, you know that
no special compiler options are required.

Step 3)
If your verification fails, you can then temporarily alter CFLAGS and/or
LDFLAGS to test whatever combinations you think might work, then repeat
the AC_LINK_IFELSE and verification procedures to see if they actually
did work.

Step 4)
If a working method was found, then use AC_SUBST to substitute
appropriate variables and use them in your build scripts.

If no working method was found, use AC_MSG_FAILURE to report the error.

I will add that for this purpose you may find that using AC_COMPUTE_INT
(rather than AC_LINK_IFELSE) is more convenient when implementing your
configure test.  The overall structure is the same, however.

Hope that helps,
  Nick



reply via email to

[Prev in Thread] Current Thread [Next in Thread]