From 15a28c945f192863c6b0a9818fa3a0713e3d4076 Mon Sep 17 00:00:00 2001 From: Nicola Fontana Date: Fri, 12 Feb 2016 11:04:11 +0100 Subject: Allow overriding of the host os name Added the GI_HOST_OS environment variable to eventually specify the host OS explicitely. It fall backs to os.name to retain backward compatibility. https://bugzilla.gnome.org/show_bug.cgi?id=761985 --- Makefile.introspection | 2 +- giscanner/dumper.py | 2 +- giscanner/shlibs.py | 4 ++-- giscanner/utils.py | 4 ++++ 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Makefile.introspection b/Makefile.introspection index 042cc65e..5b38e355 100644 --- a/Makefile.introspection +++ b/Makefile.introspection @@ -85,7 +85,7 @@ _gir_silent_compiler = $(_gir_silent_compiler_$(V)) _gir_silent_compiler_ = $(_gir_silent_compiler_$(_gir_verbosity)) _gir_silent_compiler_0 = @echo " GICOMP $(1)"; -_gir_default_scanner_env = CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" +_gir_default_scanner_env = CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" GI_HOST_OS="$(GI_HOST_OS)" DLLTOOL="$(DLLTOOL)" # # Creates a GIR by scanning C headers/sources diff --git a/giscanner/dumper.py b/giscanner/dumper.py index 7f77bd24..3c7220bc 100644 --- a/giscanner/dumper.py +++ b/giscanner/dumper.py @@ -227,7 +227,7 @@ class DumpCompiler(object): else: args.extend(['-o', output]) if libtool: - if os.name == 'nt': + if utils.host_os() == 'nt': args.append('-Wl,--export-all-symbols') else: args.append('-export-dynamic') diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py index 4e459571..525bdba2 100644 --- a/giscanner/shlibs.py +++ b/giscanner/shlibs.py @@ -29,7 +29,7 @@ import platform import re import subprocess -from .utils import get_libtool_command, extract_libtool_shlib +from .utils import get_libtool_command, extract_libtool_shlib, host_os from .ccompiler import CCompiler @@ -94,7 +94,7 @@ def _resolve_non_libtool(options, binary, libraries): else: binary.args[0] = old_argdir - if os.name == 'nt': + if host_os() == 'nt': cc = CCompiler() shlibs = cc.resolve_windows_libs(libraries, options) diff --git a/giscanner/utils.py b/giscanner/utils.py index 4865ca8c..09132b2d 100644 --- a/giscanner/utils.py +++ b/giscanner/utils.py @@ -184,6 +184,10 @@ def cflag_real_include_path(cflag): return "-I" + os.path.realpath(cflag[2:]) +def host_os(): + return os.environ.get("GI_HOST_OS", os.name) + + def which(program): def is_exe(fpath): return os.path.isfile(fpath) and os.access(fpath, os.X_OK) -- cgit v1.2.1