aboutsummaryrefslogtreecommitdiffstats
path: root/build_scripts
diff options
context:
space:
mode:
Diffstat (limited to 'build_scripts')
-rw-r--r--build_scripts/main.py10
-rw-r--r--build_scripts/platforms/macos.py8
-rw-r--r--build_scripts/platforms/unix.py2
-rw-r--r--build_scripts/wheel_override.py2
4 files changed, 17 insertions, 5 deletions
diff --git a/build_scripts/main.py b/build_scripts/main.py
index 9a8d4fb3f..dac476cdb 100644
--- a/build_scripts/main.py
+++ b/build_scripts/main.py
@@ -508,7 +508,11 @@ class PysideBuild(_build, CommandMixin, BuildInfoCollectorMixin):
log.info("-" * 3)
if sys.platform == 'win32':
log.info(f"OpenSSL dll directory: {OPTION['OPENSSL']}")
- if sys.platform == 'darwin':
+ # for cross-compilation it is possible to use a macOS host, but
+ # pyside_macos_deployment_target is not relevant for the target.
+ # The only exception here is when we are trying to cross-compile from intel mac to m1 mac.
+ # This case is not supported yet.
+ if sys.platform == 'darwin' and not self.is_cross_compile:
pyside_macos_deployment_target = (macos_pyside_min_deployment_target())
log.info(f"MACOSX_DEPLOYMENT_TARGET set to: {pyside_macos_deployment_target}")
log.info("=" * 30)
@@ -745,7 +749,9 @@ class PysideBuild(_build, CommandMixin, BuildInfoCollectorMixin):
cmake_cmd += platform_cmake_options()
- if sys.platform == 'darwin':
+ # for a macOS host, cross-compilation is possible, but for the host system as such
+ # we only build shiboken. Hence the following code can be skipped.
+ if sys.platform == 'darwin' and not self.is_cross_compile:
if OPTION["MACOS_ARCH"]:
# also tell cmake which architecture to use
cmake_cmd.append(f"-DCMAKE_OSX_ARCHITECTURES:STRING={OPTION['MACOS_ARCH']}")
diff --git a/build_scripts/platforms/macos.py b/build_scripts/platforms/macos.py
index dbe60d343..505573e0b 100644
--- a/build_scripts/platforms/macos.py
+++ b/build_scripts/platforms/macos.py
@@ -21,7 +21,7 @@ def _macos_patch_executable(name, _vars=None):
macos_add_rpath(rpath, binary)
-def prepare_standalone_package_macos(pyside_build, _vars):
+def prepare_standalone_package_macos(pyside_build, _vars, is_android=False):
built_modules = _vars['built_modules']
constrain_modules = None
@@ -119,7 +119,11 @@ def prepare_standalone_package_macos(pyside_build, _vars):
ignored_modules = []
if not pyside_build.is_webengine_built(built_modules):
ignored_modules.extend(['libQt6WebEngine*.dylib'])
+
accepted_modules = ['libQt6*.6.dylib']
+ if is_android:
+ accepted_modules = ['libQt6*.so', '*-android-dependencies.xml']
+
if constrain_modules:
accepted_modules = [f"libQt6{module}*.6.dylib" for module in constrain_modules]
@@ -156,6 +160,8 @@ def prepare_standalone_package_macos(pyside_build, _vars):
# <qt>/plugins/* -> <setup>/{st_package_name}/Qt/plugins
plugins_target = destination_qt_dir / "plugins"
filters = ["*.dylib"]
+ if is_android:
+ filters = ["*.so"]
copydir("{qt_plugins_dir}", plugins_target,
_filter=filters,
recursive=True,
diff --git a/build_scripts/platforms/unix.py b/build_scripts/platforms/unix.py
index 3333f5f96..8378d42be 100644
--- a/build_scripts/platforms/unix.py
+++ b/build_scripts/platforms/unix.py
@@ -237,7 +237,7 @@ def prepare_packages_posix(pyside_build, _vars, cross_build=False):
if config.is_internal_pyside_build() or config.is_internal_shiboken_generator_build():
_vars['built_modules'] = generated_config['built_modules']
if sys.platform == 'darwin':
- prepare_standalone_package_macos(pyside_build, _vars)
+ prepare_standalone_package_macos(pyside_build, _vars, is_android=is_android)
else:
prepare_standalone_package_linux(pyside_build, _vars, cross_build,
is_android=is_android)
diff --git a/build_scripts/wheel_override.py b/build_scripts/wheel_override.py
index f3f9f17a9..790282cd4 100644
--- a/build_scripts/wheel_override.py
+++ b/build_scripts/wheel_override.py
@@ -47,7 +47,7 @@ class PysideBuildWheel(_bdist_wheel, CommandMixin):
def finalize_options(self):
CommandMixin.mixin_finalize_options(self)
- if sys.platform == 'darwin':
+ if sys.platform == 'darwin' and not self.is_cross_compile:
# Override the platform name to contain the correct
# minimum deployment target.
# This is used in the final wheel name.