Add CheckSHCC and CheckSHCXX checkers (test fail).
authorcournape <cournape@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Wed, 3 Sep 2008 08:31:30 +0000 (08:31 +0000)
committercournape <cournape@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Wed, 3 Sep 2008 08:31:30 +0000 (08:31 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@3333 fdb21ef1-2011-0410-befe-b5e4ea1792b1

src/engine/SCons/Conftest.py
src/engine/SCons/SConf.py

index de918b1c9707ff542a6b40eea2ee03d64ad4b4f7..d9db9577130575eff8721329fbcec7815854b556 100644 (file)
@@ -162,6 +162,26 @@ int main()
     _YesNoResult(context, ret, None, text)
     return ret
 
+def CheckSHCC(context):
+    """
+    Configure check for a working shared C compiler.
+
+    This checks whether the C compiler, as defined in the $SHCC construction
+    variable, can compile a C source file. It uses the current $SHCCCOM value
+    too, so that it can test against non working flags.
+
+    """
+    context.Display("Checking whether the (shared) C compiler works")
+    text = """
+int foo()
+{
+    return 0;
+}
+"""
+    ret = _check_empty_program(context, 'SHCC', text, 'C')
+    _YesNoResult(context, ret, None, text)
+    return ret
+
 def CheckCXX(context):
     """
     Configure check for a working CXX compiler.
@@ -182,6 +202,26 @@ int main()
     _YesNoResult(context, ret, None, text)
     return ret
 
+def CheckSHCXX(context):
+    """
+    Configure check for a working shared CXX compiler.
+
+    This checks whether the CXX compiler, as defined in the $SHCXX construction
+    variable, can compile a CXX source file. It uses the current $SHCXXCOM value
+    too, so that it can test against non working flags.
+
+    """
+    context.Display("Checking whether the (shared) C++ compiler works")
+    text = """
+int main()
+{
+    return 0;
+}
+"""
+    ret = _check_empty_program(context, 'SHCXX', text, 'C++')
+    _YesNoResult(context, ret, None, text)
+    return ret
+
 def _check_empty_program(context, comp, text, language):
     """Return 0 on success, 1 otherwise."""
     if not context.env.has_key(comp) or not context.env[comp]:
index bee823b9c4278e6ae752d22660427c75a50008b7..75128166d7029a64dd587377a117f351623b1710 100644 (file)
@@ -403,6 +403,8 @@ class SConfBase:
         default_tests = {
                  'CheckCC'            : CheckCC,
                  'CheckCXX'           : CheckCXX,
+                 'CheckSHCC'          : CheckSHCC,
+                 'CheckSHCXX'         : CheckSHCXX,
                  'CheckFunc'          : CheckFunc,
                  'CheckType'          : CheckType,
                  'CheckTypeSize'      : CheckTypeSize,
@@ -932,6 +934,14 @@ def CheckCXX(context):
     res = SCons.Conftest.CheckCXX(context)
     return not res
 
+def CheckSHCC(context):
+    res = SCons.Conftest.CheckSHCC(context)
+    return not res
+
+def CheckSHCXX(context):
+    res = SCons.Conftest.CheckSHCXX(context)
+    return not res
+
 # Bram: Make this function obsolete?  CheckHeader() is more generic.
 
 def CheckCHeader(context, header, include_quotes = '""'):