gnome: Mark helper functions as private

pull/942/head
Patrick Griffis 9 years ago
parent 1811f83e2a
commit fb7d9c7aef
  1. 92
      mesonbuild/modules/gnome.py

@ -31,7 +31,8 @@ gresource_warning_printed = False
class GnomeModule: class GnomeModule:
def get_native_glib_version(self, state): @staticmethod
def _get_native_glib_version(state):
global native_glib_version global native_glib_version
if native_glib_version is None: if native_glib_version is None:
glib_dep = dependencies.PkgConfigDependency( glib_dep = dependencies.PkgConfigDependency(
@ -42,7 +43,7 @@ class GnomeModule:
def __print_gresources_warning(self, state): def __print_gresources_warning(self, state):
global gresource_warning_printed global gresource_warning_printed
if not gresource_warning_printed: if not gresource_warning_printed:
if mesonlib.version_compare(self.get_native_glib_version(state), '< 2.50.0'): if mesonlib.version_compare(self._get_native_glib_version(state), '< 2.50.0'):
mlog.log('Warning, GLib compiled dependencies do not work fully ' mlog.log('Warning, GLib compiled dependencies do not work fully '
'with versions of GLib older than 2.50.0.\n' 'with versions of GLib older than 2.50.0.\n'
'See the following upstream issue:', 'See the following upstream issue:',
@ -69,7 +70,7 @@ class GnomeModule:
if not isinstance(dependencies, list): if not isinstance(dependencies, list):
dependencies = [dependencies] dependencies = [dependencies]
if mesonlib.version_compare(self.get_native_glib_version(state), if mesonlib.version_compare(self._get_native_glib_version(state),
'< 2.48.2'): '< 2.48.2'):
if len(dependencies) > 0: if len(dependencies) > 0:
raise MesonException( raise MesonException(
@ -86,7 +87,7 @@ class GnomeModule:
else: else:
raise RuntimeError('Unreachable code.') raise RuntimeError('Unreachable code.')
kwargs['depend_files'] = self.get_gresource_dependencies( kwargs['depend_files'] = self._get_gresource_dependencies(
state, ifile, source_dirs, dependencies) state, ifile, source_dirs, dependencies)
for source_dir in source_dirs: for source_dir in source_dirs:
@ -113,7 +114,7 @@ class GnomeModule:
target_h = build.CustomTarget(args[0] + '_h', state.subdir, kwargs) target_h = build.CustomTarget(args[0] + '_h', state.subdir, kwargs)
return [target_c, target_h] return [target_c, target_h]
def get_gresource_dependencies(self, state, input_file, source_dirs, dependencies): def _get_gresource_dependencies(self, state, input_file, source_dirs, dependencies):
self.__print_gresources_warning(state) self.__print_gresources_warning(state)
for dep in dependencies: for dep in dependencies:
@ -184,7 +185,8 @@ class GnomeModule:
return dep_files return dep_files
def get_link_args(self, state, lib, depends=None): @staticmethod
def _get_link_args(state, lib, depends=None):
link_command = ['-l%s' % lib.name] link_command = ['-l%s' % lib.name]
if isinstance(lib, build.SharedLibrary): if isinstance(lib, build.SharedLibrary):
link_command += ['-L%s' % link_command += ['-L%s' %
@ -194,7 +196,8 @@ class GnomeModule:
depends.append(lib) depends.append(lib)
return link_command return link_command
def get_include_args(self, state, include_dirs, prefix='-I'): @staticmethod
def _get_include_args(state, include_dirs, prefix='-I'):
if not include_dirs: if not include_dirs:
return [] return []
@ -222,7 +225,7 @@ class GnomeModule:
return dirs_str return dirs_str
def get_dependencies_flags(self, deps, state, depends=None): def _get_dependencies_flags(self, deps, state, depends=None):
cflags = set() cflags = set()
ldflags = set() ldflags = set()
gi_includes = set() gi_includes = set()
@ -233,14 +236,14 @@ class GnomeModule:
if hasattr(dep, 'held_object'): if hasattr(dep, 'held_object'):
dep = dep.held_object dep = dep.held_object
if isinstance(dep, dependencies.InternalDependency): if isinstance(dep, dependencies.InternalDependency):
cflags.update(self.get_include_args( state, dep.include_directories)) cflags.update(self._get_include_args(state, dep.include_directories))
for lib in dep.libraries: for lib in dep.libraries:
ldflags.update(self.get_link_args(state, lib.held_object, depends)) ldflags.update(self._get_link_args(state, lib.held_object, depends))
libdepflags = self.get_dependencies_flags(lib.held_object.get_external_deps(), state, depends) libdepflags = self._get_dependencies_flags(lib.held_object.get_external_deps(), state, depends)
cflags.update(libdepflags[0]) cflags.update(libdepflags[0])
ldflags.update(libdepflags[1]) ldflags.update(libdepflags[1])
gi_includes.update(libdepflags[2]) gi_includes.update(libdepflags[2])
extdepflags = self.get_dependencies_flags(dep.ext_deps, state, depends) extdepflags = self._get_dependencies_flags(dep.ext_deps, state, depends)
cflags.update(extdepflags[0]) cflags.update(extdepflags[0])
ldflags.update(extdepflags[1]) ldflags.update(extdepflags[1])
gi_includes.update(extdepflags[2]) gi_includes.update(extdepflags[2])
@ -314,14 +317,14 @@ class GnomeModule:
scan_command += extra_args scan_command += extra_args
scan_command += ['-I' + os.path.join(state.environment.get_source_dir(), state.subdir), scan_command += ['-I' + os.path.join(state.environment.get_source_dir(), state.subdir),
'-I' + os.path.join(state.environment.get_build_dir(), state.subdir)] '-I' + os.path.join(state.environment.get_build_dir(), state.subdir)]
scan_command += self.get_include_args(state, girtarget.get_include_dirs()) scan_command += self._get_include_args(state, girtarget.get_include_dirs())
if 'link_with' in kwargs: if 'link_with' in kwargs:
link_with = kwargs.pop('link_with') link_with = kwargs.pop('link_with')
if not isinstance(link_with, list): if not isinstance(link_with, list):
link_with = [link_with] link_with = [link_with]
for link in link_with: for link in link_with:
scan_command += self.get_link_args(state, link.held_object, depends) scan_command += self._get_link_args(state, link.held_object, depends)
if 'includes' in kwargs: if 'includes' in kwargs:
includes = kwargs.pop('includes') includes = kwargs.pop('includes')
@ -384,7 +387,7 @@ class GnomeModule:
# ldflags will be misinterpreted by gir scanner (showing # ldflags will be misinterpreted by gir scanner (showing
# spurious dependencies) but building GStreamer fails if they # spurious dependencies) but building GStreamer fails if they
# are not used here. # are not used here.
cflags, ldflags, gi_includes = self.get_dependencies_flags(deps, state, depends) cflags, ldflags, gi_includes = self._get_dependencies_flags(deps, state, depends)
scan_command += list(cflags) + list(ldflags) scan_command += list(cflags) + list(ldflags)
for i in gi_includes: for i in gi_includes:
scan_command += ['--add-include-path=%s' % i] scan_command += ['--add-include-path=%s' % i]
@ -396,9 +399,9 @@ class GnomeModule:
if not isinstance(incd.held_object, (str, build.IncludeDirs)): if not isinstance(incd.held_object, (str, build.IncludeDirs)):
raise MesonException( raise MesonException(
'Gir include dirs should be include_directories().') 'Gir include dirs should be include_directories().')
scan_command += self.get_include_args(state, inc_dirs) scan_command += self._get_include_args(state, inc_dirs)
scan_command += self.get_include_args(state, gir_inc_dirs + inc_dirs, scan_command += self._get_include_args(state, gir_inc_dirs + inc_dirs,
prefix='--add-include-path=') prefix='--add-include-path=')
if isinstance(girtarget, build.Executable): if isinstance(girtarget, build.Executable):
scan_command += ['--program', girtarget] scan_command += ['--program', girtarget]
@ -419,8 +422,8 @@ class GnomeModule:
typelib_output = '%s-%s.typelib' % (ns, nsversion) typelib_output = '%s-%s.typelib' % (ns, nsversion)
typelib_cmd = ['g-ir-compiler', scan_target, '--output', '@OUTPUT@'] typelib_cmd = ['g-ir-compiler', scan_target, '--output', '@OUTPUT@']
typelib_cmd += self.get_include_args(state, gir_inc_dirs, typelib_cmd += self._get_include_args(state, gir_inc_dirs,
prefix='--includedir=') prefix='--includedir=')
for dep in deps: for dep in deps:
if hasattr(dep, 'held_object'): if hasattr(dep, 'held_object'):
dep = dep.held_object dep = dep.held_object
@ -561,24 +564,24 @@ class GnomeModule:
'--headerdir=' + header_dir, '--headerdir=' + header_dir,
'--mainfile=' + main_file, '--mainfile=' + main_file,
'--modulename=' + modulename] '--modulename=' + modulename]
args += self.unpack_args('--htmlargs=', 'html_args', kwargs) args += self._unpack_args('--htmlargs=', 'html_args', kwargs)
args += self.unpack_args('--scanargs=', 'scan_args', kwargs) args += self._unpack_args('--scanargs=', 'scan_args', kwargs)
args += self.unpack_args('--scanobjsargs=', 'scanobjs_args', kwargs) args += self._unpack_args('--scanobjsargs=', 'scanobjs_args', kwargs)
args += self.unpack_args('--gobjects-types-file=', 'gobject_typesfile', kwargs, state) args += self._unpack_args('--gobjects-types-file=', 'gobject_typesfile', kwargs, state)
args += self.unpack_args('--fixxrefargs=', 'fixxref_args', kwargs) args += self._unpack_args('--fixxrefargs=', 'fixxref_args', kwargs)
args += self.unpack_args('--html-assets=', 'html_assets', kwargs, state) args += self._unpack_args('--html-assets=', 'html_assets', kwargs, state)
args += self.unpack_args('--content-files=', 'content_files', kwargs, state) args += self._unpack_args('--content-files=', 'content_files', kwargs, state)
args += self.unpack_args('--ignore-headers=', 'ignore_headers', kwargs) args += self._unpack_args('--ignore-headers=', 'ignore_headers', kwargs)
args += self.unpack_args('--installdir=', 'install_dir', kwargs, state) args += self._unpack_args('--installdir=', 'install_dir', kwargs, state)
args += self.get_build_args(kwargs, state) args += self._get_build_args(kwargs, state)
res = [build.RunTarget(targetname, command[0], command[1:] + args, [], state.subdir)] res = [build.RunTarget(targetname, command[0], command[1:] + args, [], state.subdir)]
if kwargs.get('install', True): if kwargs.get('install', True):
res.append(build.InstallScript(command + args)) res.append(build.InstallScript(command + args))
return res return res
def get_build_args(self, kwargs, state): def _get_build_args(self, kwargs, state):
args = [] args = []
cflags, ldflags, gi_includes = self.get_dependencies_flags(kwargs.get('dependencies', []), state) cflags, ldflags, gi_includes = self._get_dependencies_flags(kwargs.get('dependencies', []), state)
inc_dirs = kwargs.get('include_directories', []) inc_dirs = kwargs.get('include_directories', [])
if not isinstance(inc_dirs, list): if not isinstance(inc_dirs, list):
inc_dirs = [inc_dirs] inc_dirs = [inc_dirs]
@ -586,7 +589,7 @@ class GnomeModule:
if not isinstance(incd.held_object, (str, build.IncludeDirs)): if not isinstance(incd.held_object, (str, build.IncludeDirs)):
raise MesonException( raise MesonException(
'Gir include dirs should be include_directories().') 'Gir include dirs should be include_directories().')
cflags.update(self.get_include_args(state, inc_dirs)) cflags.update(self._get_include_args(state, inc_dirs))
if cflags: if cflags:
args += ['--cflags=%s' % ' '.join(cflags)] args += ['--cflags=%s' % ' '.join(cflags)]
if ldflags: if ldflags:
@ -606,8 +609,8 @@ class GnomeModule:
raise MesonException('Argument must be a string') raise MesonException('Argument must be a string')
return os.path.join('share/gtkdoc/html', modulename) return os.path.join('share/gtkdoc/html', modulename)
@staticmethod
def unpack_args(self, arg, kwarg_name, kwargs, expend_file_state=None): def _unpack_args(arg, kwarg_name, kwargs, expend_file_state=None):
if kwarg_name not in kwargs: if kwarg_name not in kwargs:
return [] return []
@ -699,9 +702,9 @@ class GnomeModule:
if 'install_dir' not in custom_kwargs: if 'install_dir' not in custom_kwargs:
custom_kwargs['install_dir'] = \ custom_kwargs['install_dir'] = \
state.environment.coredata.get_builtin_option('includedir') state.environment.coredata.get_builtin_option('includedir')
h_target = self.make_mkenum_custom_target(state, h_sources, h_target = self._make_mkenum_custom_target(state, h_sources,
h_output, h_cmd, h_output, h_cmd,
custom_kwargs) custom_kwargs)
targets.append(h_target) targets.append(h_target)
if c_template is not None: if c_template is not None:
@ -717,9 +720,9 @@ class GnomeModule:
custom_kwargs['depends'] += [h_target] custom_kwargs['depends'] += [h_target]
else: else:
custom_kwargs['depends'] = h_target custom_kwargs['depends'] = h_target
c_target = self.make_mkenum_custom_target(state, c_sources, c_target = self._make_mkenum_custom_target(state, c_sources,
c_output, c_cmd, c_output, c_cmd,
custom_kwargs) custom_kwargs)
targets.insert(0, c_target) targets.insert(0, c_target)
if c_template is None and h_template is None: if c_template is None and h_template is None:
@ -728,15 +731,16 @@ class GnomeModule:
if 'install_dir' not in custom_kwargs: if 'install_dir' not in custom_kwargs:
custom_kwargs['install_dir'] = \ custom_kwargs['install_dir'] = \
state.environment.coredata.get_builtin_option('includedir') state.environment.coredata.get_builtin_option('includedir')
target = self.make_mkenum_custom_target(state, sources, basename, target = self._make_mkenum_custom_target(state, sources, basename,
generic_cmd, custom_kwargs) generic_cmd, custom_kwargs)
return target return target
elif len(targets) == 1: elif len(targets) == 1:
return targets[0] return targets[0]
else: else:
return targets return targets
def make_mkenum_custom_target(self, state, sources, output, cmd, kwargs): @staticmethod
def _make_mkenum_custom_target(state, sources, output, cmd, kwargs):
custom_kwargs = { custom_kwargs = {
'input': sources, 'input': sources,
'output': output, 'output': output,

Loading…
Cancel
Save