[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