Peter Seiderer 3f464c2e28 package/xz: convert to cmake build
Use direct equivalents where available. The following autoconf options
don't have a direct equivalent in CMakeLists.txt.

- '--enable-checks=crc32': CRC32 is always enabled; the equivalent CMake
  option is therefore calles ADDITIONAL_CHECK_TYPES.

- '--disable-external-sha256': external sha256 is not supported with
  CMake.

- '--enable-assembler': No direct equivalent, though there is an option
  ENABLE_X86_ASM which must be enabled explicitly (no auto-detection).
  Since this only works on x86 and we're not sure if it works on all x86
  variants, leave it disabled.

- '--enable-assume-ram=128': hard coded in the CMakeLists.txt file
  1732     target_compile_definitions(xz PRIVATE ASSUME_RAM=128)

- '--enable-xz', '--enable-xzdec', '--enable-lzmadec',
  '--enable-lzmainfo', --enable-lzma-links': The decoder programs are
  always enabled if they're enabled in the library. The symlinks are
  controlled by two separate options: CREATE_XZ_SYMLINKS and
  CREATE_LZMA_SYMLINKS.

- '--enable-scripts' (see [1]: 'CMake: xzdiff, xzgrep, xzless, xzmore, and
  their symlinks are now installed')

- '--enable-symbol-versions': hard coded in the CMakeLists.txt file
  1297     target_compile_definitions(liblzma PRIVATE HAVE_SYMBOL_VERSIONS_LINUX=1)

- '--enable-rpath': There is no CMake equivalent for this.

- '--enable-largefile': see CMakeLists.txt
  245 # Check for large file support. It's required on some 32-bit platforms and
  246 # even on 64-bit MinGW-w64 to get 64-bit off_t. This can be forced off on
  247 # the CMake command line if needed: -DLARGE_FILE_SUPPORT=OFF
  248 tuklib_large_file_support(ALL)

- '--enable-unaligned-access=auto': see CMakeLists.txt and cmake/tuklib_integer.cmake
   250 # This is needed by liblzma and xz.
   251 tuklib_integer(ALL)

- '--disable-unsafe-type-punning' see CMakeLists.txt and cmake/tuklib_integer.cmake
   250 # This is needed by liblzma and xz.
   251 tuklib_integer(ALL)

- '--disable-werror': There is no option to _enable_ -Werror in
  CMakeLists.txt.

- '--enable-year2038': There is no option to enable Y2038 support in
  CMakeLists.txt, but we anyway do that globally.

host-xz is itself a dependency of host-ccache, so we can't use ccache
for building host-xz. For autotools, this was handled by setting CC and
CXX in the environment for the configure script. This doesn't work for
CMake, however. Instead, we must override the CMAKE_C_COMPILER_LAUNCHER
option. Xz doesn't use C++, but for completeness also override
CMAKE_CXX_COMPILER_LAUNCHER.

[1] https://github.com/tukaani-project/xz/releases/tag/v5.6.0

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[Arnout: fix ccache bypass for host-xz]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-06-24 15:48:19 +02:00
2024-06-05 23:31:18 +02:00
2024-06-12 12:30:36 +02:00
2024-06-12 18:41:29 +02:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on OFTC IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches
Description
No description provided
Readme 206 MiB
Languages
Makefile 62.5%
Python 19%
C 8.5%
Shell 6.1%
PHP 1.4%
Other 2.1%