diff options
Diffstat (limited to 'BuildTools')
-rwxr-xr-x | BuildTools/ProjectCopyrightSummary.py | 32 | ||||
-rw-r--r-- | BuildTools/SCons/SConscript.boot | 7 |
2 files changed, 39 insertions, 0 deletions
diff --git a/BuildTools/ProjectCopyrightSummary.py b/BuildTools/ProjectCopyrightSummary.py new file mode 100755 index 0000000..6e2d824 --- /dev/null +++ b/BuildTools/ProjectCopyrightSummary.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python + +import fnmatch +import os +import re +from sets import Set + +projectSourceFiles = [] +for directory in ['Documentation', 'Limber', 'Packages', 'QA', 'Slimber', 'Sluift', 'Swift', 'Swiften', 'SwifTools']: + for root, dirnames, filenames in os.walk(directory): + for filename in filenames: + if any(fnmatch.fnmatch(filename, pattern) for pattern in ['*.cpp', '*.h', '*.mm', '*.m', '*.c']): + projectSourceFiles.append(os.path.join(root, filename)) + + +def CopyrightNames(filename): + names = [] + with open(filename, 'r') as file: + data = file.read() + p = re.compile(ur'\* Copyright.*\d\d\d\d (.*?)\.?$', re.MULTILINE) + names = re.findall(p, data) + return names + + +names = Set() +for file in projectSourceFiles: + copyrightNames = CopyrightNames(file) + for name in copyrightNames: + names.add(name) + +for name in sorted(list(names)): + print(name) diff --git a/BuildTools/SCons/SConscript.boot b/BuildTools/SCons/SConscript.boot index 7efa8c9..031c556 100644 --- a/BuildTools/SCons/SConscript.boot +++ b/BuildTools/SCons/SConscript.boot @@ -176,60 +176,67 @@ if env["max_jobs"] : pass except ImportError : pass # Set speed options env.Decider("MD5-timestamp") env.SetOption("max_drift", 1) env.SetOption("implicit_cache", True) # Set the default compiler to CLang on OS X, and set the necessary flags if env["PLATFORM"] == "darwin" and env["target"] == "native" : if "cc" not in env : env["CC"] = "clang" if platform.machine() == "x86_64" : env["CCFLAGS"] = ["-arch", "x86_64"] if "cxx" not in env : env["CXX"] = "clang++" if "link" not in env : # Use clang++ instead of clang, otherwise XCode's clang will cause linking errors due to missing C++ standard lib. env["LINK"] = "clang++" if platform.machine() == "x86_64" : env.Append(LINKFLAGS = ["-arch", "x86_64"]) # Set QT_SELECT variable to enable building on systems that have Qt4 and Qt5 installed and use qtselect if env["PLATFORM"] != "darwin" and env["PLATFORM"] != "win32" : if env["qt5"] : env["ENV"]["QT_SELECT"] = "qt5" else: env["ENV"]["QT_SELECT"] = "qt4" +# Set QT_SELECT variable to enable building on systems that have Qt4 and Qt5 installed and use qtselect +if env["PLATFORM"] != "darwin" and env["PLATFORM"] != "win32" : + if env["qt5"] : + env["ENV"]["QT_SELECT"] = "qt5" + else: + env["ENV"]["QT_SELECT"] = "qt4" + # Check whether we are running inside scan-build, and override compiler if so if "CCC_ANALYZER_HTML" in os.environ : for key, value in os.environ.items() : if key.startswith("CCC_") or key.startswith("CLANG") : env["ENV"][key] = value env["CC"] = os.environ["CC"] env["CXX"] = os.environ["CXX"] # Override the compiler with custom variables set at config time if "cc" in env : env["CC"] = env["cc"] if "cxx" in env : env["CXX"] = env["cxx"] if "ar" in env : env["AR"] = env["ar"] if "link" in env : env["SHLINK"] = env["link"] env["LINK"] = env["link"] # Process user-defined external flags for flags_type in ["ccflags", "cxxflags", "linkflags"] : if flags_type in env : if isinstance(env[flags_type], str) : # FIXME: Make the splitting more robust env[flags_type.upper()] = env[flags_type].split(" ") else : env[flags_type.upper()] = env[flags_type] # This isn't a real flag (yet) AFAIK. Be sure to append it to the CXXFLAGS # where you need it |