Age | Commit message (Collapse) | Author |
|
|
|
The local tarballs specified via custom MODULE_URL can be different
from what is pinned in 'tools/depends/target/*/*-VERSION' files.
This manifested during preparation of 20.0 Alpha 2 build in Debian
where libdvd* tarballs are custom.
Now specifying MODULE_HASH along with MODULE_URL works as expected.
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
|
|
[cmake] Allow specifying HOST_CAN_EXECUTE_TARGET
|
|
Executing the target binary will not work when cross-compiling to a
uClibc-based target on a glibc-based host.
https://github.com/xbmc/xbmc/commit/b9a0c7b1f402613e96876ccfec316831801352bd
broke cross-compiling in this case:
-- Found Python3: /home/buildroot/buildroot/output/per-package/kodi/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/python3.10
(found suitable exact version "3.10.5") found components: Development Development.Module Development.Embed
-- Could NOT find Python3 (missing: Interpreter) (Required is exact version "3.10")
Reason given by package:
Interpreter: Cannot run the interpreter
"/home/buildroot/buildroot/output/per-package/kodi/host/x86_64-buildroot-linux-uclibc/sysroot/usr/bin/python3.10"
$ file /home/buildroot/buildroot/output/per-package/kodi/host/x86_64-buildroot-linux-uclibc/sysroot/usr/bin/python3.10
/home/buildroot/buildroot/output/per-package/kodi/host/x86_64-buildroot-linux-uclibc/sysroot/usr/bin/python3.10:
ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld64-uClibc.so.0, not stripped
This patch allows to force -DHOST_CAN_EXECUTE_TARGET=FALSE to avoid
executing the target version of python3 although the host version was set
in configure options:
-DPYTHON_EXECUTABLE=/home/buildroot/buildroot/output/per-package/kodi/host/bin/python3.10
$ file /home/buildroot/buildroot/output/per-package/kodi/host/bin/python3.10
/home/buildroot/buildroot/output/per-package/kodi/host/bin/python3.10:
ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2,
BuildID[sha1]=0502eef4c126feb4162aea6d36f321387f2a58fc, for GNU/Linux 3.2.0, with debug_info, not stripped
|
|
|
|
EFFECTIVE_PLATFORM_NAME platform functions with current tools/depends cmake
version 3.21.3. The workaround actually causes cmake targets to be incorrectly applied
and generated, so remove.
|
|
|
|
calls
|
|
|
|
|
|
windows used a different name, so bring it inline with other platforms
|
|
generalise functions/macros further to more easily accommodate the difference between
a native and a target lib/tool and the relevant source locations
extract download/url steps from externalproject_add to allow override of in-tree source
step.
update comments
|
|
|
|
|
|
|
|
|
|
|
|
refactor patch handling to deal with windows/unix differences and find patch
module
|
|
|
|
Prepend depends_path to cmake_prefix_path for find_package/program/etc calls to
search our depends_path first
Pass through cmake_prefix_path to internal build functions for cmake based build systems
|
|
remove arch based DEBUG_POSTFIX. turns out we are better to have the individual
lib builds to define a postfix when appropriate.
|
|
Required to make ninja play nice when using ENABLE_INTERNAL_<LIB>
|
|
|
|
[cmake] Flesh out FindPatch module for windows use
|
|
set default postfix for all android libs (similar to apple)
if <MODULE>_RELEASE_TYPE is forced, remove the alternative <MODULE>_LIBRARY_<TYPE>
build can now handle crossguid -dbg postfix, so allow it.
|
|
Windows we want to preference git patch, so adapt find module to check specifically
for it. Update other find modules importing FindPatch.cmake to actual find_package calls
|
|
Provides build_type to internal build targets that use cmake.
Allows a target to override (set <MODULE>_BUILD_TYPE) or to use the projects build type
|
|
[cmake] Assorted cmake fixes regarding Find Modules
|
|
[Windows] fix cmake find patch executable (prioritize use Git patch.exe)
|
|
|
|
|
|
|
|
set CMAKE_INSTALL_PREFIX in BUILD_DEP_TARGET, and use DEPENDS_PATH for location
|
|
rename to reflect current usage. Old name was from my initial implementation and
it no longer reflects what the function does.
|
|
DEPENDS_PATH is set in toolchain by using --prefix. lets use that as thats where
all dependencies built using tools/depends are installed.
|
|
|
|
Android add_custom_target commands are called with VERBATIM option to escape the commands and options. This fixes shell syntax error when PATH contains parentheses.
|
|
for tools/depends platforms, we already set tarball dir as part of the configure
script. Lets propagate this into the Toolchain file so we dont have to explicitly
set -DTARBALL_DIR for those platforms.
The single downside to this, is you cant override the toolchain option. However the
reality is, you should override the configure script using --with--tarballs
|
|
|
|
[Android][CMake] Fix custom_target commands when PATH has spaces
|
|
We are now in a time where some platforms/archs can execute "foreign" (x86_64)
arch code locally (Apple via Rosetta, Windows on arm).
Rename CORE_HOST_IS_TARGET to HOST_CAN_EXECUTE_TARGET to allow platforms ArchSetup
to set and therefore execute tests if desired.
|
|
Currently, when the PATH environment contains a space, CMake will quote the entire "PATH=/xxx:/xxx" and bash will not recognize this. The patch uses "env" command instead so that the quoted "PATH=/xxx:/xxx" can be recognized.
|
|
[cmake] build libandroidjni via cmake build
|
|
dont use tools/depends for libandroidjni. build via cmake find module as
a required_platform_dep
|
|
Usage of the 3 explicit tools is no longer used, and gradle is used for
all build steps that were once done explicitly by these tools. No need to keep checks,
leave that to gradle internally.
|
|
Install KodiConfig.cmake to arch-specific path
|
|
Add support for ppc64le in ArchSetup.cmake
|
|
builds
|
|
Sets environment variables for autoconf based build systems for externalproject_add
build of a dependency
|
|
|