From fbcacb590beb981d252e9f46baec9461ff1e7fd9 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sat, 21 Nov 2015 00:35:52 +0100 Subject: {android,win32}/build.py: FfmpegProject detects CPU and OS --- android/build.py | 22 +++++++++++++++++++--- win32/build.py | 21 +++++++++++++++++++-- 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/android/build.py b/android/build.py index a549774fa..6555b1f21 100755 --- a/android/build.py +++ b/android/build.py @@ -93,6 +93,10 @@ class AndroidNdkToolchain: self.ldflags = '--sysroot=' + self.sysroot + ' -L' + os.path.join(install_prefix, 'lib') self.libs = '' + self.is_arm = self.ndk_arch == 'arm' + self.is_armv7 = self.is_arm and 'armv7' in self.cflags + self.is_windows = False + libstdcxx_path = os.path.join(ndk_path, 'sources/cxx-stl/gnu-libstdc++', gcc_version) libstdcxx_cppflags = '-isystem ' + os.path.join(libstdcxx_path, 'include') + ' -isystem ' + os.path.join(libstdcxx_path, 'libs', android_abi, 'include') if use_clang: @@ -125,6 +129,16 @@ class FfmpegProject(Project): src = self.unpack(toolchain) build = self.make_build_path(toolchain) + if toolchain.is_arm: + arch = 'arm' + else: + arch = 'x86' + + if toolchain.is_windows: + target_os = 'mingw32' + else: + target_os = 'linux' + configure = [ os.path.join(src, 'configure'), '--cc=' + toolchain.cc, @@ -136,12 +150,14 @@ class FfmpegProject(Project): '--extra-libs=' + toolchain.libs, '--ar=' + toolchain.ar, '--enable-cross-compile', - '--target-os=linux', - '--arch=' + toolchain.ndk_arch, - '--cpu=cortex-a8', + '--arch=' + arch, + '--target-os=' + target_os, '--prefix=' + toolchain.install_prefix, ] + self.configure_args + if toolchain.is_armv7: + configure.append('--cpu=cortex-a8') + subprocess.check_call(configure, cwd=build, env=toolchain.env) subprocess.check_call(['/usr/bin/make', '--quiet', '-j12'], cwd=build, env=toolchain.env) subprocess.check_call(['/usr/bin/make', '--quiet', 'install'], cwd=build, env=toolchain.env) diff --git a/win32/build.py b/win32/build.py index 7c77109b7..ccdef3053 100755 --- a/win32/build.py +++ b/win32/build.py @@ -51,6 +51,10 @@ class CrossGccToolchain: self.ldflags = '-L' + os.path.join(install_prefix, 'lib') self.libs = '' + self.is_arm = arch.startswith('arm') + self.is_armv7 = self.is_arm and 'armv7' in self.cflags + self.is_windows = 'mingw32' in arch + self.env = dict(os.environ) # redirect pkg-config to use our root directory instead of the @@ -92,6 +96,16 @@ class FfmpegProject(Project): src = self.unpack(toolchain) build = self.make_build_path(toolchain) + if toolchain.is_arm: + arch = 'arm' + else: + arch = 'x86' + + if toolchain.is_windows: + target_os = 'mingw32' + else: + target_os = 'linux' + configure = [ os.path.join(src, 'configure'), '--cc=' + toolchain.cc, @@ -103,12 +117,15 @@ class FfmpegProject(Project): '--extra-libs=' + toolchain.libs, '--ar=' + toolchain.ar, '--enable-cross-compile', - '--arch=x86', - '--target-os=mingw32', + '--arch=' + arch, + '--target-os=' + target_os, '--cross-prefix=' + toolchain.arch + '-', '--prefix=' + toolchain.install_prefix, ] + self.configure_args + if toolchain.is_armv7: + configure.append('--cpu=cortex-a8') + subprocess.check_call(configure, cwd=build, env=toolchain.env) subprocess.check_call(['/usr/bin/make', '--quiet', '-j12'], cwd=build, env=toolchain.env) -- cgit v1.2.3