bug-gnu-libiconv
[Top][All Lists]
Advanced

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

Re: [bug-gnu-libiconv] Support for cross-platform builds via CMake


From: Bruno Haible
Subject: Re: [bug-gnu-libiconv] Support for cross-platform builds via CMake
Date: Mon, 01 Jun 2020 00:03:54 +0200
User-agent: KMail/5.1.3 (Linux/4.4.0-177-generic; KDE/5.18.0; x86_64; ; )

Hi,

Markus Rickert wrote:
> would there be an interest in improving support for cross-platform 
> builds by adding CMake build files to libiconv?

No, there is no interest in doing that.

GNU libiconv is a GNU package and uses the GNU build system, which
is based on the GNU Autotools.

Maintaining the build system of a package costs a certain amount of
the development effort, say 20%. Maintaining two build systems in
parallel doubles the effort spent on the build systems, thus increases
the entire development effort by 20%.

If some feature is missing in the GNU build system, it can and should
be added there.

I guess by "cross-platform builds" you mean cross-compilation? That is
already perfectly supported in the GNU build system: Just pass a
--host option, together with CC, CFLAGS, CPPFLAGS variables to the
configure script. You find more details in the INSTALL file; also
don't miss to run './configure --help'.

> cmake -G "Visual Studio 16 2019" -A x64 ..

Building with the MSVC compilers is also already supported by GNU
libiconv (through the GNU build system); see the INSTALL.windows file.

> The build requires the gperf executable for generating the aliases, a 
> CMake port for this is also available [2].

This is pointless as well:
  1) because GNU gperf also supports cross-compilation, like GNU libiconv,
  2) because you can run gperf on one platform (e.g. Linux/x86_64) and use
     the generated files on another platform (riscv32, Android, whatever),
  3) because the gperf-generated files are already present in the tarballs
     that you find on https://ftp.gnu.org/gnu/libiconv/ .

Bruno




reply via email to

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