Commit b6095c7d authored by Nirbheek Chauhan's avatar Nirbheek Chauhan 🐜 Committed by GStreamer Marge Bot
Browse files

bootstrap: Don't use autotools build-tools on Windows

We should never run autoreconf because it hangs on the Windows CI
runner.

Part-of: <!622>
parent a05e5373
Pipeline #208054 passed with stages
in 64 minutes and 51 seconds
......@@ -47,11 +47,16 @@ class BuildTools (BootstrapperBase, Fetch):
# Used by ffmpeg and x264 on iOS, and by openn264 on Windows-ARM64
self.BUILD_TOOLS.append('gas-preprocessor')
if self.config.variants.uwp:
# UWP config does not build any autotools recipes
if self.config.platform == Platform.WINDOWS:
# We must not run automake/autoconf/libtoolize when building on
# windows because they hang on the Windows CI runner
self.BUILD_TOOLS.remove('gettext-m4')
self.BUILD_TOOLS.remove('automake')
self.BUILD_TOOLS.remove('autoconf')
self.BUILD_TOOLS.remove('libtool')
if self.config.variants.uwp:
# UWP config does not build any autotools recipes
self.PLAT_BUILD_TOOLS[Platform.WINDOWS].remove('intltool')
self.PLAT_BUILD_TOOLS[Platform.WINDOWS].remove('gperf')
......
......@@ -566,6 +566,10 @@ class Autotools (MakefilesBase):
await shell.async_call(self.autoreconf_sh, self.config_src_dir,
logfile=self.logfile, env=self.env)
# We don't build libtool on Windows
if self.config.platform == Platform.WINDOWS:
self.override_libtool = False
# Use our own config.guess and config.sub
config_datadir = os.path.join(self.config._relative_path('data'), 'autotools')
cfs = {'config.guess': config_datadir, 'config.sub': config_datadir}
......
......@@ -17,7 +17,5 @@ class Recipe(recipe.Recipe):
def prepare(self):
if self.config.target_platform in [Platform.DARWIN, Platform.IOS]:
self.configure_options += ' --disable-Bsymbolic'
if self.config.platform == Platform.WINDOWS:
self.override_libtool = False
else:
if self.config.platform != Platform.WINDOWS:
self.autoreconf = True
......@@ -7,7 +7,6 @@ class Recipe(recipe.Recipe):
url = 'https://download.videolan.org/pub/videolan/libdca/%(version)s/libdca-%(version)s.tar.bz2'
tarball_checksum = 'dba022e022109a5bacbe122d50917769ff27b64a7bba104bd38ced8de8510642'
licenses = [License.GPLv2Plus]
autoreconf = True
files_libs = ['libdca']
files_bins = ['extract_dca', 'extract_dcs', 'dcadec', 'dcsdec']
......@@ -17,9 +16,8 @@ class Recipe(recipe.Recipe):
def prepare(self):
if self.config.target_platform == Platform.ANDROID:
self.configure_options += ' --disable-oss'
if self.config.platform == Platform.WINDOWS:
self.override_libtool = False
self.autoreconf = False
if self.config.platform != Platform.WINDOWS:
self.autoreconf = True
# Don't enable always-inline, breaks the build on macos (space is significant)
self.set_env('ac_cv_c_inline', 'inline ')
......
......@@ -13,7 +13,6 @@ class Recipe(recipe.Recipe):
files_libs = ['libkate', 'liboggkate']
files_devel = ['include/kate', 'lib/pkgconfig/kate.pc', 'lib/pkgconfig/oggkate.pc']
autoreconf = True
def prepare(self):
# Tell internal script to call python3 instead of python on non-Windows
......@@ -22,9 +21,7 @@ class Recipe(recipe.Recipe):
self.append_env('PYTHON', 'python3')
if self.config.target_distro == Distro.ARCH:
self.append_env('LDFLAGS', '-Wl,-O1,--sort-common,--as-needed,-z,relro')
if self.config.platform == Platform.WINDOWS:
self.autoreconf = False
self.override_libtool = False
else:
if self.config.platform != Platform.WINDOWS:
self.autoreconf = True
self.patches += ['libkate/0001-be-more-permissive-with-automake-errors-now-that-we-.patch']
self.append_env('CFLAGS', '-Wno-error')
......@@ -12,9 +12,6 @@ class Recipe(recipe.Recipe):
files_libs = ['libmms']
files_devel = ['include/libmms', 'lib/pkgconfig/libmms.pc']
autoreconf = True
def prepare(self):
if self.config.platform == Platform.WINDOWS:
self.autoreconf = False
self.override_libtool = False
if self.config.platform != Platform.WINDOWS:
self.autoreconf = True
......@@ -20,15 +20,12 @@ class Recipe(recipe.Recipe):
files_bins = ['dvconnect', 'encodedv', 'dubdv']
files_devel = ['include/theora', 'lib/pkgconfig/theora.pc',
'lib/pkgconfig/theoraenc.pc', 'lib/pkgconfig/theoradec.pc']
autoreconf = True
autoreconf_sh = 'NOCONFIGURE=1 ./autogen.sh'
def prepare(self):
if self.config.platform == Platform.WINDOWS:
self.autoreconf = False
self.override_libtool = False
else:
if self.config.platform != Platform.WINDOWS:
# Don't build documentation even if doxygen is available
self.autoreconf = True
self.autoreconf_sh = 'NOCONFIGURE=1 ./autogen.sh'
self.configure_options += ' --disable-doc'
self.patches += [
'libtheora/0001-Add-option-to-disable-doc.patch',
......
......@@ -15,9 +15,7 @@ class Recipe(recipe.Recipe):
'sbc/0003-sbc.h-Define-ssize_t-when-building-with-MSVC.patch',]
def prepare(self):
if self.config.platform == Platform.WINDOWS:
self.override_libtool = False
else:
if self.config.platform != Platform.WINDOWS:
self.autoreconf = True
async def compile(self):
......
......@@ -27,7 +27,6 @@ class Recipe(recipe.Recipe):
self.patches += ['spandsp/0001-Fix-build-for-windows-using-mingw.patch']
if self.config.platform == Platform.WINDOWS:
self.override_libtool = False
self.patches += ['spandsp/0001-Avoid-running-autoreconf-on-windows.patch']
else:
self.config_sh = 'sh ./autogen.sh && sh ./configure'
......
......@@ -13,9 +13,6 @@ class Recipe(recipe.Recipe):
files_devel = ['include/vo-aacenc',
'lib/pkgconfig/vo-aacenc.pc']
autoreconf = True
def prepare(self):
if self.config.platform == Platform.WINDOWS:
self.autoreconf = False
self.override_libtool = False
if self.config.platform != Platform.WINDOWS:
self.autoreconf = True
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment