def get_make_args(self, toolchain): # HELP TODO: Temp workaround. Will ANDROID_NDK alwats be set in env if in the default location? return AutotoolsProject.get_make_args(self, toolchain) + [ 'CPPFLAGS=' + toolchain.cppflags + ' -I' + toolchain.env['ANDROID_NDK'] + '/sources/cxx-stl/llvm-libc++/include' ]
def configure(self, toolchain): if re.match('(arm.*|aarch64)-apple-darwin', toolchain.arch) is not None: # for building SDL2 with autotools, several workarounds are # required: # * out-of-tree build is not supported # * needs CFLAGS adjustment to enable Objective-C and ARC # * SDL_config.h needs to be replaced with SDL_config_iphoneos.h # after running "configure" src = self.unpack(toolchain, out_of_tree=False) configure = [ os.path.join(src, 'configure'), 'CC=' + toolchain.cc, 'CFLAGS=' + toolchain.cflags + ' -x objective-c -fobjc-arc', 'CPPFLAGS=' + toolchain.cppflags + ' ' + self.cppflags, 'LDFLAGS=' + toolchain.ldflags, 'LIBS=' + toolchain.libs, 'AR=' + toolchain.ar, 'STRIP=' + toolchain.strip, '--host=' + toolchain.arch, '--prefix=' + toolchain.install_prefix, ] + self.configure_args subprocess.check_call(configure, cwd=src, env=toolchain.env) shutil.copyfile(os.path.join(src, 'include/SDL_config_iphoneos.h'), os.path.join(src, 'include/SDL_config.h')) return src else: return AutotoolsProject.configure(self, toolchain)
def configure(self, toolchain): # append argument --enable-arm-neon for targets supporting NEON if toolchain.arch.startswith( 'aarch64') or '-mfpu=neon' in toolchain.cflags: self.configure_args.append('--enable-arm-neon') return AutotoolsProject.configure(self, toolchain)
def configure(self, toolchain): build = AutotoolsProject.configure(self, toolchain) comment_re = re.compile(r'^\w+_MODULES\s*\+=\s*(?:type1|cff|cid|pfr|type42|winfonts|pcf|bdf|lzw|bzip2|psaux|psnames)\s*$') modules_cfg = os.path.join(build, 'modules.cfg') tmp = modules_cfg + '.tmp' with open(modules_cfg) as src: with open(tmp, 'w') as dest: for line in src: if comment_re.match(line): line = '# ' + line dest.write(line) os.rename(tmp, modules_cfg) return build
def configure(self, toolchain): build = AutotoolsProject.configure(self, toolchain) comment_re = re.compile( r"^\w+_MODULES\s*\+=\s*(?:type1|cff|cid|pfr|type42|winfonts|pcf|bdf|lzw|bzip2|psaux|psnames)\s*$" ) modules_cfg = os.path.join(build, "modules.cfg") tmp = modules_cfg + ".tmp" with open(modules_cfg) as src: with open(tmp, "w") as dest: for line in src: if comment_re.match(line): line = "# " + line dest.write(line) os.rename(tmp, modules_cfg) return build
from build.cmake import CmakeProject from build.autotools import AutotoolsProject from build.ffmpeg import FfmpegProject from build.boost import BoostProject libmpdclient = MesonProject( 'https://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.18.tar.xz', '4cb01e1f567e0169aca94875fb6e1200e7f5ce35b63a4df768ec1591fb1081fa', 'lib/libmpdclient.a', ) libogg = AutotoolsProject( 'http://downloads.xiph.org/releases/ogg/libogg-1.3.4.tar.xz', 'c163bc12bc300c401b6aa35907ac682671ea376f13ae0969a220f7ddf71893fe', 'lib/libogg.a', [ '--disable-shared', '--enable-static', ], ) libvorbis = AutotoolsProject( 'http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.6.tar.xz', 'af00bb5a784e7c9e69f56823de4637c350643deedaf333d0fa86ecdba6fcb415', 'lib/libvorbis.a', [ '--disable-shared', '--enable-static', ], edits={ # this option is not understood by clang
from build.freetype import FreeTypeProject from build.curl import CurlProject from build.libpng import LibPNGProject from build.libstdcxxmuslheaders import LibstdcxxMuslHeadersProject from build.sdl2 import SDL2Project from build.lua import LuaProject glibc = AutotoolsProject( 'http://mirror.netcologne.de/gnu/libc/glibc-2.23.tar.xz', 'http://ftp.gnu.org/gnu/glibc/glibc-2.23.tar.xz', '456995968f3acadbed39f5eba31678df', 'include/unistd.h', [ '--enable-kernel=2.6.35', '--disable-werror', '--disable-build-nscd', '--disable-nscd', ], patches=abspath('lib/glibc/patches'), shared=True, # This is needed so glibc can find its NSS modules make_args=['default-rpath=/opt/xcsoar/lib'], ) musl = AutotoolsProject( 'https://www.musl-libc.org/releases/musl-1.1.16.tar.gz', 'https://fossies.org/linux/misc/musl-1.1.16.tar.gz', '937185a5e5d721050306cf106507a006c3f1f86d86cd550024ea7be909071011', 'include/unistd.h', [
from build.project import Project from build.zlib import ZlibProject from build.autotools import AutotoolsProject from build.ffmpeg import FfmpegProject from build.boost import BoostProject libogg = AutotoolsProject( 'http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.xz', '5c3a34309d8b98640827e5d0991a4015', 'lib/libogg.a', ['--disable-shared', '--enable-static'], ) libvorbis = AutotoolsProject( 'http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.xz', '28cb28097c07a735d6af56e598e1c90f', 'lib/libvorbis.a', ['--disable-shared', '--enable-static'], ) opus = AutotoolsProject( 'http://downloads.xiph.org/releases/opus/opus-1.1.3.tar.gz', '32bbb6b557fe1b6066adc0ae1f08b629', 'lib/libopus.a', ['--disable-shared', '--enable-static'], ) flac = AutotoolsProject( 'http://downloads.xiph.org/releases/flac/flac-1.3.1.tar.xz', 'b9922c9a0378c88d3e901b234f852698', 'lib/libFLAC.a',
from build.project import Project from build.zlib import ZlibProject from build.autotools import AutotoolsProject from build.ffmpeg import FfmpegProject from build.boost import BoostProject libogg = AutotoolsProject( 'http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.xz', '5c3a34309d8b98640827e5d0991a4015', 'lib/libogg.a', ['--disable-shared', '--enable-static'], ) libvorbis = AutotoolsProject( 'http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.xz', '28cb28097c07a735d6af56e598e1c90f', 'lib/libvorbis.a', ['--disable-shared', '--enable-static'], ) opus = AutotoolsProject( 'http://downloads.xiph.org/releases/opus/opus-1.1.4.tar.gz', '9122b6b380081dd2665189f97bfd777f04f92dc3ab6698eea1dbb27ad59d8692', 'lib/libopus.a', ['--disable-shared', '--enable-static'], ) flac = AutotoolsProject( 'http://downloads.xiph.org/releases/flac/flac-1.3.2.tar.xz', '91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f', 'lib/libFLAC.a',
'c163bc12bc300c401b6aa35907ac682671ea376f13ae0969a220f7ddf71893fe', 'lib/libogg.a', [ '-DBUILD_SHARED_LIBS=OFF', '-DINSTALL_DOCS=OFF', '-DINSTALL_CMAKE_PACKAGE_MODULE=OFF', ], ) opus = AutotoolsProject( 'https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz', '65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d', 'lib/libopus.a', [ '--disable-shared', '--enable-static', '--disable-doc', '--disable-extra-programs', ], # suppress "visibility default" from opus_defines.h cppflags='-DOPUS_EXPORT=', ) flac = AutotoolsProject( 'http://downloads.xiph.org/releases/flac/flac-1.3.3.tar.xz', '213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748', 'lib/libFLAC.a', [ '--disable-shared', '--enable-static', '--disable-xmms-plugin',
from build.zlib import ZlibProject from build.autotools import AutotoolsProject from build.cmake import CmakeProject from build.openssl import OpenSSLProject from build.freetype import FreeTypeProject from build.curl import CurlProject from build.libpng import LibPNGProject from build.libstdcxxmuslheaders import LibstdcxxMuslHeadersProject from build.sdl2 import SDL2Project from build.lua import LuaProject musl = AutotoolsProject( 'https://www.musl-libc.org/releases/musl-1.1.18.tar.gz', 'https://fossies.org/linux/misc/musl-1.1.18.tar.gz', 'd017ee5d01aec0c522a1330fdff06b1e428cb409e1db819cc4935d5da4a5a118', 'include/unistd.h', [ '--disable-shared', ], patches=abspath('lib/musl/patches'), ) libstdcxx_musl_headers = LibstdcxxMuslHeadersProject( 'https://ftp.gnu.org/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.xz', 'http://mirrors.ibiblio.org/gnu/ftp/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.xz', 'b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c', 'include/libstdc++/algorithm', [ '--enable-clocale=generic', '--disable-shared', '--disable-multilib', ],
from os.path import abspath from build.zlib import ZlibProject from build.autotools import AutotoolsProject from build.openssl import OpenSSLProject from build.freetype import FreeTypeProject from build.sdl2 import SDL2Project from build.lua import LuaProject glibc = AutotoolsProject( 'http://mirror.netcologne.de/gnu/libc/glibc-2.23.tar.xz', '456995968f3acadbed39f5eba31678df', 'include/unistd.h', [ '--enable-static-nss', '--enable-kernel=2.6.35', '--disable-werror', '--disable-build-nscd', '--disable-nscd', ], shared=True, ) openssl = OpenSSLProject( 'https://www.openssl.org/source/openssl-1.0.2h.tar.gz', '9392e65072ce4b614c1392eefc1f23d0', 'include/openssl/ossl_typ.h', ) openssh = AutotoolsProject( 'http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.2p2.tar.gz',
'--without-bzip2', '--without-png', '--without-harfbuzz', ], ) curl = AutotoolsProject( 'http://curl.haxx.se/download/curl-7.46.0.tar.lzma', 'f845c513830d38c1b7ac39a98c1c2b11', 'lib/libcurl.a', [ '--disable-shared', '--enable-static', '--disable-debug', '--enable-http', '--enable-ipv6', '--disable-ftp', '--disable-file', '--disable-ldap', '--disable-ldaps', '--disable-rtsp', '--disable-proxy', '--disable-dict', '--disable-telnet', '--disable-tftp', '--disable-pop3', '--disable-imap', '--disable-smb', '--disable-smtp', '--disable-gopher', '--disable-manual', '--disable-threaded-resolver', '--disable-verbose', '--disable-sspi', '--disable-crypto-auth', '--disable-ntlm-wb', '--disable-tls-srp', '--disable-cookies', '--without-ssl', '--without-gnutls', '--without-nss', '--without-libssh2', ], use_clang=True, ) proj = AutotoolsProject( 'http://download.osgeo.org/proj/proj-4.9.2.tar.gz', '9843131676e31bbd903d60ae7dc76cf9', 'lib/libproj.a',
from build.project import Project from build.zlib import ZlibProject from build.autotools import AutotoolsProject from build.ffmpeg import FfmpegProject from build.boost import BoostProject libogg = AutotoolsProject( 'http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.xz', '5c3a34309d8b98640827e5d0991a4015', 'lib/libogg.a', ['--disable-shared', '--enable-static'], ) libvorbis = AutotoolsProject( 'http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.xz', '28cb28097c07a735d6af56e598e1c90f', 'lib/libvorbis.a', ['--disable-shared', '--enable-static'], ) opus = AutotoolsProject( 'http://downloads.xiph.org/releases/opus/opus-1.1.3.tar.gz', '32bbb6b557fe1b6066adc0ae1f08b629', 'lib/libopus.a', ['--disable-shared', '--enable-static'], ) flac = AutotoolsProject( 'http://downloads.xiph.org/releases/flac/flac-1.3.2.tar.xz', '91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f', 'lib/libFLAC.a',
from build.zlib import ZlibProject from build.meson import MesonProject from build.autotools import AutotoolsProject from build.ffmpeg import FfmpegProject from build.boost import BoostProject libmpdclient = MesonProject( 'https://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.16.tar.xz', 'fa6bdab67c0e0490302b38f00c27b4959735c3ec8aef7a88327adb1407654464', 'lib/libmpdclient.a', ) libogg = AutotoolsProject( 'http://downloads.xiph.org/releases/ogg/libogg-1.3.3.tar.xz', '4f3fc6178a533d392064f14776b23c397ed4b9f48f5de297aba73b643f955c08', 'lib/libogg.a', [ '--disable-shared', '--enable-static', ], ) libvorbis = AutotoolsProject( 'http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.6.tar.xz', 'af00bb5a784e7c9e69f56823de4637c350643deedaf333d0fa86ecdba6fcb415', 'lib/libvorbis.a', [ '--disable-shared', '--enable-static', ], edits={ # this option is not understood by clang 'configure': lambda data: data.replace('-mno-ieee-fp', ' '),
from build.meson import MesonProject from build.autotools import AutotoolsProject from build.ffmpeg import FfmpegProject from build.boost import BoostProject libmpdclient = MesonProject( 'https://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.16.tar.xz', 'fa6bdab67c0e0490302b38f00c27b4959735c3ec8aef7a88327adb1407654464', 'lib/libmpdclient.a', ) libogg = AutotoolsProject( 'http://downloads.xiph.org/releases/ogg/libogg-1.3.4.tar.xz', 'c163bc12bc300c401b6aa35907ac682671ea376f13ae0969a220f7ddf71893fe', 'lib/libogg.a', [ '--disable-shared', '--enable-static', ], ) libvorbis = AutotoolsProject( 'http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.6.tar.xz', 'af00bb5a784e7c9e69f56823de4637c350643deedaf333d0fa86ecdba6fcb415', 'lib/libvorbis.a', [ '--disable-shared', '--enable-static', ], edits={ # this option is not understood by clang
from os.path import abspath from build.zlib import ZlibProject from build.autotools import AutotoolsProject from build.openssl import OpenSSLProject from build.freetype import FreeTypeProject from build.sdl2 import SDL2Project from build.lua import LuaProject glibc = AutotoolsProject( 'http://mirror.netcologne.de/gnu/libc/glibc-2.23.tar.xz', '456995968f3acadbed39f5eba31678df', 'include/unistd.h', [ '--enable-static-nss', '--enable-kernel=2.6.35', '--disable-werror', '--disable-build-nscd', '--disable-nscd', ], shared=True, ) openssl = OpenSSLProject( 'https://www.openssl.org/source/openssl-1.0.2k.tar.gz', '6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0', 'include/openssl/ossl_typ.h', ) openssh = AutotoolsProject( 'http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.2p2.tar.gz',
from build.freetype import FreeTypeProject from build.curl import CurlProject from build.libpng import LibPNGProject from build.libstdcxxmuslheaders import LibstdcxxMuslHeadersProject from build.sdl2 import SDL2Project from build.lua import LuaProject glibc = AutotoolsProject( 'http://mirror.netcologne.de/gnu/libc/glibc-2.23.tar.xz', 'http://ftp.gnu.org/gnu/glibc/glibc-2.23.tar.xz', '456995968f3acadbed39f5eba31678df', 'include/unistd.h', [ '--enable-kernel=2.6.35', '--disable-werror', '--disable-build-nscd', '--disable-nscd', ], patches=abspath('lib/glibc/patches'), shared=True, # This is needed so glibc can find its NSS modules make_args=['default-rpath=/opt/xcsoar/lib'], ) musl = AutotoolsProject( 'https://www.musl-libc.org/releases/musl-1.1.18.tar.gz', 'https://fossies.org/linux/misc/musl-1.1.18.tar.gz', 'd017ee5d01aec0c522a1330fdff06b1e428cb409e1db819cc4935d5da4a5a118', 'include/unistd.h', [
import re from os.path import abspath from build.project import Project from build.zlib import ZlibProject from build.autotools import AutotoolsProject from build.ffmpeg import FfmpegProject from build.boost import BoostProject libogg = AutotoolsProject( 'http://downloads.xiph.org/releases/ogg/libogg-1.3.3.tar.xz', '4f3fc6178a533d392064f14776b23c397ed4b9f48f5de297aba73b643f955c08', 'lib/libogg.a', [ '--disable-shared', '--enable-static', ], ) libvorbis = AutotoolsProject( 'http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.xz', '28cb28097c07a735d6af56e598e1c90f', 'lib/libvorbis.a', [ '--disable-shared', '--enable-static', ], edits={ # this option is not understood by clang 'configure': lambda data: data.replace('-mno-ieee-fp', ' '), })
import re from build.project import Project from build.zlib import ZlibProject from build.autotools import AutotoolsProject from build.ffmpeg import FfmpegProject from build.boost import BoostProject libogg = AutotoolsProject( 'http://downloads.xiph.org/releases/ogg/libogg-1.3.3.tar.xz', '4f3fc6178a533d392064f14776b23c397ed4b9f48f5de297aba73b643f955c08', 'lib/libogg.a', [ '--disable-shared', '--enable-static', ], ) libvorbis = AutotoolsProject( 'http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.xz', '28cb28097c07a735d6af56e598e1c90f', 'lib/libvorbis.a', [ '--disable-shared', '--enable-static', ], ) opus = AutotoolsProject( 'https://archive.mozilla.org/pub/opus/opus-1.2.1.tar.gz', 'cfafd339ccd9c5ef8d6ab15d7e1a412c054bf4cb4ecbbbcc78c12ef2def70732', 'lib/libopus.a',
from build.project import Project from build.zlib import ZlibProject from build.autotools import AutotoolsProject from build.ffmpeg import FfmpegProject from build.boost import BoostProject libogg = AutotoolsProject( 'http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.xz', '5c3a34309d8b98640827e5d0991a4015', 'lib/libogg.a', ['--disable-shared', '--enable-static'], ) libvorbis = AutotoolsProject( 'http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.xz', '28cb28097c07a735d6af56e598e1c90f', 'lib/libvorbis.a', ['--disable-shared', '--enable-static'], ) opus = AutotoolsProject( 'https://archive.mozilla.org/pub/opus/opus-1.2.1.tar.gz', 'cfafd339ccd9c5ef8d6ab15d7e1a412c054bf4cb4ecbbbcc78c12ef2def70732', 'lib/libopus.a', ['--disable-shared', '--enable-static'], ) flac = AutotoolsProject( 'http://downloads.xiph.org/releases/flac/flac-1.3.2.tar.xz', '91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f', 'lib/libFLAC.a',
from os.path import abspath from build.zlib import ZlibProject from build.autotools import AutotoolsProject from build.openssl import OpenSSLProject from build.freetype import FreeTypeProject from build.sdl2 import SDL2Project from build.lua import LuaProject glibc = AutotoolsProject( 'http://mirror.netcologne.de/gnu/libc/glibc-2.23.tar.xz', '456995968f3acadbed39f5eba31678df', 'include/unistd.h', [ '--enable-static-nss', '--enable-kernel=2.6.35', '--disable-werror', '--disable-build-nscd', '--disable-nscd', ], shared=True, ) openssl = OpenSSLProject( 'https://www.openssl.org/source/openssl-1.0.2j.tar.gz', '96322138f0b69e61b7212bc53d5e912b', 'include/openssl/ossl_typ.h', ) openssh = AutotoolsProject( 'http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.2p2.tar.gz',
from build.curl import CurlProject from build.libpng import LibPNGProject from build.libstdcxxmuslheaders import LibstdcxxMuslHeadersProject from build.sdl2 import SDL2Project from build.lua import LuaProject from build.netcdfcxx import NetcdfCxxProject glibc = AutotoolsProject( 'http://mirror.netcologne.de/gnu/libc/glibc-2.23.tar.xz', 'http://ftp.gnu.org/gnu/glibc/glibc-2.23.tar.xz', '456995968f3acadbed39f5eba31678df', 'include/unistd.h', [ '--enable-kernel=2.6.35', '--disable-werror', '--disable-build-nscd', '--disable-nscd', ], patches=abspath('lib/glibc/patches'), shared=True, # This is needed so glibc can find its NSS modules make_args=['default-rpath=/opt/xcsoar/lib'], ) musl = AutotoolsProject( 'https://www.musl-libc.org/releases/musl-1.1.18.tar.gz', 'https://fossies.org/linux/misc/musl-1.1.18.tar.gz', 'd017ee5d01aec0c522a1330fdff06b1e428cb409e1db819cc4935d5da4a5a118', 'include/unistd.h', [
def _build(self, toolchain): AutotoolsProject._build(self, toolchain.native, target_toolchain=toolchain)
) openssh = AutotoolsProject( 'http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.2p2.tar.gz', 'http://ftp.nluug.nl/security/OpenSSH/openssh-7.2p2.tar.gz', '13009a9156510d8f27e752659075cced', 'opt/openssh/sbin/sshd', [ '--disable-etc-default-login', '--disable-lastlog', '--disable-utmp', '--disable-utmpx', '--disable-wtmp', '--disable-wtmpx', '--disable-libutil', '--disable-pututline', '--disable-pututxline', '--without-openssl', '--without-ssh1', '--without-stackprotect', '--without-hardening', '--without-shadow', '--without-sandbox', '--without-selinux', ], ldflags='-static', install_prefix='/opt/openssh', install_target='install-nosysconf', use_destdir=True, ) libsodium = AutotoolsProject(
def configure(self, toolchain): # disable usage of pthreads for Win32 builds if 'mingw' in toolchain.actual_arch: self.configure_args.append('--enable-pthreads=no') return AutotoolsProject.configure(self, toolchain)
from build.zlib import ZlibProject from build.autotools import AutotoolsProject from build.openssl import OpenSSLProject from build.freetype import FreeTypeProject from build.libpng import LibPNGProject from build.sdl2 import SDL2Project from build.lua import LuaProject glibc = AutotoolsProject( 'http://mirror.netcologne.de/gnu/libc/glibc-2.23.tar.xz', 'http://ftp.gnu.org/gnu/glibc/glibc-2.23.tar.xz', '456995968f3acadbed39f5eba31678df', 'include/unistd.h', [ '--enable-static-nss', '--enable-kernel=2.6.35', '--disable-werror', '--disable-build-nscd', '--disable-nscd', ], shared=True, ) openssl = OpenSSLProject( 'https://www.openssl.org/source/openssl-1.0.2k.tar.gz', 'ftp://ftp.kfki.hu/pub/packages/security/openssl/openssl-1.0.2k.tar.gz', '6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0', 'include/openssl/ossl_typ.h', ) openssh = AutotoolsProject(
from build.project import Project from build.zlib import ZlibProject from build.autotools import AutotoolsProject from build.ffmpeg import FfmpegProject from build.boost import BoostProject libogg = AutotoolsProject( 'http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.xz', '5c3a34309d8b98640827e5d0991a4015', 'lib/libogg.a', ['--disable-shared', '--enable-static'], ) libvorbis = AutotoolsProject( 'http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.xz', '28cb28097c07a735d6af56e598e1c90f', 'lib/libvorbis.a', ['--disable-shared', '--enable-static'], ) opus = AutotoolsProject( 'http://downloads.xiph.org/releases/opus/opus-1.1.2.tar.gz', '1f08a661bc72930187893a07f3741a91', 'lib/libopus.a', ['--disable-shared', '--enable-static'], ) flac = AutotoolsProject( 'http://downloads.xiph.org/releases/flac/flac-1.3.1.tar.xz', 'b9922c9a0378c88d3e901b234f852698', 'lib/libFLAC.a',
from build.zlib import ZlibProject from build.autotools import AutotoolsProject from build.freetype import FreeTypeProject glibc = AutotoolsProject( 'http://mirror.netcologne.de/gnu/libc/glibc-2.23.tar.xz', 'http://ftp.gnu.org/gnu/glibc/glibc-2.23.tar.xz', '456995968f3acadbed39f5eba31678df', 'include/unistd.h', [ '--enable-kernel=2.6.35', '--disable-werror', '--disable-build-nscd', '--disable-nscd', ], shared=True, # This is needed so glibc can find its NSS modules make_args=['default-rpath=/opt/xcsoar/lib'], ) zlib = ZlibProject( 'http://zlib.net/zlib-1.2.11.tar.xz', 'http://downloads.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.xz', '4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066', 'lib/libz.a', ) freetype = FreeTypeProject( 'http://download.savannah.gnu.org/releases/freetype/freetype-2.8.tar.bz2', 'http://downloads.sourceforge.net/project/freetype/freetype2/2.8/freetype-2.8.tar.bz2',
def configure(self, toolchain): # append argument --enable-arm-neon for targets supporting NEON if toolchain.actual_arch.startswith('aarch64') or '-mfpu=neon' in toolchain.cflags: self.configure_args.append('--enable-arm-neon') return AutotoolsProject.configure(self, toolchain)
def configure(self, toolchain, *args, **kwargs): # disable usage of pthreads for Win32 builds if 'mingw' in toolchain.actual_arch: self.configure_args.append('--enable-pthreads=no') return AutotoolsProject.configure(self, toolchain, *args, **kwargs)