endfunction()
function(winuae_unix_find_lzma_sdk out_var)
+ # A system lzma-sdk source package (e.g. openSUSE lzma-sdk-devel) is
+ # preferred over fetching the vendored archive; it must provide the SDK
+ # C sources, not just headers.
set(WINUAE_LZMA_SDK_CANDIDATES
"${WINUAE_LZMA_SDK_DIR}/C"
"${WINUAE_LZMA_SDK_DIR}"
)
+ foreach(prefix IN LISTS WINUAE_LZMA_SDK_SYSTEM_PATHS)
+ list(APPEND WINUAE_LZMA_SDK_CANDIDATES "${prefix}/C" "${prefix}")
+ endforeach()
foreach(candidate IN LISTS WINUAE_LZMA_SDK_CANDIDATES)
- if(EXISTS "${candidate}/7z/7zVersion.h")
+ if(EXISTS "${candidate}/7z/7zVersion.h" AND EXISTS "${candidate}/7z/7zCrc.c")
set(WINUAE_LZMA_SDK_SOURCE_DIR "${candidate}")
break()
endif()
CACHE STRING "Expected SHA-256 for the 7-Zip/LZMA SDK archive")
set(WINUAE_LZMA_SDK_DIR "${CMAKE_BINARY_DIR}/_deps/lzma-sdk/${WINUAE_LZMA_SDK_VERSION}"
CACHE PATH "Local cache directory for the 7-Zip/LZMA SDK")
+set(WINUAE_LZMA_SDK_SYSTEM_PATHS
+ "/usr/share/lzma-sdk;/usr/include/lzma-sdk;/usr/src/lzma-sdk;/usr/include/lzma"
+ CACHE STRING "System prefixes probed for an installed 7-Zip/LZMA SDK source tree")
set(WINUAE_QEMU_UAE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../qemu-uae-v11.0"
CACHE PATH "QEMU-UAE plugin source directory")
tools/debian-build-package.sh -- -DWINUAE_UNIX_WITH_QT_UI=OFF
```
+Archive and CHD support compile the 7-Zip/LZMA SDK sources. A system SDK
+source package (for example the openSUSE `lzma-sdk-devel` package) is used
+when found under `WINUAE_LZMA_SDK_SYSTEM_PATHS` (or an explicit
+`-DWINUAE_LZMA_SDK_DIR=`); otherwise `WINUAE_LZMA_SDK_FETCH` downloads the
+SHA-verified `lzma1604.7z` archive. Pass `-DWINUAE_LZMA_SDK_FETCH=OFF` for
+offline distribution builds.
+
To build a package from a prebuilt QEMU-UAE plugin, pass:
```sh