diff options
author | Tobias Markmann <tm@ayena.de> | 2016-12-15 14:49:30 (GMT) |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2016-12-15 14:49:46 (GMT) |
commit | 6cd7bef6eb507f979d7c964769429ef46e3e5aa9 (patch) | |
tree | 322d5c80e7be477758a8e97ecd8a64fbb09836de /BuildTools | |
parent | 864904bcd7931ff7453ecb1de72496e4e3cf9c96 (diff) | |
parent | 2efefdc5ae847f5d187762e474d75c61560cba19 (diff) | |
download | swift-6cd7bef6eb507f979d7c964769429ef46e3e5aa9.zip swift-6cd7bef6eb507f979d7c964769429ef46e3e5aa9.tar.bz2 |
Merge branch 'swift-3.x’
* swift-3.x:
- Fix building Swift on 32-bit Linux distributions
- Remove optional_fwd.hpp use; workaround for Boost Bug #12179
- Split COPYING.thirdparty in contributions/dependencies
- Fixes for building packages on Debian
Conflicts:
BuildTools/SCons/SConstruct
Sluift/Console.h
Sluift/ITunesInterface.h
Sluift/Terminal.h
Swift/Packaging/Debian/debian/control.in
Swift/QtUI/SConscript
Swiften/Elements/Stanza.h
Swiften/FileTransfer/FileTransferTransporter.h
Swiften/FileTransfer/IBBReceiveSession.h
Swiften/JID/JID.h
Swiften/Network/BoostConnectionServer.h
Swiften/Network/ConnectionServer.h
Swiften/Parser/AttributeMap.h
Test-Information:
Builds on macOS 10.12.1 with clang trunk.
Change-Id: I9f41ab199f227bc106721627ea994313c68e5cfe
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 |