[gobject-introspection] Allow overriding of the host os name



commit 15a28c945f192863c6b0a9818fa3a0713e3d4076
Author: Nicola Fontana <ntd entidi it>
Date:   Fri Feb 12 11:04:11 2016 +0100

    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 042cc65..5b38e35 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 7f77bd2..3c7220b 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 4e45957..525bdba 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 4865ca8..09132b2 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)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]