From cb24c2d58afce68aeb0ed8ffd369e90998ad83a3 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 15 Apr 2017 16:48:47 -0400 Subject: Split apart platform-specific dependencies --- mesonbuild/dependencies/__init__.py | 4 ++++ mesonbuild/dependencies/base.py | 25 --------------------- mesonbuild/dependencies/platform.py | 44 +++++++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 25 deletions(-) create mode 100644 mesonbuild/dependencies/platform.py (limited to 'mesonbuild/dependencies') diff --git a/mesonbuild/dependencies/__init__.py b/mesonbuild/dependencies/__init__.py index f637684..62301f8 100644 --- a/mesonbuild/dependencies/__init__.py +++ b/mesonbuild/dependencies/__init__.py @@ -14,6 +14,7 @@ from .base import * from .dev import GMockDependency, GTestDependency, LLVMDependency, ValgrindDependency +from .platform import AppleFrameworks from .ui import GLDependency, GnuStepDependency, Qt4Dependency, Qt5Dependency, SDL2Dependency, WxDependency @@ -24,6 +25,9 @@ packages.update({ 'llvm': LLVMDependency, 'valgrind': ValgrindDependency, + # From platform: + 'appleframeworks': AppleFrameworks, + # From ui: 'gl': GLDependency, 'gnustep': GnuStepDependency, diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py index 709bcb2..4bdb989 100644 --- a/mesonbuild/dependencies/base.py +++ b/mesonbuild/dependencies/base.py @@ -787,30 +787,6 @@ class BoostDependency(Dependency): return 'thread' in self.requested_modules -class AppleFrameworks(Dependency): - def __init__(self, environment, kwargs): - Dependency.__init__(self, 'appleframeworks', kwargs) - modules = kwargs.get('modules', []) - if isinstance(modules, str): - modules = [modules] - if not modules: - raise DependencyException("AppleFrameworks dependency requires at least one module.") - self.frameworks = modules - - def get_link_args(self): - args = [] - for f in self.frameworks: - args.append('-framework') - args.append(f) - return args - - def found(self): - return mesonlib.is_osx() - - def get_version(self): - return 'unknown' - - class ExtraFrameworkDependency(Dependency): def __init__(self, name, required, path, kwargs): Dependency.__init__(self, 'extraframeworks', kwargs) @@ -1011,7 +987,6 @@ def find_external_dependency(name, environment, kwargs): # This has to be at the end so the classes it references # are defined. packages = {'boost': BoostDependency, - 'appleframeworks': AppleFrameworks, 'threads': ThreadDependency, 'python3': Python3Dependency, } diff --git a/mesonbuild/dependencies/platform.py b/mesonbuild/dependencies/platform.py new file mode 100644 index 0000000..cd46412 --- /dev/null +++ b/mesonbuild/dependencies/platform.py @@ -0,0 +1,44 @@ +# Copyright 2013-2017 The Meson development team + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This file contains the detection logic for external dependencies that are +# platform-specific (generally speaking). + +from .. import mesonlib + +from .base import Dependency, DependencyException + + +class AppleFrameworks(Dependency): + def __init__(self, environment, kwargs): + Dependency.__init__(self, 'appleframeworks', kwargs) + modules = kwargs.get('modules', []) + if isinstance(modules, str): + modules = [modules] + if not modules: + raise DependencyException("AppleFrameworks dependency requires at least one module.") + self.frameworks = modules + + def get_link_args(self): + args = [] + for f in self.frameworks: + args.append('-framework') + args.append(f) + return args + + def found(self): + return mesonlib.is_osx() + + def get_version(self): + return 'unknown' -- cgit v1.1