diff options
author | Adam Kocoloski <adam@cloudant.com> | 2010-08-23 13:51:50 -0400 |
---|---|---|
committer | Adam Kocoloski <adam@cloudant.com> | 2010-08-23 13:51:50 -0400 |
commit | 96a9fa9101e9ed50149d284ff32c361084223fa4 (patch) | |
tree | 51f7c69596df29a26beaf85a8f2376e271ade366 /scons/scons-local-2.0.1/SCons/Warnings.py | |
parent | dd586292bdb6b6ea16b70351c2ca4d20793ac772 (diff) |
consolidate all couchjs stuff in one subdir
Diffstat (limited to 'scons/scons-local-2.0.1/SCons/Warnings.py')
-rw-r--r-- | scons/scons-local-2.0.1/SCons/Warnings.py | 246 |
1 files changed, 0 insertions, 246 deletions
diff --git a/scons/scons-local-2.0.1/SCons/Warnings.py b/scons/scons-local-2.0.1/SCons/Warnings.py deleted file mode 100644 index 89f7ce93..00000000 --- a/scons/scons-local-2.0.1/SCons/Warnings.py +++ /dev/null @@ -1,246 +0,0 @@ -# -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# - -"""SCons.Warnings - -This file implements the warnings framework for SCons. - -""" - -__revision__ = "src/engine/SCons/Warnings.py 5134 2010/08/16 23:02:40 bdeegan" - -import sys - -import SCons.Errors - -class Warning(SCons.Errors.UserError): - pass - -class WarningOnByDefault(Warning): - pass - - -# NOTE: If you add a new warning class, add it to the man page, too! - -class CacheWriteErrorWarning(Warning): - pass - -class CorruptSConsignWarning(WarningOnByDefault): - pass - -class DependencyWarning(Warning): - pass - -class DuplicateEnvironmentWarning(WarningOnByDefault): - pass - -class FutureReservedVariableWarning(WarningOnByDefault): - pass - -class LinkWarning(WarningOnByDefault): - pass - -class MisleadingKeywordsWarning(WarningOnByDefault): - pass - -class MissingSConscriptWarning(WarningOnByDefault): - pass - -class NoMD5ModuleWarning(WarningOnByDefault): - pass - -class NoMetaclassSupportWarning(WarningOnByDefault): - pass - -class NoObjectCountWarning(WarningOnByDefault): - pass - -class NoParallelSupportWarning(WarningOnByDefault): - pass - -class ReservedVariableWarning(WarningOnByDefault): - pass - -class StackSizeWarning(WarningOnByDefault): - pass - -class VisualCMissingWarning(WarningOnByDefault): - pass - -# Used when MSVC_VERSION and MSVS_VERSION do not point to the -# same version (MSVS_VERSION is deprecated) -class VisualVersionMismatch(WarningOnByDefault): - pass - -class VisualStudioMissingWarning(Warning): - pass - -class FortranCxxMixWarning(LinkWarning): - pass - - -# Deprecation warnings - -class FutureDeprecatedWarning(Warning): - pass - -class DeprecatedWarning(Warning): - pass - -class MandatoryDeprecatedWarning(DeprecatedWarning): - pass - - -# Special case; base always stays DeprecatedWarning -class PythonVersionWarning(DeprecatedWarning): - pass - -class DeprecatedSourceCodeWarning(FutureDeprecatedWarning): - pass - -class DeprecatedBuildDirWarning(DeprecatedWarning): - pass - -class TaskmasterNeedsExecuteWarning(DeprecatedWarning): - pass - -class DeprecatedCopyWarning(MandatoryDeprecatedWarning): - pass - -class DeprecatedOptionsWarning(MandatoryDeprecatedWarning): - pass - -class DeprecatedSourceSignaturesWarning(MandatoryDeprecatedWarning): - pass - -class DeprecatedTargetSignaturesWarning(MandatoryDeprecatedWarning): - pass - -class DeprecatedDebugOptionsWarning(MandatoryDeprecatedWarning): - pass - -class DeprecatedSigModuleWarning(MandatoryDeprecatedWarning): - pass - -class DeprecatedBuilderKeywordsWarning(MandatoryDeprecatedWarning): - pass - - -# The below is a list of 2-tuples. The first element is a class object. -# The second element is true if that class is enabled, false if it is disabled. -_enabled = [] - -# If set, raise the warning as an exception -_warningAsException = 0 - -# If not None, a function to call with the warning -_warningOut = None - -def suppressWarningClass(clazz): - """Suppresses all warnings that are of type clazz or - derived from clazz.""" - _enabled.insert(0, (clazz, 0)) - -def enableWarningClass(clazz): - """Enables all warnings that are of type clazz or - derived from clazz.""" - _enabled.insert(0, (clazz, 1)) - -def warningAsException(flag=1): - """Turn warnings into exceptions. Returns the old value of the flag.""" - global _warningAsException - old = _warningAsException - _warningAsException = flag - return old - -def warn(clazz, *args): - global _enabled, _warningAsException, _warningOut - - warning = clazz(args) - for clazz, flag in _enabled: - if isinstance(warning, clazz): - if flag: - if _warningAsException: - raise warning - - if _warningOut: - _warningOut(warning) - break - -def process_warn_strings(arguments): - """Process string specifications of enabling/disabling warnings, - as passed to the --warn option or the SetOption('warn') function. - - - An argument to this option should be of the form <warning-class> - or no-<warning-class>. The warning class is munged in order - to get an actual class name from the classes above, which we - need to pass to the {enable,disable}WarningClass() functions. - The supplied <warning-class> is split on hyphens, each element - is capitalized, then smushed back together. Then the string - "Warning" is appended to get the class name. - - For example, 'deprecated' will enable the DeprecatedWarning - class. 'no-dependency' will disable the DependencyWarning class. - - As a special case, --warn=all and --warn=no-all will enable or - disable (respectively) the base Warning class of all warnings. - - """ - - def _capitalize(s): - if s[:5] == "scons": - return "SCons" + s[5:] - else: - return s.capitalize() - - for arg in arguments: - - elems = arg.lower().split('-') - enable = 1 - if elems[0] == 'no': - enable = 0 - del elems[0] - - if len(elems) == 1 and elems[0] == 'all': - class_name = "Warning" - else: - class_name = ''.join(map(_capitalize, elems)) + "Warning" - try: - clazz = globals()[class_name] - except KeyError: - sys.stderr.write("No warning type: '%s'\n" % arg) - else: - if enable: - enableWarningClass(clazz) - elif issubclass(clazz, MandatoryDeprecatedWarning): - fmt = "Can not disable mandataory warning: '%s'\n" - sys.stderr.write(fmt % arg) - else: - suppressWarningClass(clazz) - -# Local Variables: -# tab-width:4 -# indent-tabs-mode:nil -# End: -# vim: set expandtab tabstop=4 shiftwidth=4: |