Home GnuPG

Update build system to handle both 32 and 64 bit

Description

Update build system to handle both 32 and 64 bit

* autogen.rc: Add the opposite architecture for ex_arch
based on --build-w32 and --build-w64
* configure.ac: Handle x86_64 host compiliers.
Generalize _ex host handling to be either 32bit or 64bit
* m4/gpg4win.m4 (GPG4WIN_RUNTIME_LIBRARY_EX): Renamed
from GPG4WIN_RUNTIME_LIBRARY_X64. Search runtime libs
for EX host.
* src/Makefile.am (gpg4win_pkg_kxmlgui_configure): Do not
hardcode CC value.
* src/nsis/config.nsi.in: Add a BUILD_W64 define.
* src/nsis/gpg4win.nsi,
 src/nsis/inst-gpg4win.nsi,
 src/nsis/inst-gpgex.nsi,
 src/nsis/inst-gpgme.nsi,
 src/nsis/inst-gpgol.nsi,
 src/nsis/inst-libassuan.nsi,
 src/nsis/inst-libgpg-error.nsi,
 src/nsis/installer.nsi,
 src/nsis/uninst-breeze.nsi,
 src/nsis/uninst-gnupg-w32.nsi,
 src/nsis/uninst-gpg4win.nsi,
 src/nsis/uninst-gpgme.nsi,
 src/nsis/uninst-gpgol.nsi,
 src/nsis/uninst-libassuan.nsi: Handle installation and uninstallation
 both when binaries are 64 bit and when they are 32 bit. Make
 additional bin dir confiugrable.
* src/versioninfo.rc.in.in: Do not set file description but
 set a comment including the compiler version.

This makes it now possible to call Gpg4win with
./autogen.sh --build-w64 additionally to the old
./autogen.sh --build-w32 and all binaries will be compiled
accordingly. Since Outllook and third party software can rely on the
32bit versions, the logic where we previously shipped 64 bit binaries
additionally to the 32 bit ones is now inverted for 64 bit builds
and 32bit binaries are installed in bin_32.

Variuous changes with explicitly setting the RegView ensure
that updating works from both 32bit and 64bit versions for both
GpgOL and GnuPG.

Details

Provenance
aheineckeAuthored on Aug 9 2024, 4:22 PM
Parents
rW173737bef159: Docker: do not create tmp dir for inplace builds
Branches
Unknown
Tags
Unknown
Tasks
T6508: Port GnuPG to 64-bit Windows