summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2016-04-25 19:43:29 (GMT)
committerTobias Markmann <tm@ayena.de>2016-04-25 19:43:29 (GMT)
commit857791adda753a0f94da8317bbc019378b1f09bd (patch)
tree96aa2e4d863d50888a16527f9fbb38712e97d8ee
parentb58ad7f4b01623a8807b8c268208bd9c8496f4e2 (diff)
downloadswift-857791adda753a0f94da8317bbc019378b1f09bd.zip
swift-857791adda753a0f94da8317bbc019378b1f09bd.tar.bz2
Convert hard tabs to four spaces in all our SConscript/*.py files
Test-Information: Test that it still builds and unit test pass on OS X 10.11.4. Change-Id: I2eb4a0b707991aee553db36a8cd1ae28b813acab
-rw-r--r--3rdParty/Boost/SConscript290
-rw-r--r--3rdParty/Breakpad/SConscript148
-rw-r--r--3rdParty/CppUnit/SConscript104
-rw-r--r--3rdParty/Expat/SConscript46
-rw-r--r--3rdParty/Ldns/SConscript111
-rw-r--r--3rdParty/LibIDN/SConscript108
-rw-r--r--3rdParty/LibMiniUPnPc/SConscript106
-rw-r--r--3rdParty/LibNATPMP/SConscript82
-rw-r--r--3rdParty/Lua/SConscript128
-rw-r--r--3rdParty/OpenSSL/SConscript1304
-rw-r--r--3rdParty/SQLite/SConscript20
-rw-r--r--3rdParty/Snarl/SConscript20
-rw-r--r--3rdParty/Unbound/SConscript190
-rw-r--r--3rdParty/ZLib/SConscript40
-rwxr-xr-xBuildTools/CheckHeaders.py46
-rwxr-xr-xBuildTools/CheckTests.py48
-rwxr-xr-xBuildTools/CheckTranslations.py70
-rwxr-xr-xBuildTools/Copyright/find-contribs.py80
-rwxr-xr-xBuildTools/Copyrighter.py276
-rwxr-xr-xBuildTools/Coverage/FilterLCovData.py24
-rwxr-xr-xBuildTools/Coverage/GenerateSummary.py32
-rwxr-xr-xBuildTools/Cppcheck.sh36
-rw-r--r--BuildTools/DocBook/SCons/DocBook.py162
-rw-r--r--BuildTools/DocBook/SCons/FO.py64
-rw-r--r--BuildTools/DocBook/SCons/XSLT.py106
-rwxr-xr-xBuildTools/FilterScanBuildResults.py38
-rwxr-xr-xBuildTools/FixIncludes.py196
-rwxr-xr-xBuildTools/GetBuildVersion.py16
-rwxr-xr-xBuildTools/Gource/GetGravatars.py56
-rwxr-xr-xBuildTools/InstallSwiftDependencies.sh44
-rw-r--r--BuildTools/SCons/Tools/AppBundle.py100
-rw-r--r--BuildTools/SCons/Tools/BuildVersion.py10
-rw-r--r--BuildTools/SCons/Tools/DoxyGen.py38
-rw-r--r--BuildTools/SCons/Tools/Flags.py16
-rw-r--r--BuildTools/SCons/Tools/Nib.py14
-rw-r--r--BuildTools/SCons/Tools/ReplacePragmaOnce.py36
-rw-r--r--BuildTools/SCons/Tools/SLOCCount.py22
-rw-r--r--BuildTools/SCons/Tools/Test.py96
-rw-r--r--BuildTools/SCons/Tools/WindowsBundle.py222
-rw-r--r--BuildTools/SCons/Tools/WriteVal.py16
-rw-r--r--BuildTools/SCons/Tools/nsis.py48
-rw-r--r--BuildTools/SCons/Tools/qt4.py1012
-rw-r--r--BuildTools/SCons/Tools/textfile.py218
-rw-r--r--BuildTools/SCons/Tools/wix.py86
-rw-r--r--BuildTools/SCons/Version.py110
-rwxr-xr-xBuildTools/UpdateDebianChangelog.py32
-rwxr-xr-xBuildTools/scons2ninja.py916
-rw-r--r--Documentation/API/SConscript6
-rw-r--r--Documentation/SConscript2
-rw-r--r--Documentation/SwiftAPI/SConscript6
-rw-r--r--Documentation/SwiftUserGuide/SConscript2
-rw-r--r--Documentation/SwiftenDevelopersGuide/Examples/EchoBot/SConscript8
-rw-r--r--Documentation/SwiftenDevelopersGuide/SConscript138
-rw-r--r--Limber/SConscript46
-rw-r--r--QA/Checker/SConscript26
-rw-r--r--QA/SConscript6
-rw-r--r--QA/UnitTest/SConscript48
-rw-r--r--SConstruct4
-rw-r--r--Slimber/CLI/SConscript6
-rw-r--r--Slimber/Cocoa/SConscript30
-rw-r--r--Slimber/Qt/SConscript50
-rw-r--r--Slimber/SConscript74
-rw-r--r--Sluift/ElementConvertors/SConscript96
-rw-r--r--Sluift/SConscript148
-rw-r--r--Sluift/SConscript.variant56
-rw-r--r--SwifTools/Application/SConscript30
-rw-r--r--SwifTools/Cocoa/SConscript2
-rw-r--r--SwifTools/Dock/SConscript10
-rw-r--r--SwifTools/Idle/IdleQuerierTest/SConscript18
-rw-r--r--SwifTools/Idle/UnitTest/SConscript4
-rw-r--r--SwifTools/Notifier/SConscript30
-rw-r--r--SwifTools/SConscript128
-rw-r--r--SwifTools/URIHandler/SConscript20
-rw-r--r--SwifTools/UnitTest/SConscript14
-rw-r--r--Swift/Controllers/SConscript190
-rw-r--r--Swift/QtUI/SConscript656
-rw-r--r--Swiften/AdHoc/SConscript4
-rw-r--r--Swiften/Avatars/SConscript18
-rw-r--r--Swiften/Base/SConscript36
-rw-r--r--Swiften/Component/SConscript16
-rw-r--r--Swiften/Config/SConscript52
-rw-r--r--Swiften/Crypto/SConscript24
-rw-r--r--Swiften/Disco/SConscript24
-rw-r--r--Swiften/Entity/SConscript4
-rw-r--r--Swiften/EventLoop/SConscript30
-rw-r--r--Swiften/Examples/LinkLocalTool/SConscript4
-rw-r--r--Swiften/Examples/NetworkTool/SConscript12
-rw-r--r--Swiften/Examples/SConscript16
-rw-r--r--Swiften/FileTransfer/SConscript90
-rw-r--r--Swiften/History/SConscript10
-rw-r--r--Swiften/IDN/SConscript30
-rw-r--r--Swiften/JID/SConscript4
-rw-r--r--Swiften/Jingle/SConscript18
-rw-r--r--Swiften/LinkLocal/SConscript60
-rw-r--r--Swiften/Network/SConscript178
-rw-r--r--Swiften/Parser/SConscript210
-rw-r--r--Swiften/Presence/SConscript14
-rw-r--r--Swiften/QA/ClientTest/SConscript20
-rw-r--r--Swiften/QA/ConcurrentFileTransferTest/SConscript20
-rw-r--r--Swiften/QA/DNSSDTest/SConscript30
-rw-r--r--Swiften/QA/FileTransferTest/SConscript24
-rw-r--r--Swiften/QA/NetworkTest/SConscript30
-rw-r--r--Swiften/QA/ProxyProviderTest/SConscript4
-rw-r--r--Swiften/QA/ReconnectTest/SConscript36
-rw-r--r--Swiften/QA/SConscript20
-rw-r--r--Swiften/QA/ScriptedTests/SConscript8
-rw-r--r--Swiften/QA/StorageTest/SConscript32
-rw-r--r--Swiften/QA/TLSTest/SConscript40
-rw-r--r--Swiften/SASL/SConscript44
-rw-r--r--Swiften/SConscript1124
-rw-r--r--Swiften/StreamManagement/SConscript6
-rw-r--r--Swiften/StreamStack/SConscript16
-rw-r--r--Swiften/TLS/SConscript60
-rw-r--r--Swiften/VCards/SConscript6
114 files changed, 5605 insertions, 5606 deletions
diff --git a/3rdParty/Boost/SConscript b/3rdParty/Boost/SConscript
index 6d04c0d..8708eb9 100644
--- a/3rdParty/Boost/SConscript
+++ b/3rdParty/Boost/SConscript
@@ -4,16 +4,16 @@ Import("env")
# FIXME: Remove this when Boost UUID is present on most distros
if env.get("BOOST_BUNDLED_UUID_ONLY", False) :
- # Cherry pick UUID out of the 3rdParty dir, install it in a separate
- # dir, and use this as an include path.
- if env["SCONS_STAGE"] == "flags" :
- if env["PLATFORM"] == "win32" :
- uuid_cppflags = ["/I" + Dir("uuid").abspath]
- else :
- uuid_cppflags = [("-isystem", Dir("uuid").abspath)]
- env["BOOST_FLAGS"]["CPPFLAGS"] = env["BOOST_FLAGS"].get("CPPFLAGS", []) + uuid_cppflags
- elif env["SCONS_STAGE"] == "build" :
- env.Install("uuid/boost", "src/boost/uuid")
+ # Cherry pick UUID out of the 3rdParty dir, install it in a separate
+ # dir, and use this as an include path.
+ if env["SCONS_STAGE"] == "flags" :
+ if env["PLATFORM"] == "win32" :
+ uuid_cppflags = ["/I" + Dir("uuid").abspath]
+ else :
+ uuid_cppflags = [("-isystem", Dir("uuid").abspath)]
+ env["BOOST_FLAGS"]["CPPFLAGS"] = env["BOOST_FLAGS"].get("CPPFLAGS", []) + uuid_cppflags
+ elif env["SCONS_STAGE"] == "build" :
+ env.Install("uuid/boost", "src/boost/uuid")
elif env.get("BOOST_BUNDLED", False) :
@@ -21,153 +21,153 @@ elif env.get("BOOST_BUNDLED", False) :
# Common
################################################################################
- cppdefines = ["BOOST_ALL_NO_LIB", "BOOST_SYSTEM_NO_DEPRECATED"]
- #if env["PLATFORM"] == "darwin" :
- # cppdefines += ["BOOST_ASIO_DISABLE_KQUEUE"]
- if env["PLATFORM"] == "win32" :
- cppflags = ["/I" + Dir("#/3rdParty/Boost/src").abspath]
- else :
- cppflags = [("-isystem", Dir("#/3rdParty/Boost/src").abspath)]
+ cppdefines = ["BOOST_ALL_NO_LIB", "BOOST_SYSTEM_NO_DEPRECATED"]
+ #if env["PLATFORM"] == "darwin" :
+ # cppdefines += ["BOOST_ASIO_DISABLE_KQUEUE"]
+ if env["PLATFORM"] == "win32" :
+ cppflags = ["/I" + Dir("#/3rdParty/Boost/src").abspath]
+ else :
+ cppflags = [("-isystem", Dir("#/3rdParty/Boost/src").abspath)]
################################################################################
# Flags
################################################################################
- if env["SCONS_STAGE"] == "flags" :
- env["BOOST_FLAGS"] = {
- "CPPFLAGS": cppflags,
- "CPPDEFINES": cppdefines,
- "LIBPATH": [Dir(".")],
- "LIBS": ["Swiften_Boost"]
- }
- if env["PLATFORM"] == "win32" :
- # 0x0600 = _WIN32_WINNT_VISTA
- env["BOOST_FLAGS"]["CPPDEFINES"] += [("_WIN32_WINNT", "0x0600")]
- if env["PLATFORM"] == "cygwin" :
- env["BOOST_FLAGS"]["CPPDEFINES"] += ["__USE_W32_SOCKETS"]
- elif env["PLATFORM"] == "posix" :
- env["BOOST_FLAGS"]["LIBS"] += ["rt"]
+ if env["SCONS_STAGE"] == "flags" :
+ env["BOOST_FLAGS"] = {
+ "CPPFLAGS": cppflags,
+ "CPPDEFINES": cppdefines,
+ "LIBPATH": [Dir(".")],
+ "LIBS": ["Swiften_Boost"]
+ }
+ if env["PLATFORM"] == "win32" :
+ # 0x0600 = _WIN32_WINNT_VISTA
+ env["BOOST_FLAGS"]["CPPDEFINES"] += [("_WIN32_WINNT", "0x0600")]
+ if env["PLATFORM"] == "cygwin" :
+ env["BOOST_FLAGS"]["CPPDEFINES"] += ["__USE_W32_SOCKETS"]
+ elif env["PLATFORM"] == "posix" :
+ env["BOOST_FLAGS"]["LIBS"] += ["rt"]
################################################################################
# Build
################################################################################
- if env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
- myenv.Replace(CXXFLAGS = [flag for flag in env["CXXFLAGS"] if not flag.startswith("-W")])
- if os.path.basename(env["CXX"]) in ["clang", "clang++"] :
- myenv.Append(CXXFLAGS = [
- "-Wno-deprecated-register", # The register keyword will be reserved in C++17, we only use C++11 though.
- ])
+ if env["SCONS_STAGE"] == "build" :
+ myenv = env.Clone()
+ myenv.Replace(CXXFLAGS = [flag for flag in env["CXXFLAGS"] if not flag.startswith("-W")])
+ if os.path.basename(env["CXX"]) in ["clang", "clang++"] :
+ myenv.Append(CXXFLAGS = [
+ "-Wno-deprecated-register", # The register keyword will be reserved in C++17, we only use C++11 though.
+ ])
- sources = [
- "src/libs/atomic/src/lockpool.cpp",
- "src/libs/date_time/src/gregorian/date_generators.cpp",
- "src/libs/date_time/src/gregorian/greg_month.cpp",
- "src/libs/date_time/src/gregorian/greg_weekday.cpp",
- "src/libs/date_time/src/gregorian/gregorian_types.cpp",
- "src/libs/date_time/src/posix_time/posix_time_types.cpp",
- "src/libs/system/src/error_code.cpp",
- "src/libs/filesystem/src/codecvt_error_category.cpp",
- "src/libs/filesystem/src/operations.cpp",
- "src/libs/filesystem/src/path.cpp",
- "src/libs/filesystem/src/path_traits.cpp",
- "src/libs/filesystem/src/portability.cpp",
- "src/libs/filesystem/src/unique_path.cpp",
- "src/libs/filesystem/src/windows_file_codecvt.cpp",
- "src/libs/filesystem/src/filesystem_utf8_codecvt_facet.cpp",
- "src/libs/regex/src/c_regex_traits.cpp",
- "src/libs/regex/src/cpp_regex_traits.cpp",
- "src/libs/regex/src/cregex.cpp",
- "src/libs/regex/src/fileiter.cpp",
- "src/libs/regex/src/icu.cpp",
- "src/libs/regex/src/instances.cpp",
- "src/libs/regex/src/posix_api.cpp",
- "src/libs/regex/src/regex.cpp",
- "src/libs/regex/src/regex_debug.cpp",
- "src/libs/regex/src/regex_raw_buffer.cpp",
- "src/libs/regex/src/regex_traits_defaults.cpp",
- "src/libs/regex/src/static_mutex.cpp",
- "src/libs/regex/src/w32_regex_traits.cpp",
- "src/libs/regex/src/wc_regex_traits.cpp",
- "src/libs/regex/src/wide_posix_api.cpp",
- "src/libs/regex/src/winstances.cpp",
- "src/libs/regex/src/usinstances.cpp",
- "src/libs/program_options/src/cmdline.cpp",
- "src/libs/program_options/src/config_file.cpp",
- "src/libs/program_options/src/convert.cpp",
- "src/libs/program_options/src/options_description.cpp",
- "src/libs/program_options/src/positional_options.cpp",
- "src/libs/program_options/src/split.cpp",
- "src/libs/program_options/src/program_options_utf8_codecvt_facet.cpp",
- "src/libs/program_options/src/value_semantic.cpp",
- "src/libs/program_options/src/variables_map.cpp",
- "src/libs/program_options/src/winmain.cpp",
- "src/libs/serialization/src/archive_exception.cpp",
- "src/libs/serialization/src/basic_archive.cpp",
- "src/libs/serialization/src/basic_iarchive.cpp",
- "src/libs/serialization/src/basic_iserializer.cpp",
- "src/libs/serialization/src/basic_oarchive.cpp",
- "src/libs/serialization/src/basic_oserializer.cpp",
- "src/libs/serialization/src/basic_pointer_iserializer.cpp",
- "src/libs/serialization/src/basic_pointer_oserializer.cpp",
- "src/libs/serialization/src/basic_serializer_map.cpp",
- "src/libs/serialization/src/basic_text_iprimitive.cpp",
- "src/libs/serialization/src/basic_text_oprimitive.cpp",
- "src/libs/serialization/src/basic_text_wiprimitive.cpp",
- "src/libs/serialization/src/basic_text_woprimitive.cpp",
- "src/libs/serialization/src/basic_xml_archive.cpp",
- "src/libs/serialization/src/binary_iarchive.cpp",
- "src/libs/serialization/src/binary_oarchive.cpp",
- "src/libs/serialization/src/binary_wiarchive.cpp",
- "src/libs/serialization/src/binary_woarchive.cpp",
- "src/libs/serialization/src/codecvt_null.cpp",
- "src/libs/serialization/src/extended_type_info.cpp",
- "src/libs/serialization/src/extended_type_info_no_rtti.cpp",
- "src/libs/serialization/src/extended_type_info_typeid.cpp",
- "src/libs/serialization/src/polymorphic_iarchive.cpp",
- "src/libs/serialization/src/polymorphic_oarchive.cpp",
- "src/libs/serialization/src/stl_port.cpp",
- "src/libs/serialization/src/text_iarchive.cpp",
- "src/libs/serialization/src/text_oarchive.cpp",
- "src/libs/serialization/src/text_wiarchive.cpp",
- "src/libs/serialization/src/text_woarchive.cpp",
- "src/libs/serialization/src/utf8_codecvt_facet.cpp",
- "src/libs/serialization/src/void_cast.cpp",
- "src/libs/serialization/src/xml_archive_exception.cpp",
- "src/libs/serialization/src/xml_grammar.cpp",
- "src/libs/serialization/src/xml_iarchive.cpp",
- "src/libs/serialization/src/xml_oarchive.cpp",
- "src/libs/serialization/src/xml_wgrammar.cpp",
- "src/libs/serialization/src/xml_wiarchive.cpp",
- "src/libs/serialization/src/xml_woarchive.cpp"]
+ sources = [
+ "src/libs/atomic/src/lockpool.cpp",
+ "src/libs/date_time/src/gregorian/date_generators.cpp",
+ "src/libs/date_time/src/gregorian/greg_month.cpp",
+ "src/libs/date_time/src/gregorian/greg_weekday.cpp",
+ "src/libs/date_time/src/gregorian/gregorian_types.cpp",
+ "src/libs/date_time/src/posix_time/posix_time_types.cpp",
+ "src/libs/system/src/error_code.cpp",
+ "src/libs/filesystem/src/codecvt_error_category.cpp",
+ "src/libs/filesystem/src/operations.cpp",
+ "src/libs/filesystem/src/path.cpp",
+ "src/libs/filesystem/src/path_traits.cpp",
+ "src/libs/filesystem/src/portability.cpp",
+ "src/libs/filesystem/src/unique_path.cpp",
+ "src/libs/filesystem/src/windows_file_codecvt.cpp",
+ "src/libs/filesystem/src/filesystem_utf8_codecvt_facet.cpp",
+ "src/libs/regex/src/c_regex_traits.cpp",
+ "src/libs/regex/src/cpp_regex_traits.cpp",
+ "src/libs/regex/src/cregex.cpp",
+ "src/libs/regex/src/fileiter.cpp",
+ "src/libs/regex/src/icu.cpp",
+ "src/libs/regex/src/instances.cpp",
+ "src/libs/regex/src/posix_api.cpp",
+ "src/libs/regex/src/regex.cpp",
+ "src/libs/regex/src/regex_debug.cpp",
+ "src/libs/regex/src/regex_raw_buffer.cpp",
+ "src/libs/regex/src/regex_traits_defaults.cpp",
+ "src/libs/regex/src/static_mutex.cpp",
+ "src/libs/regex/src/w32_regex_traits.cpp",
+ "src/libs/regex/src/wc_regex_traits.cpp",
+ "src/libs/regex/src/wide_posix_api.cpp",
+ "src/libs/regex/src/winstances.cpp",
+ "src/libs/regex/src/usinstances.cpp",
+ "src/libs/program_options/src/cmdline.cpp",
+ "src/libs/program_options/src/config_file.cpp",
+ "src/libs/program_options/src/convert.cpp",
+ "src/libs/program_options/src/options_description.cpp",
+ "src/libs/program_options/src/positional_options.cpp",
+ "src/libs/program_options/src/split.cpp",
+ "src/libs/program_options/src/program_options_utf8_codecvt_facet.cpp",
+ "src/libs/program_options/src/value_semantic.cpp",
+ "src/libs/program_options/src/variables_map.cpp",
+ "src/libs/program_options/src/winmain.cpp",
+ "src/libs/serialization/src/archive_exception.cpp",
+ "src/libs/serialization/src/basic_archive.cpp",
+ "src/libs/serialization/src/basic_iarchive.cpp",
+ "src/libs/serialization/src/basic_iserializer.cpp",
+ "src/libs/serialization/src/basic_oarchive.cpp",
+ "src/libs/serialization/src/basic_oserializer.cpp",
+ "src/libs/serialization/src/basic_pointer_iserializer.cpp",
+ "src/libs/serialization/src/basic_pointer_oserializer.cpp",
+ "src/libs/serialization/src/basic_serializer_map.cpp",
+ "src/libs/serialization/src/basic_text_iprimitive.cpp",
+ "src/libs/serialization/src/basic_text_oprimitive.cpp",
+ "src/libs/serialization/src/basic_text_wiprimitive.cpp",
+ "src/libs/serialization/src/basic_text_woprimitive.cpp",
+ "src/libs/serialization/src/basic_xml_archive.cpp",
+ "src/libs/serialization/src/binary_iarchive.cpp",
+ "src/libs/serialization/src/binary_oarchive.cpp",
+ "src/libs/serialization/src/binary_wiarchive.cpp",
+ "src/libs/serialization/src/binary_woarchive.cpp",
+ "src/libs/serialization/src/codecvt_null.cpp",
+ "src/libs/serialization/src/extended_type_info.cpp",
+ "src/libs/serialization/src/extended_type_info_no_rtti.cpp",
+ "src/libs/serialization/src/extended_type_info_typeid.cpp",
+ "src/libs/serialization/src/polymorphic_iarchive.cpp",
+ "src/libs/serialization/src/polymorphic_oarchive.cpp",
+ "src/libs/serialization/src/stl_port.cpp",
+ "src/libs/serialization/src/text_iarchive.cpp",
+ "src/libs/serialization/src/text_oarchive.cpp",
+ "src/libs/serialization/src/text_wiarchive.cpp",
+ "src/libs/serialization/src/text_woarchive.cpp",
+ "src/libs/serialization/src/utf8_codecvt_facet.cpp",
+ "src/libs/serialization/src/void_cast.cpp",
+ "src/libs/serialization/src/xml_archive_exception.cpp",
+ "src/libs/serialization/src/xml_grammar.cpp",
+ "src/libs/serialization/src/xml_iarchive.cpp",
+ "src/libs/serialization/src/xml_oarchive.cpp",
+ "src/libs/serialization/src/xml_wgrammar.cpp",
+ "src/libs/serialization/src/xml_wiarchive.cpp",
+ "src/libs/serialization/src/xml_woarchive.cpp"]
- if env["PLATFORM"] != "darwin" or env["target"] == "native" :
- sources += [
- "src/libs/program_options/src/parsers.cpp",
- ]
+ if env["PLATFORM"] != "darwin" or env["target"] == "native" :
+ sources += [
+ "src/libs/program_options/src/parsers.cpp",
+ ]
- myenv.MergeFlags(myenv["BOOST_FLAGS"])
- myenv.StaticLibrary("Swiften_Boost", sources)
+ myenv.MergeFlags(myenv["BOOST_FLAGS"])
+ myenv.StaticLibrary("Swiften_Boost", sources)
- if ARGUMENTS.get("BOOST_BUILD_BCP") or env.get("BOOST_BUILD_BCP", False) or env.GetOption("clean") :
- bcp_env = myenv.Clone()
- bcp_env.MergeFlags(bcp_env["BOOST_FLAGS"])
- bcp_env.Append(CPPPATH = ["src/tools/bcp"])
- bcp_env.Replace(CPPDEFINES = [flag for flag in bcp_env["CPPDEFINES"] if flag[0] != "BOOST_FILESYSTEM_VERSION"])
- bcp_env.UseFlags(bcp_env["PLATFORM_FLAGS"])
- bcp_env.Program("bcp", [
- "src/tools/bcp/add_path.cpp",
- "src/tools/bcp/add_dependent_lib.cpp",
- "src/tools/bcp/bcp_imp.cpp",
- "src/tools/bcp/copy_path.cpp",
- "src/tools/bcp/file_types.cpp",
- "src/tools/bcp/fileview.cpp",
- "src/tools/bcp/licence_info.cpp",
- "src/tools/bcp/output_licence_info.cpp",
- "src/tools/bcp/path_operations.cpp",
- "src/tools/bcp/scan_cvs_path.cpp",
- "src/tools/bcp/scan_licence.cpp",
- "bcp.cpp",
- ])
+ if ARGUMENTS.get("BOOST_BUILD_BCP") or env.get("BOOST_BUILD_BCP", False) or env.GetOption("clean") :
+ bcp_env = myenv.Clone()
+ bcp_env.MergeFlags(bcp_env["BOOST_FLAGS"])
+ bcp_env.Append(CPPPATH = ["src/tools/bcp"])
+ bcp_env.Replace(CPPDEFINES = [flag for flag in bcp_env["CPPDEFINES"] if flag[0] != "BOOST_FILESYSTEM_VERSION"])
+ bcp_env.UseFlags(bcp_env["PLATFORM_FLAGS"])
+ bcp_env.Program("bcp", [
+ "src/tools/bcp/add_path.cpp",
+ "src/tools/bcp/add_dependent_lib.cpp",
+ "src/tools/bcp/bcp_imp.cpp",
+ "src/tools/bcp/copy_path.cpp",
+ "src/tools/bcp/file_types.cpp",
+ "src/tools/bcp/fileview.cpp",
+ "src/tools/bcp/licence_info.cpp",
+ "src/tools/bcp/output_licence_info.cpp",
+ "src/tools/bcp/path_operations.cpp",
+ "src/tools/bcp/scan_cvs_path.cpp",
+ "src/tools/bcp/scan_licence.cpp",
+ "bcp.cpp",
+ ])
diff --git a/3rdParty/Breakpad/SConscript b/3rdParty/Breakpad/SConscript
index 142634b..3b9447d 100644
--- a/3rdParty/Breakpad/SConscript
+++ b/3rdParty/Breakpad/SConscript
@@ -7,91 +7,91 @@ if env["PLATFORM"] == "win32" :
# Module flags
################################################################################
- if env["SCONS_STAGE"] == "flags" :
- env["HAVE_BREAKPAD"] = True
- env["BREAKPAD_FLAGS"] = {
- "CPPPATH": [env.Dir("src")],
- "CPPFLAGS": [],
- "LIBPATH": [env.Dir(".")],
- "LIBS": ["Swift_BreakPad"]
- }
+ if env["SCONS_STAGE"] == "flags" :
+ env["HAVE_BREAKPAD"] = True
+ env["BREAKPAD_FLAGS"] = {
+ "CPPPATH": [env.Dir("src")],
+ "CPPFLAGS": [],
+ "LIBPATH": [env.Dir(".")],
+ "LIBS": ["Swift_BreakPad"]
+ }
################################################################################
# Build
################################################################################
- if env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
- myenv.Replace(CXXFLAGS = [flag for flag in env["CXXFLAGS"] if not flag.startswith("-W")])
- myenv.Append(CPPPATH = ["src"])
+ if env["SCONS_STAGE"] == "build" :
+ myenv = env.Clone()
+ myenv.Replace(CXXFLAGS = [flag for flag in env["CXXFLAGS"] if not flag.startswith("-W")])
+ myenv.Append(CPPPATH = ["src"])
- lib_sources = []
- dumpsyms_sources = []
- common_sources = []
- if myenv["PLATFORM"] == "win32" :
- myenv.Append(CPPDEFINES = ["UNICODE"])
- lib_sources += [
- "src/client/windows/handler/exception_handler.cc",
- "src/client/windows/crash_generation/crash_generation_client.cc",
- "src/common/windows/guid_string.cc",
- ]
+ lib_sources = []
+ dumpsyms_sources = []
+ common_sources = []
+ if myenv["PLATFORM"] == "win32" :
+ myenv.Append(CPPDEFINES = ["UNICODE"])
+ lib_sources += [
+ "src/client/windows/handler/exception_handler.cc",
+ "src/client/windows/crash_generation/crash_generation_client.cc",
+ "src/common/windows/guid_string.cc",
+ ]
- if myenv["PLATFORM"] == "darwin" or myenv["PLATFORM"] == "linux" :
- lib_sources += [
- ]
- common_sources += [
- "src/common/md5.cc",
- ]
-
- if myenv["PLATFORM"] == "darwin" :
- myenv.Append(CPPDEFINES = ["HAVE_MACH_O_NLIST_H"])
- lib_sources += [
- "src/client/mac/handler/exception_handler.cc",
- "src/client/mac/handler/minidump_generator.cc",
- "src/client/mac/handler/dynamic_images.cc",
- "src/client/mac/handler/breakpad_nlist_64.cc",
- "src/client/mac/crash_generation/crash_generation_client.cc",
- "src/common/mac/MachIPC.mm",
- "src/common/mac/string_utilities.cc",
- "src/common/mac/bootstrap_compat.cc",
- "src/client/minidump_file_writer.cc",
- "src/common/string_conversion.cc",
- "src/common/convert_UTF.c",
- ]
- common_sources += [
- "src/common/mac/macho_id.cc",
- "src/common/mac/macho_walker.cc",
- "src/common/mac/file_id.cc",
- "src/common/mac/macho_utilities.cc",
- ]
- dumpsyms_sources += [
- "src/tools/mac/dump_syms/dump_syms_tool.mm",
- "src/common/mac/dump_syms.mm",
- "src/common/mac/macho_reader.cc",
- "src/common/dwarf/bytereader.cc",
- "src/common/dwarf/dwarf2reader.cc",
- "src/common/dwarf/dwarf2diehandler.cc",
- "src/common/dwarf_line_to_module.cc",
- "src/common/dwarf_cfi_to_module.cc",
- "src/common/dwarf_cu_to_module.cc",
- "src/common/stabs_to_module.cc",
- "src/common/stabs_reader.cc",
- "src/common/module.cc",
- "src/common/language.cc",
- ]
+ if myenv["PLATFORM"] == "darwin" or myenv["PLATFORM"] == "linux" :
+ lib_sources += [
+ ]
+ common_sources += [
+ "src/common/md5.cc",
+ ]
+
+ if myenv["PLATFORM"] == "darwin" :
+ myenv.Append(CPPDEFINES = ["HAVE_MACH_O_NLIST_H"])
+ lib_sources += [
+ "src/client/mac/handler/exception_handler.cc",
+ "src/client/mac/handler/minidump_generator.cc",
+ "src/client/mac/handler/dynamic_images.cc",
+ "src/client/mac/handler/breakpad_nlist_64.cc",
+ "src/client/mac/crash_generation/crash_generation_client.cc",
+ "src/common/mac/MachIPC.mm",
+ "src/common/mac/string_utilities.cc",
+ "src/common/mac/bootstrap_compat.cc",
+ "src/client/minidump_file_writer.cc",
+ "src/common/string_conversion.cc",
+ "src/common/convert_UTF.c",
+ ]
+ common_sources += [
+ "src/common/mac/macho_id.cc",
+ "src/common/mac/macho_walker.cc",
+ "src/common/mac/file_id.cc",
+ "src/common/mac/macho_utilities.cc",
+ ]
+ dumpsyms_sources += [
+ "src/tools/mac/dump_syms/dump_syms_tool.mm",
+ "src/common/mac/dump_syms.mm",
+ "src/common/mac/macho_reader.cc",
+ "src/common/dwarf/bytereader.cc",
+ "src/common/dwarf/dwarf2reader.cc",
+ "src/common/dwarf/dwarf2diehandler.cc",
+ "src/common/dwarf_line_to_module.cc",
+ "src/common/dwarf_cfi_to_module.cc",
+ "src/common/dwarf_cu_to_module.cc",
+ "src/common/stabs_to_module.cc",
+ "src/common/stabs_reader.cc",
+ "src/common/module.cc",
+ "src/common/language.cc",
+ ]
- if myenv["PLATFORM"] == "linux" :
- dumpsyms_sources += ["src/tools/linux/dump_syms/dump_syms.cc"]
+ if myenv["PLATFORM"] == "linux" :
+ dumpsyms_sources += ["src/tools/linux/dump_syms/dump_syms.cc"]
- common_objects = myenv.StaticObject(common_sources)
+ common_objects = myenv.StaticObject(common_sources)
- myenv.StaticLibrary("Swift_BreakPad", lib_sources + common_objects)
+ myenv.StaticLibrary("Swift_BreakPad", lib_sources + common_objects)
- #if myenv["PLATFORM"] == "darwin" or myenv["PLATFORM"] == "linux" :
- # myenv.Program("dump_syms", dumpsyms_sources + common_objects)
+ #if myenv["PLATFORM"] == "darwin" or myenv["PLATFORM"] == "linux" :
+ # myenv.Program("dump_syms", dumpsyms_sources + common_objects)
else :
- if env["SCONS_STAGE"] == "flags" :
- env["HAVE_BREAKPAD"] = False
- env["BREAKPAD_FLAGS"] = {}
+ if env["SCONS_STAGE"] == "flags" :
+ env["HAVE_BREAKPAD"] = False
+ env["BREAKPAD_FLAGS"] = {}
diff --git a/3rdParty/CppUnit/SConscript b/3rdParty/CppUnit/SConscript
index addc8ab..0b97289 100644
--- a/3rdParty/CppUnit/SConscript
+++ b/3rdParty/CppUnit/SConscript
@@ -2,65 +2,65 @@ Import("env")
if env["TEST"] :
- if env["PLATFORM"] == "win32" :
- cppflags = ["/I" + Dir("src/include").abspath]
- elif env["PLATFORM"] == "sunos" :
- cppflags = [("-I" + Dir("src/include").abspath)]
- else :
- cppflags = [("-isystem", Dir("src/include").abspath)]
+ if env["PLATFORM"] == "win32" :
+ cppflags = ["/I" + Dir("src/include").abspath]
+ elif env["PLATFORM"] == "sunos" :
+ cppflags = [("-I" + Dir("src/include").abspath)]
+ else :
+ cppflags = [("-isystem", Dir("src/include").abspath)]
################################################################################
# Module flags
################################################################################
- if env["SCONS_STAGE"] == "flags" :
- env["CPPUNIT_FLAGS"] = {
- "CPPPATH": [env.Dir(".")],
- "CPPFLAGS": cppflags,
- "LIBPATH": [env.Dir(".")],
- "LIBS": ["Swiften_CppUnit"]
- }
+ if env["SCONS_STAGE"] == "flags" :
+ env["CPPUNIT_FLAGS"] = {
+ "CPPPATH": [env.Dir(".")],
+ "CPPFLAGS": cppflags,
+ "LIBPATH": [env.Dir(".")],
+ "LIBS": ["Swiften_CppUnit"]
+ }
################################################################################
# Build
################################################################################
- if env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
- myenv.Replace(CXXFLAGS = [flag for flag in env["CXXFLAGS"] if not flag.startswith("-W")])
- myenv.Append(CPPPATH = ["src/include", "."])
- sources = [
- "src/src/cppunit/TextTestRunner.cpp",
- "src/src/cppunit/TextTestProgressListener.cpp",
- "src/src/cppunit/BriefTestProgressListener.cpp",
- "src/src/cppunit/TextOutputter.cpp",
- "src/src/cppunit/XmlOutputter.cpp",
- "src/src/cppunit/XmlElement.cpp",
- "src/src/cppunit/XmlDocument.cpp",
- "src/src/cppunit/StringTools.cpp",
- "src/src/cppunit/DefaultProtector.cpp",
- "src/src/cppunit/Protector.cpp",
- "src/src/cppunit/ProtectorChain.cpp",
- "src/src/cppunit/SynchronizedObject.cpp",
- "src/src/cppunit/SourceLine.cpp",
- "src/src/cppunit/TestRunner.cpp",
- "src/src/cppunit/TestFactoryRegistry.cpp",
- "src/src/cppunit/TestSuite.cpp",
- "src/src/cppunit/TestSuiteBuilderContext.cpp",
- "src/src/cppunit/TestResult.cpp",
- "src/src/cppunit/TestResultCollector.cpp",
- "src/src/cppunit/TestSuccessListener.cpp",
- "src/src/cppunit/TestComposite.cpp",
- "src/src/cppunit/TestCase.cpp",
- "src/src/cppunit/TestFailure.cpp",
- "src/src/cppunit/TestLeaf.cpp",
- "src/src/cppunit/TestNamer.cpp",
- "src/src/cppunit/Asserter.cpp",
- "src/src/cppunit/TypeInfoHelper.cpp",
- "src/src/cppunit/Exception.cpp",
- "src/src/cppunit/Message.cpp",
- "src/src/cppunit/AdditionalMessage.cpp",
- "src/src/cppunit/Test.cpp",
- "src/src/cppunit/TestPath.cpp"
- ]
- myenv.StaticLibrary("Swiften_CppUnit", sources)
+ if env["SCONS_STAGE"] == "build" :
+ myenv = env.Clone()
+ myenv.Replace(CXXFLAGS = [flag for flag in env["CXXFLAGS"] if not flag.startswith("-W")])
+ myenv.Append(CPPPATH = ["src/include", "."])
+ sources = [
+ "src/src/cppunit/TextTestRunner.cpp",
+ "src/src/cppunit/TextTestProgressListener.cpp",
+ "src/src/cppunit/BriefTestProgressListener.cpp",
+ "src/src/cppunit/TextOutputter.cpp",
+ "src/src/cppunit/XmlOutputter.cpp",
+ "src/src/cppunit/XmlElement.cpp",
+ "src/src/cppunit/XmlDocument.cpp",
+ "src/src/cppunit/StringTools.cpp",
+ "src/src/cppunit/DefaultProtector.cpp",
+ "src/src/cppunit/Protector.cpp",
+ "src/src/cppunit/ProtectorChain.cpp",
+ "src/src/cppunit/SynchronizedObject.cpp",
+ "src/src/cppunit/SourceLine.cpp",
+ "src/src/cppunit/TestRunner.cpp",
+ "src/src/cppunit/TestFactoryRegistry.cpp",
+ "src/src/cppunit/TestSuite.cpp",
+ "src/src/cppunit/TestSuiteBuilderContext.cpp",
+ "src/src/cppunit/TestResult.cpp",
+ "src/src/cppunit/TestResultCollector.cpp",
+ "src/src/cppunit/TestSuccessListener.cpp",
+ "src/src/cppunit/TestComposite.cpp",
+ "src/src/cppunit/TestCase.cpp",
+ "src/src/cppunit/TestFailure.cpp",
+ "src/src/cppunit/TestLeaf.cpp",
+ "src/src/cppunit/TestNamer.cpp",
+ "src/src/cppunit/Asserter.cpp",
+ "src/src/cppunit/TypeInfoHelper.cpp",
+ "src/src/cppunit/Exception.cpp",
+ "src/src/cppunit/Message.cpp",
+ "src/src/cppunit/AdditionalMessage.cpp",
+ "src/src/cppunit/Test.cpp",
+ "src/src/cppunit/TestPath.cpp"
+ ]
+ myenv.StaticLibrary("Swiften_CppUnit", sources)
diff --git a/3rdParty/Expat/SConscript b/3rdParty/Expat/SConscript
index c961483..56949aa 100644
--- a/3rdParty/Expat/SConscript
+++ b/3rdParty/Expat/SConscript
@@ -1,29 +1,29 @@
Import(["env", "conf_env"])
if env.get("EXPAT_BUNDLED", False) :
- if env["SCONS_STAGE"] == "flags" :
- env["EXPAT_FLAGS"] = {
- "CPPDEFINES": ["XML_STATIC"],
- "CPPPATH": [Dir("src")],
- "LIBPATH": [Dir(".")],
- }
+ if env["SCONS_STAGE"] == "flags" :
+ env["EXPAT_FLAGS"] = {
+ "CPPDEFINES": ["XML_STATIC"],
+ "CPPPATH": [Dir("src")],
+ "LIBPATH": [Dir(".")],
+ }
- if env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
- myenv.Append(CPPDEFINES = ["XML_STATIC", "HAVE_EXPAT_CONFIG_H"])
- if env.get("BOOST_BUNDLED", False) :
- myenv.Append(CPPPATH = [".", "src", "../Boost/src"])
- else :
- myenv.Append(CPPPATH = [".", "src"])
- myenv.MergeFlags(env["BOOST_FLAGS"])
+ if env["SCONS_STAGE"] == "build" :
+ myenv = env.Clone()
+ myenv.Append(CPPDEFINES = ["XML_STATIC", "HAVE_EXPAT_CONFIG_H"])
+ if env.get("BOOST_BUNDLED", False) :
+ myenv.Append(CPPPATH = [".", "src", "../Boost/src"])
+ else :
+ myenv.Append(CPPPATH = [".", "src"])
+ myenv.MergeFlags(env["BOOST_FLAGS"])
- conf = Configure(conf_env)
- if conf.CheckFunc('memmove') :
- myenv.Append(CPPDEFINES = ["HAVE_MEMMOVE"])
- conf.Finish()
+ conf = Configure(conf_env)
+ if conf.CheckFunc('memmove') :
+ myenv.Append(CPPDEFINES = ["HAVE_MEMMOVE"])
+ conf.Finish()
- env["EXPAT_OBJECTS"] = myenv.SwiftenObject([
- "src/xmltok.c",
- "src/xmlparse.c",
- "src/xmlrole.c"
- ])
+ env["EXPAT_OBJECTS"] = myenv.SwiftenObject([
+ "src/xmltok.c",
+ "src/xmlparse.c",
+ "src/xmlrole.c"
+ ])
diff --git a/3rdParty/Ldns/SConscript b/3rdParty/Ldns/SConscript
index a43bde7..eae2e5c 100644
--- a/3rdParty/Ldns/SConscript
+++ b/3rdParty/Ldns/SConscript
@@ -2,69 +2,68 @@ Import("env")
if env.get("LDNS_BUNDLED", False) :
- if env["PLATFORM"] == "win32" :
- cppflags = ["/I" + Dir("#/3rdParty/Ldns/src/ldns").abspath]
- else :
- cppflags = [("-isystem", Dir("#/3rdParty/Ldns/src/ldns").abspath)]
+ if env["PLATFORM"] == "win32" :
+ cppflags = ["/I" + Dir("#/3rdParty/Ldns/src/ldns").abspath]
+ else :
+ cppflags = [("-isystem", Dir("#/3rdParty/Ldns/src/ldns").abspath)]
################################################################################
# Flags
################################################################################
-
- if env["SCONS_STAGE"] == "flags" :
- env["LDNS_FLAGS"] = {
- "CPPPATH": [Dir("src/ldns")],
- "CPPFLAGS": cppflags,
- "LIBPATH": [env.Dir(".")],
- "LIBS": ["Swiften_Ldns"],
- }
- if env["target"] == "android" :
- env["LDNS_FLAGS"]["CPPPATH"].append(Dir("src/android"))
+ if env["SCONS_STAGE"] == "flags" :
+ env["LDNS_FLAGS"] = {
+ "CPPPATH": [Dir("src/ldns")],
+ "CPPFLAGS": cppflags,
+ "LIBPATH": [env.Dir(".")],
+ "LIBS": ["Swiften_Ldns"],
+ }
+ if env["target"] == "android" :
+ env["LDNS_FLAGS"]["CPPPATH"].append(Dir("src/android"))
################################################################################
# Build
################################################################################
- if env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
- myenv.Append(CPPDEFINES = [("LDNS_STATICLIB")])
- myenv.Append(CPPPATH = ["src/ldns", "."])
- if env["target"] == "android" :
- myenv.Append(CPPPATH = ["src/android"])
- myenv.UseFlags(env["OPENSSL_FLAGS"])
-
- env["LDNS_OBJECTS"] = myenv.SwiftenObject([
- "src/ldns/compat/b32_ntop.c",
- "src/ldns/compat/b32_pton.c",
- "src/ldns/compat/b64_ntop.c",
- "src/ldns/compat/b64_pton.c",
- "src/ldns/buffer.c",
- "src/ldns/dname.c",
- "src/ldns/dnssec_sign.c",
- "src/ldns/dnssec_verify.c",
- "src/ldns/dnssec_zone.c",
- "src/ldns/dnssec.c",
- "src/ldns/error.c",
- "src/ldns/higher.c",
- "src/ldns/host2str.c",
- "src/ldns/host2wire.c",
- "src/ldns/keys.c",
- "src/ldns/linktest.c",
- "src/ldns/net.c",
- "src/ldns/packet.c",
- "src/ldns/parse.c",
- "src/ldns/rbtree.c",
- "src/ldns/rdata.c",
- "src/ldns/resolver.c",
- "src/ldns/rr_functions.c",
- "src/ldns/rr.c",
- "src/ldns/sha1.c",
- "src/ldns/sha2.c",
- "src/ldns/str2host.c",
- "src/ldns/tsig.c",
- "src/ldns/update.c",
- "src/ldns/util.c",
- "src/ldns/wire2host.c",
- "src/ldns/zone.c",
- ])
+ if env["SCONS_STAGE"] == "build" :
+ myenv = env.Clone()
+ myenv.Append(CPPDEFINES = [("LDNS_STATICLIB")])
+ myenv.Append(CPPPATH = ["src/ldns", "."])
+ if env["target"] == "android" :
+ myenv.Append(CPPPATH = ["src/android"])
+ myenv.UseFlags(env["OPENSSL_FLAGS"])
+
+ env["LDNS_OBJECTS"] = myenv.SwiftenObject([
+ "src/ldns/compat/b32_ntop.c",
+ "src/ldns/compat/b32_pton.c",
+ "src/ldns/compat/b64_ntop.c",
+ "src/ldns/compat/b64_pton.c",
+ "src/ldns/buffer.c",
+ "src/ldns/dname.c",
+ "src/ldns/dnssec_sign.c",
+ "src/ldns/dnssec_verify.c",
+ "src/ldns/dnssec_zone.c",
+ "src/ldns/dnssec.c",
+ "src/ldns/error.c",
+ "src/ldns/higher.c",
+ "src/ldns/host2str.c",
+ "src/ldns/host2wire.c",
+ "src/ldns/keys.c",
+ "src/ldns/linktest.c",
+ "src/ldns/net.c",
+ "src/ldns/packet.c",
+ "src/ldns/parse.c",
+ "src/ldns/rbtree.c",
+ "src/ldns/rdata.c",
+ "src/ldns/resolver.c",
+ "src/ldns/rr_functions.c",
+ "src/ldns/rr.c",
+ "src/ldns/sha1.c",
+ "src/ldns/sha2.c",
+ "src/ldns/str2host.c",
+ "src/ldns/tsig.c",
+ "src/ldns/update.c",
+ "src/ldns/util.c",
+ "src/ldns/wire2host.c",
+ "src/ldns/zone.c",
+ ])
diff --git a/3rdParty/LibIDN/SConscript b/3rdParty/LibIDN/SConscript
index e3ed839..90892b0 100644
--- a/3rdParty/LibIDN/SConscript
+++ b/3rdParty/LibIDN/SConscript
@@ -8,67 +8,67 @@ if env.get("LIBIDN_BUNDLED", False) :
# Module flags
################################################################################
- if env["SCONS_STAGE"] == "flags" :
- env["LIBIDN_FLAGS"] = {
- "CPPDEFINES": ["LIBIDN_STATIC"],
- }
- if os.path.basename(env["CC"]) in ("clang", "gcc") :
- env["LIBIDN_FLAGS"].update({"CPPFLAGS": ["-isystem" "3rdParty/LibIDN/src"]})
- else :
- env["LIBIDN_FLAGS"].update({"CPPPATH": [Dir("src")]})
+ if env["SCONS_STAGE"] == "flags" :
+ env["LIBIDN_FLAGS"] = {
+ "CPPDEFINES": ["LIBIDN_STATIC"],
+ }
+ if os.path.basename(env["CC"]) in ("clang", "gcc") :
+ env["LIBIDN_FLAGS"].update({"CPPFLAGS": ["-isystem" "3rdParty/LibIDN/src"]})
+ else :
+ env["LIBIDN_FLAGS"].update({"CPPPATH": [Dir("src")]})
- if env["PLATFORM"] == "win32" :
- env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32")]
- if float(env["MSVC_VERSION"]) < 14:
- env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/stdbool")]
- if env["MSVC_VERSION"][:3] == "9.0" :
- env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/VC2008")]
+ if env["PLATFORM"] == "win32" :
+ env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32")]
+ if float(env["MSVC_VERSION"]) < 14:
+ env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/stdbool")]
+ if env["MSVC_VERSION"][:3] == "9.0" :
+ env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/VC2008")]
################################################################################
# Build
################################################################################
- if env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
+ if env["SCONS_STAGE"] == "build" :
+ myenv = env.Clone()
- # Remove warn flags
- myenv.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
+ # Remove warn flags
+ myenv.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
- # Check for strcasecmp() or replacement
- conf = Configure(conf_env)
- if not conf.CheckFunc('strcasecmp') :
- if conf.CheckFunc("stricmp") :
- myenv.Append(CPPDEFINES = [("strcasecmp", "stricmp")])
- else :
- print "Error: Cannot find strcasecmp() or stricmp()"
- Exit(1)
- if not conf.CheckFunc('strncasecmp') :
- if conf.CheckFunc("strnicmp") :
- myenv.Append(CPPDEFINES = [("strncasecmp", "strnicmp")])
- else :
- print "Error: Cannot find strncasecmp() or strnicmp()"
- Exit(1)
- conf.Finish()
+ # Check for strcasecmp() or replacement
+ conf = Configure(conf_env)
+ if not conf.CheckFunc('strcasecmp') :
+ if conf.CheckFunc("stricmp") :
+ myenv.Append(CPPDEFINES = [("strcasecmp", "stricmp")])
+ else :
+ print "Error: Cannot find strcasecmp() or stricmp()"
+ Exit(1)
+ if not conf.CheckFunc('strncasecmp') :
+ if conf.CheckFunc("strnicmp") :
+ myenv.Append(CPPDEFINES = [("strncasecmp", "strnicmp")])
+ else :
+ print "Error: Cannot find strncasecmp() or strnicmp()"
+ Exit(1)
+ conf.Finish()
- myenv.Append(CPPDEFINES = ["LIBIDN_STATIC", "HAVE_CONFIG_H"])
- myenv.Append(CPPPATH = ["src", "stubs", "src/gl"])
- if myenv["PLATFORM"] == "win32" :
- myenv.Append(CPPPATH = "stubs/win32")
- if float(env["MSVC_VERSION"]) < 14:
- myenv.Append(CPPPATH = "stubs/win32/stdbool")
- if myenv["MSVC_VERSION"][:3] == "9.0" :
- myenv.Append(CPPPATH = "stubs/win32/VC2008")
+ myenv.Append(CPPDEFINES = ["LIBIDN_STATIC", "HAVE_CONFIG_H"])
+ myenv.Append(CPPPATH = ["src", "stubs", "src/gl"])
+ if myenv["PLATFORM"] == "win32" :
+ myenv.Append(CPPPATH = "stubs/win32")
+ if float(env["MSVC_VERSION"]) < 14:
+ myenv.Append(CPPPATH = "stubs/win32/stdbool")
+ if myenv["MSVC_VERSION"][:3] == "9.0" :
+ myenv.Append(CPPPATH = "stubs/win32/VC2008")
- env["LIBIDN_OBJECTS"] = myenv.SwiftenObject([
- "src/stringprep.c",
- "src/profiles.c",
- "src/rfc3454.c",
- "src/punycode.c",
- "src/idna.c",
- "src/toutf8.c",
- "src/nfkc.c",
- "src/gl/c-ctype.c",
- "src/gl/c-strcasecmp.c",
- "src/gl/c-strncasecmp.c",
- "src/gl/unistr/u8-check.c"
- ])
+ env["LIBIDN_OBJECTS"] = myenv.SwiftenObject([
+ "src/stringprep.c",
+ "src/profiles.c",
+ "src/rfc3454.c",
+ "src/punycode.c",
+ "src/idna.c",
+ "src/toutf8.c",
+ "src/nfkc.c",
+ "src/gl/c-ctype.c",
+ "src/gl/c-strcasecmp.c",
+ "src/gl/c-strncasecmp.c",
+ "src/gl/unistr/u8-check.c"
+ ])
diff --git a/3rdParty/LibMiniUPnPc/SConscript b/3rdParty/LibMiniUPnPc/SConscript
index 05eed8f..3c2e29d 100644
--- a/3rdParty/LibMiniUPnPc/SConscript
+++ b/3rdParty/LibMiniUPnPc/SConscript
@@ -8,51 +8,51 @@ if env.get("LIBMINIUPNPC_BUNDLED", False) :
# Module flags
################################################################################
- if env["SCONS_STAGE"] == "flags" :
- env["HAVE_LIBMINIUPNPC"] = True
- env["LIBMINIUPNPC_FLAGS"] = {
- "LIBPATH": [Dir(".")],
- "INTERNAL_CPPDEFINES": ["STATICLIB"],
- }
- if os.path.basename(env["CC"]) in ("clang", "gcc") :
- env["LIBMINIUPNPC_FLAGS"].update({"CPPFLAGS": ["-isystem" "3rdParty/LibMiniUPnPc/src/miniupnpc"]})
- else :
- env["LIBMINIUPNPC_FLAGS"].update({"CPPPATH": [Dir("src/miniupnpc")]})
-
- #if env["PLATFORM"] == "win32" :
- # env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32")]
- # if env["MSVC_VERSION"][:3] == "9.0" :
- # env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/VC2008")]
+ if env["SCONS_STAGE"] == "flags" :
+ env["HAVE_LIBMINIUPNPC"] = True
+ env["LIBMINIUPNPC_FLAGS"] = {
+ "LIBPATH": [Dir(".")],
+ "INTERNAL_CPPDEFINES": ["STATICLIB"],
+ }
+ if os.path.basename(env["CC"]) in ("clang", "gcc") :
+ env["LIBMINIUPNPC_FLAGS"].update({"CPPFLAGS": ["-isystem" "3rdParty/LibMiniUPnPc/src/miniupnpc"]})
+ else :
+ env["LIBMINIUPNPC_FLAGS"].update({"CPPPATH": [Dir("src/miniupnpc")]})
+
+ #if env["PLATFORM"] == "win32" :
+ # env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32")]
+ # if env["MSVC_VERSION"][:3] == "9.0" :
+ # env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/VC2008")]
################################################################################
# Build
################################################################################
- if env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
- myenv.Append(CPPPATH = ["src"])
- # Remove warn flags
- myenv.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
+ if env["SCONS_STAGE"] == "build" :
+ myenv = env.Clone()
+ myenv.Append(CPPPATH = ["src"])
+ # Remove warn flags
+ myenv.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
- myenv.Append(CCFLAGS = ["-DNDEBUG", "-DSTATICLIB"])
+ myenv.Append(CCFLAGS = ["-DNDEBUG", "-DSTATICLIB"])
- if myenv["PLATFORM"] != "win32":
- myenv.Append(CCFLAGS = ["-DMINIUPNPC_SET_SOCKET_TIMEOUT"])
- myenv.Append(CCFLAGS = ["-D_BSD_SOURCE"])
+ if myenv["PLATFORM"] != "win32":
+ myenv.Append(CCFLAGS = ["-DMINIUPNPC_SET_SOCKET_TIMEOUT"])
+ myenv.Append(CCFLAGS = ["-D_BSD_SOURCE"])
- if myenv["PLATFORM"] == "darwin":
- myenv.Append(CCFLAGS = ["-DMACOSX", "-D_DARWIN_C_SOURCE"])
+ if myenv["PLATFORM"] == "darwin":
+ myenv.Append(CCFLAGS = ["-DMACOSX", "-D_DARWIN_C_SOURCE"])
- if myenv["PLATFORM"] == "win32":
- myenv.Append(CCFLAGS = ["-DWIN32", "-D_WIN32_WINNT=0x0501"])
+ if myenv["PLATFORM"] == "win32":
+ myenv.Append(CCFLAGS = ["-DWIN32", "-D_WIN32_WINNT=0x0501"])
- if myenv["PLATFORM"] != "win32" and myenv["PLATFORM"] != "darwin":
- conf = Configure(conf_env)
- if conf.CheckTypeSize("struct ip_mreqn", includes="#include <netinet/in.h>") == 0:
- myenv.Append(CCFLAGS = ["-DNEED_STRUCT_IP_MREQN"])
- conf.Finish()
+ if myenv["PLATFORM"] != "win32" and myenv["PLATFORM"] != "darwin":
+ conf = Configure(conf_env)
+ if conf.CheckTypeSize("struct ip_mreqn", includes="#include <netinet/in.h>") == 0:
+ myenv.Append(CCFLAGS = ["-DNEED_STRUCT_IP_MREQN"])
+ conf.Finish()
- myenv.WriteVal("src/miniupnpc/miniupnpcstrings.h", myenv.Value(
+ myenv.WriteVal("src/miniupnpc/miniupnpcstrings.h", myenv.Value(
"""
#ifndef __MINIUPNPCSTRINGS_H__
#define __MINIUPNPCSTRINGS_H__
@@ -63,22 +63,22 @@ if env.get("LIBMINIUPNPC_BUNDLED", False) :
#endif
""".replace("$OS_STRING", myenv["PLATFORM"])))
- miniupnpc_objects = [
- "src/miniupnpc/igd_desc_parse.c",
- "src/miniupnpc/miniupnpc.c",
- "src/miniupnpc/minixml.c",
- "src/miniupnpc/minisoap.c",
- "src/miniupnpc/miniwget.c",
- #"src/miniupnpc/upnpc.c",
- "src/miniupnpc/upnpcommands.c",
- "src/miniupnpc/upnpreplyparse.c",
- "src/miniupnpc/upnperrors.c",
- "src/miniupnpc/connecthostport.c",
- "src/miniupnpc/portlistingparse.c",
- "src/miniupnpc/receivedata.c"
- ]
-
- if myenv["PLATFORM"] != "win32":
- miniupnpc_objects.append("src/miniupnpc/minissdpc.c")
-
- env["LIBMINIUPNPC_OBJECTS"] = myenv.SwiftenObject(miniupnpc_objects)
+ miniupnpc_objects = [
+ "src/miniupnpc/igd_desc_parse.c",
+ "src/miniupnpc/miniupnpc.c",
+ "src/miniupnpc/minixml.c",
+ "src/miniupnpc/minisoap.c",
+ "src/miniupnpc/miniwget.c",
+ #"src/miniupnpc/upnpc.c",
+ "src/miniupnpc/upnpcommands.c",
+ "src/miniupnpc/upnpreplyparse.c",
+ "src/miniupnpc/upnperrors.c",
+ "src/miniupnpc/connecthostport.c",
+ "src/miniupnpc/portlistingparse.c",
+ "src/miniupnpc/receivedata.c"
+ ]
+
+ if myenv["PLATFORM"] != "win32":
+ miniupnpc_objects.append("src/miniupnpc/minissdpc.c")
+
+ env["LIBMINIUPNPC_OBJECTS"] = myenv.SwiftenObject(miniupnpc_objects)
diff --git a/3rdParty/LibNATPMP/SConscript b/3rdParty/LibNATPMP/SConscript
index 2a58242..e1aef1c 100644
--- a/3rdParty/LibNATPMP/SConscript
+++ b/3rdParty/LibNATPMP/SConscript
@@ -8,49 +8,49 @@ if env.get("LIBNATPMP_BUNDLED", False) :
# Module flags
################################################################################
- if env["SCONS_STAGE"] == "flags" :
- env["HAVE_LIBNATPMP"] = True
- env["LIBNATPMP_FLAGS"] = {
- "LIBPATH": [Dir(".")],
- "INTERNAL_CPPDEFINES": ["STATICLIB"],
- }
- if os.path.basename(env["CC"]) in ("clang", "gcc") :
- env["LIBNATPMP_FLAGS"].update({"CPPFLAGS": ["-isystem" "3rdParty/LibNATPMP/src/libnatpmp"]})
- else :
- env["LIBNATPMP_FLAGS"].update({"CPPPATH": [Dir("src/libnatpmp")]})
- #if env["PLATFORM"] == "win32" :
- # env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32")]
- # if env["MSVC_VERSION"][:3] == "9.0" :
- # env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/VC2008")]
+ if env["SCONS_STAGE"] == "flags" :
+ env["HAVE_LIBNATPMP"] = True
+ env["LIBNATPMP_FLAGS"] = {
+ "LIBPATH": [Dir(".")],
+ "INTERNAL_CPPDEFINES": ["STATICLIB"],
+ }
+ if os.path.basename(env["CC"]) in ("clang", "gcc") :
+ env["LIBNATPMP_FLAGS"].update({"CPPFLAGS": ["-isystem" "3rdParty/LibNATPMP/src/libnatpmp"]})
+ else :
+ env["LIBNATPMP_FLAGS"].update({"CPPPATH": [Dir("src/libnatpmp")]})
+ #if env["PLATFORM"] == "win32" :
+ # env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32")]
+ # if env["MSVC_VERSION"][:3] == "9.0" :
+ # env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/VC2008")]
################################################################################
# Build
################################################################################
- if env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
- myenv.Append(CPPPATH = ["src"])
- # Remove warn flags
- myenv.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
-
- myenv.Append(CCFLAGS = ["-DNDEBUG", "-DSTATICLIB"])
-
- #if myenv["PLATFORM"] != "win32":
- # myenv.Append(CCFLAGS = ["-DMINIUPNPC_SET_SOCKET_TIMEOUT"])
-
- if myenv["PLATFORM"] == "darwin":
- myenv.Append(CCFLAGS = ["-DMACOSX", "-D_DARWIN_C_SOURCE"])
-
- if myenv["PLATFORM"] == "win32":
- myenv.Append(CCFLAGS = ["-DWIN32"])
-
- src_files = [
- "src/libnatpmp/getgateway.c",
- "src/libnatpmp/natpmp.c",
- "src/libnatpmp/natpmpc.c",
- ]
-
- if myenv["PLATFORM"] == "win32":
- src_files += ["src/libnatpmp/wingettimeofday.c"]
-
- env["LIBNATPMP_OBJECTS"] = myenv.SwiftenObject(src_files)
+ if env["SCONS_STAGE"] == "build" :
+ myenv = env.Clone()
+ myenv.Append(CPPPATH = ["src"])
+ # Remove warn flags
+ myenv.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
+
+ myenv.Append(CCFLAGS = ["-DNDEBUG", "-DSTATICLIB"])
+
+ #if myenv["PLATFORM"] != "win32":
+ # myenv.Append(CCFLAGS = ["-DMINIUPNPC_SET_SOCKET_TIMEOUT"])
+
+ if myenv["PLATFORM"] == "darwin":
+ myenv.Append(CCFLAGS = ["-DMACOSX", "-D_DARWIN_C_SOURCE"])
+
+ if myenv["PLATFORM"] == "win32":
+ myenv.Append(CCFLAGS = ["-DWIN32"])
+
+ src_files = [
+ "src/libnatpmp/getgateway.c",
+ "src/libnatpmp/natpmp.c",
+ "src/libnatpmp/natpmpc.c",
+ ]
+
+ if myenv["PLATFORM"] == "win32":
+ src_files += ["src/libnatpmp/wingettimeofday.c"]
+
+ env["LIBNATPMP_OBJECTS"] = myenv.SwiftenObject(src_files)
diff --git a/3rdParty/Lua/SConscript b/3rdParty/Lua/SConscript
index f73286f..d2475f6 100644
--- a/3rdParty/Lua/SConscript
+++ b/3rdParty/Lua/SConscript
@@ -6,76 +6,76 @@ if env.get("LUA_BUNDLED", False) :
# Module flags
################################################################################
- if env["SCONS_STAGE"] == "flags" :
- env["HAVE_LUA"] = True
- cppdefines = []
- if not env["optimize"] :
- cppdefines.append("LUA_USE_APICHECK")
- if env["PLATFORM"] == "win32" :
- pass
- elif env["PLATFORM"] == "darwin" :
- cppdefines += ["LUA_USE_POSIX", "LUA_USE_DLOPEN"]
- else :
- cppdefines += ["LUA_USE_POSIX", "LUA_USE_DLOPEN"]
+ if env["SCONS_STAGE"] == "flags" :
+ env["HAVE_LUA"] = True
+ cppdefines = []
+ if not env["optimize"] :
+ cppdefines.append("LUA_USE_APICHECK")
+ if env["PLATFORM"] == "win32" :
+ pass
+ elif env["PLATFORM"] == "darwin" :
+ cppdefines += ["LUA_USE_POSIX", "LUA_USE_DLOPEN"]
+ else :
+ cppdefines += ["LUA_USE_POSIX", "LUA_USE_DLOPEN"]
- env["LUA_FLAGS"] = {
- "CPPDEFINES": cppdefines,
- "CPPPATH": [Dir("src")],
- "LIBPATH": [Dir(".")],
- "LIBS": ["Swiften_Lua"],
- }
+ env["LUA_FLAGS"] = {
+ "CPPDEFINES": cppdefines,
+ "CPPPATH": [Dir("src")],
+ "LIBPATH": [Dir(".")],
+ "LIBS": ["Swiften_Lua"],
+ }
################################################################################
# Build
################################################################################
- if env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
+ if env["SCONS_STAGE"] == "build" :
+ myenv = env.Clone()
- # Remove warn flags
- myenv.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if not flag.startswith("-W")])
- if "clang" in env["CC"] :
- myenv.Append(CCFLAGS = ["-Wno-unknown-warning-option", "-Wno-empty-body"])
+ # Remove warn flags
+ myenv.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if not flag.startswith("-W")])
+ if "clang" in env["CC"] :
+ myenv.Append(CCFLAGS = ["-Wno-unknown-warning-option", "-Wno-empty-body"])
- myenv.MergeFlags(myenv["LUA_FLAGS"])
- myenv.StaticLibrary("Swiften_Lua", [
- "src/lapi.c",
- "src/lcode.c",
- "src/ldebug.c",
- "src/ldo.c",
- "src/ldump.c",
- "src/lfunc.c",
- "src/lgc.c",
- "src/llex.c",
- "src/lmem.c",
- "src/lobject.c",
- "src/lopcodes.c",
- "src/lparser.c",
- "src/lstate.c",
- "src/lstring.c",
- "src/ltable.c",
- "src/ltm.c",
- "src/lundump.c",
- "src/lvm.c",
- "src/lzio.c",
- "src/lauxlib.c",
- "src/lbaselib.c",
- "src/ldblib.c",
- "src/liolib.c",
- "src/lmathlib.c",
- "src/loslib.c",
- "src/ltablib.c",
- "src/lstrlib.c",
- "src/loadlib.c",
- ])
+ myenv.MergeFlags(myenv["LUA_FLAGS"])
+ myenv.StaticLibrary("Swiften_Lua", [
+ "src/lapi.c",
+ "src/lcode.c",
+ "src/ldebug.c",
+ "src/ldo.c",
+ "src/ldump.c",
+ "src/lfunc.c",
+ "src/lgc.c",
+ "src/llex.c",
+ "src/lmem.c",
+ "src/lobject.c",
+ "src/lopcodes.c",
+ "src/lparser.c",
+ "src/lstate.c",
+ "src/lstring.c",
+ "src/ltable.c",
+ "src/ltm.c",
+ "src/lundump.c",
+ "src/lvm.c",
+ "src/lzio.c",
+ "src/lauxlib.c",
+ "src/lbaselib.c",
+ "src/ldblib.c",
+ "src/liolib.c",
+ "src/lmathlib.c",
+ "src/loslib.c",
+ "src/ltablib.c",
+ "src/lstrlib.c",
+ "src/loadlib.c",
+ ])
- lua_env = myenv.Clone()
- lua_env.MergeFlags(lua_env["LUA_FLAGS"])
- if lua_env.get("HAVE_READLINE", False) :
- lua_env.Append(CPPDEFINES = ["LUA_USE_READLINE"])
- lua_env.MergeFlags(lua_env["READLINE_FLAGS"])
- lua_env.MergeFlags(myenv["PLATFORM_FLAGS"])
- lua_env.Program("lua", [
- "src/linit.c",
- "src/lua.c",
- ])
+ lua_env = myenv.Clone()
+ lua_env.MergeFlags(lua_env["LUA_FLAGS"])
+ if lua_env.get("HAVE_READLINE", False) :
+ lua_env.Append(CPPDEFINES = ["LUA_USE_READLINE"])
+ lua_env.MergeFlags(lua_env["READLINE_FLAGS"])
+ lua_env.MergeFlags(myenv["PLATFORM_FLAGS"])
+ lua_env.Program("lua", [
+ "src/linit.c",
+ "src/lua.c",
+ ])
diff --git a/3rdParty/OpenSSL/SConscript b/3rdParty/OpenSSL/SConscript
index 6af3d49..c95ea05 100644
--- a/3rdParty/OpenSSL/SConscript
+++ b/3rdParty/OpenSSL/SConscript
@@ -3,658 +3,658 @@ Import("env", "conf_env")
openssl_bundle_dir = "openssl"
if env.get("OPENSSL_BUNDLED", False) :
- if env["SCONS_STAGE"] == "flags" :
- env["OPENSSL_FLAGS"] = {
- "CPPPATH": [Dir(openssl_bundle_dir + "/include")],
- "LIBPATH": [Dir(".")],
- "LIBS": ["ssl", "crypto"]
- }
+ if env["SCONS_STAGE"] == "flags" :
+ env["OPENSSL_FLAGS"] = {
+ "CPPPATH": [Dir(openssl_bundle_dir + "/include")],
+ "LIBPATH": [Dir(".")],
+ "LIBS": ["ssl", "crypto"]
+ }
- if env["SCONS_STAGE"] == "build" :
- openssl_env = env.Clone()
- openssl_env["OPENSSL_BUNDLE_DIR"] = openssl_bundle_dir
- openssl_env.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
- openssl_env.Append(CPPPATH = [
- "$OPENSSL_BUNDLE_DIR",
- "$OPENSSL_BUNDLE_DIR/crypto",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1",
- "$OPENSSL_BUNDLE_DIR/crypto/evp",
- "$OPENSSL_BUNDLE_DIR/crypto/modes",
- "$OPENSSL_BUNDLE_DIR/include"
- ])
- if env["PLATFORM"] == "win32" :
- openssl_env.Append(CPPDEFINES = ["OPENSSL_THREADS", "_REENTRANT", "L_ENDIAN", "OPENSSL_SYSNAME_WIN32", "WIN32_LEAN_AND_MEAN"])
- else :
- openssl_env.Append(CPPDEFINES = ["OPENSSL_THREADS", "_REENTRANT", "DSO_DLFCN", "HAVE_DLFCN_H", "L_ENDIAN"])
+ if env["SCONS_STAGE"] == "build" :
+ openssl_env = env.Clone()
+ openssl_env["OPENSSL_BUNDLE_DIR"] = openssl_bundle_dir
+ openssl_env.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
+ openssl_env.Append(CPPPATH = [
+ "$OPENSSL_BUNDLE_DIR",
+ "$OPENSSL_BUNDLE_DIR/crypto",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp",
+ "$OPENSSL_BUNDLE_DIR/crypto/modes",
+ "$OPENSSL_BUNDLE_DIR/include"
+ ])
+ if env["PLATFORM"] == "win32" :
+ openssl_env.Append(CPPDEFINES = ["OPENSSL_THREADS", "_REENTRANT", "L_ENDIAN", "OPENSSL_SYSNAME_WIN32", "WIN32_LEAN_AND_MEAN"])
+ else :
+ openssl_env.Append(CPPDEFINES = ["OPENSSL_THREADS", "_REENTRANT", "DSO_DLFCN", "HAVE_DLFCN_H", "L_ENDIAN"])
- # Detect 32/64 bit
- conf = Configure(conf_env)
- if conf.CheckDeclaration("__LP64__") :
- openssl_env.Append(CPPDEFINES = [("DES_LONG", "unsigned int"), ("MD32_REG_T", "int")])
- else :
- openssl_env.Append(CPPDEFINES = [("DES_LONG", "unsigned long")])
- conf.Finish()
+ # Detect 32/64 bit
+ conf = Configure(conf_env)
+ if conf.CheckDeclaration("__LP64__") :
+ openssl_env.Append(CPPDEFINES = [("DES_LONG", "unsigned int"), ("MD32_REG_T", "int")])
+ else :
+ openssl_env.Append(CPPDEFINES = [("DES_LONG", "unsigned long")])
+ conf.Finish()
- # case-sensitive sorted list of OpenSSL objects for openssl-1.0.1j
- env["OPENSSL_OBJECTS"] = openssl_env.SwiftenObject([
- "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_cbc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_cfb.c",
- "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_core.c",
- "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_ctr.c",
- "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_ecb.c",
- "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_ige.c",
- "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_misc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_ofb.c",
- "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_wrap.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_bitstr.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_bool.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_bytes.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_d2i_fp.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_digest.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_dup.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_enum.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_gentm.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_i2d_fp.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_int.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_mbstr.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_object.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_octet.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_print.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_set.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_sign.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_strex.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_strnid.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_time.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_type.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_utctm.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_utf8.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_verify.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/ameth_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/asn1_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/asn1_gen.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/asn1_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/asn1_par.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/asn_mime.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/asn_moid.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/asn_pack.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/bio_asn1.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/bio_ndef.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/d2i_pr.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/d2i_pu.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/evp_asn1.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/f_enum.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/f_int.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/f_string.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/i2d_pr.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/i2d_pu.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/n_pkey.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/nsseq.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/p5_pbe.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/p5_pbev2.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/p8_pkey.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/t_bitst.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/t_crl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/t_pkey.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/t_req.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/t_spki.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/t_x509.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/t_x509a.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/tasn_dec.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/tasn_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/tasn_fre.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/tasn_new.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/tasn_prn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/tasn_typ.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/tasn_utl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_algor.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_attrib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_bignum.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_crl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_exten.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_info.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_long.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_name.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_nx509.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_pkey.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_pubkey.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_req.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_sig.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_spki.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_val.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_x509.c",
- "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_x509a.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bf/bf_cfb64.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bf/bf_ecb.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bf/bf_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bf/bf_ofb64.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bf/bf_skey.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/b_dump.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/b_print.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/b_sock.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/bf_buff.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/bf_nbio.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/bf_null.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/bio_cb.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/bio_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/bio_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_acpt.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_bio.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_conn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_dgram.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_fd.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_file.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_log.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_mem.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_null.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_sock.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_add.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_asm.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_blind.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_const.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_ctx.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_depr.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_div.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_exp.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_exp2.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_gcd.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_gf2m.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_kron.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_mod.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_mont.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_mpi.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_mul.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_nist.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_prime.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_print.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_rand.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_recp.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_shift.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_sqr.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_sqrt.c",
- "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_word.c",
- "$OPENSSL_BUNDLE_DIR/crypto/buffer/buf_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/buffer/buf_str.c",
- "$OPENSSL_BUNDLE_DIR/crypto/buffer/buffer.c",
- "$OPENSSL_BUNDLE_DIR/crypto/camellia/camellia.c",
- "$OPENSSL_BUNDLE_DIR/crypto/camellia/cmll_cbc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/camellia/cmll_cfb.c",
- "$OPENSSL_BUNDLE_DIR/crypto/camellia/cmll_ctr.c",
- "$OPENSSL_BUNDLE_DIR/crypto/camellia/cmll_ecb.c",
- "$OPENSSL_BUNDLE_DIR/crypto/camellia/cmll_misc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/camellia/cmll_ofb.c",
- "$OPENSSL_BUNDLE_DIR/crypto/camellia/cmll_utl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cast/c_cfb64.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cast/c_ecb.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cast/c_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cast/c_ofb64.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cast/c_skey.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cmac/cm_ameth.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cmac/cm_pmeth.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cmac/cmac.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_asn1.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_att.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_cd.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_dd.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_env.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_ess.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_io.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_pwri.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_sd.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_smime.c",
- "$OPENSSL_BUNDLE_DIR/crypto/comp/c_rle.c",
- "$OPENSSL_BUNDLE_DIR/crypto/comp/c_zlib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/comp/comp_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/comp/comp_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/conf/conf_api.c",
- "$OPENSSL_BUNDLE_DIR/crypto/conf/conf_def.c",
- "$OPENSSL_BUNDLE_DIR/crypto/conf/conf_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/conf/conf_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/conf/conf_mall.c",
- "$OPENSSL_BUNDLE_DIR/crypto/conf/conf_mod.c",
- "$OPENSSL_BUNDLE_DIR/crypto/conf/conf_sap.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cpt_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cryptlib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/cversion.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/cbc_cksm.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/cbc_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/cfb64ede.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/cfb64enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/cfb_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/des_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/des_old.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/des_old2.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/ecb3_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/ecb_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/ede_cbcm_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/enc_read.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/enc_writ.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/fcrypt.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/fcrypt_b.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/ofb64ede.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/ofb64enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/ofb_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/pcbc_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/qud_cksm.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/rand_key.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/read2pwd.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/rpc_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/set_key.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/str2key.c",
- "$OPENSSL_BUNDLE_DIR/crypto/des/xcbc_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_ameth.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_asn1.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_check.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_depr.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_gen.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_key.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_pmeth.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_prn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_ameth.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_asn1.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_depr.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_gen.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_key.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_ossl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_pmeth.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_prn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_sign.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_vrf.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_beos.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_dl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_dlfcn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_null.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_openssl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_vms.c",
- "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_win32.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ebcdic.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ec2_mult.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ec2_oct.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ec2_smpl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_ameth.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_asn1.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_check.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_curve.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_cvt.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_key.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_mult.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_oct.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_pmeth.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_print.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/eck_prn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ecp_mont.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ecp_nist.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ecp_oct.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ec/ecp_smpl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ecdh/ech_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ecdh/ech_key.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ecdh/ech_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ecdh/ech_ossl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ecdsa/ecs_asn1.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ecdsa/ecs_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ecdsa/ecs_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ecdsa/ecs_ossl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ecdsa/ecs_sign.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ecdsa/ecs_vrf.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_all.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_cnf.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_cryptodev.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_ctrl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_dyn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_fat.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_init.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_list.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_openssl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_pkey.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_table.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_asnmth.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_cipher.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_dh.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_digest.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_dsa.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_ecdh.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_ecdsa.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_pkmeth.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_rand.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_rsa.c",
- "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_store.c",
- "$OPENSSL_BUNDLE_DIR/crypto/err/err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/err/err_all.c",
- "$OPENSSL_BUNDLE_DIR/crypto/err/err_prn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/bio_b64.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/bio_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/bio_md.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/bio_ok.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/c_all.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/c_allc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/c_alld.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/digest.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/e_aes.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/e_aes_cbc_hmac_sha1.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/e_bf.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/e_camellia.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/e_cast.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/e_des.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/e_des3.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/e_idea.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/e_null.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/e_old.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/e_rc2.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/e_rc4.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/e_rc4_hmac_md5.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/e_rc5.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/e_seed.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/e_xcbc_d.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/encode.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/evp_acnf.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/evp_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/evp_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/evp_key.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/evp_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/evp_pbe.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/evp_pkey.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/m_dss.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/m_dss1.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/m_ecdsa.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/m_md2.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/m_md4.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/m_md5.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/m_mdc2.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/m_null.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/m_ripemd.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/m_sha.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/m_sha1.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/m_sigver.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/m_wp.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/names.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/p5_crpt.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/p5_crpt2.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/p_dec.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/p_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/p_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/p_open.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/p_seal.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/p_sign.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/p_verify.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/pmeth_fn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/pmeth_gn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/evp/pmeth_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ex_data.c",
- "$OPENSSL_BUNDLE_DIR/crypto/hmac/hm_ameth.c",
- "$OPENSSL_BUNDLE_DIR/crypto/hmac/hm_pmeth.c",
- "$OPENSSL_BUNDLE_DIR/crypto/hmac/hmac.c",
- "$OPENSSL_BUNDLE_DIR/crypto/idea/i_cbc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/idea/i_cfb64.c",
- "$OPENSSL_BUNDLE_DIR/crypto/idea/i_ecb.c",
- "$OPENSSL_BUNDLE_DIR/crypto/idea/i_ofb64.c",
- "$OPENSSL_BUNDLE_DIR/crypto/idea/i_skey.c",
- "$OPENSSL_BUNDLE_DIR/crypto/krb5/krb5_asn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/lhash/lh_stats.c",
- "$OPENSSL_BUNDLE_DIR/crypto/lhash/lhash.c",
- "$OPENSSL_BUNDLE_DIR/crypto/md4/md4_dgst.c",
- "$OPENSSL_BUNDLE_DIR/crypto/md4/md4_one.c",
- "$OPENSSL_BUNDLE_DIR/crypto/md5/md5_dgst.c",
- "$OPENSSL_BUNDLE_DIR/crypto/md5/md5_one.c",
- "$OPENSSL_BUNDLE_DIR/crypto/mdc2/mdc2_one.c",
- "$OPENSSL_BUNDLE_DIR/crypto/mdc2/mdc2dgst.c",
- "$OPENSSL_BUNDLE_DIR/crypto/mem.c",
- "$OPENSSL_BUNDLE_DIR/crypto/mem_clr.c",
- "$OPENSSL_BUNDLE_DIR/crypto/mem_dbg.c",
- "$OPENSSL_BUNDLE_DIR/crypto/modes/cbc128.c",
- "$OPENSSL_BUNDLE_DIR/crypto/modes/ccm128.c",
- "$OPENSSL_BUNDLE_DIR/crypto/modes/cfb128.c",
- "$OPENSSL_BUNDLE_DIR/crypto/modes/ctr128.c",
- "$OPENSSL_BUNDLE_DIR/crypto/modes/cts128.c",
- "$OPENSSL_BUNDLE_DIR/crypto/modes/gcm128.c",
- "$OPENSSL_BUNDLE_DIR/crypto/modes/ofb128.c",
- "$OPENSSL_BUNDLE_DIR/crypto/modes/xts128.c",
- "$OPENSSL_BUNDLE_DIR/crypto/o_dir.c",
- "$OPENSSL_BUNDLE_DIR/crypto/o_init.c",
- "$OPENSSL_BUNDLE_DIR/crypto/o_str.c",
- "$OPENSSL_BUNDLE_DIR/crypto/o_time.c",
- "$OPENSSL_BUNDLE_DIR/crypto/objects/o_names.c",
- "$OPENSSL_BUNDLE_DIR/crypto/objects/obj_dat.c",
- "$OPENSSL_BUNDLE_DIR/crypto/objects/obj_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/objects/obj_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/objects/obj_xref.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_asn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_cl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_ext.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_ht.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_prn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_srv.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_vfy.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_all.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_info.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_oth.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_pk8.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_pkey.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_seal.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_sign.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_x509.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_xaux.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pem/pvkfmt.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_add.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_asn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_attr.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_crpt.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_crt.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_decr.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_init.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_key.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_kiss.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_mutl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_npas.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_p8d.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_p8e.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_utl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/pk12err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs7/bio_pk7.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs7/pk7_asn1.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs7/pk7_attr.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs7/pk7_doit.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs7/pk7_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs7/pk7_mime.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs7/pk7_smime.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pkcs7/pkcs7err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/pqueue/pqueue.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rand/md_rand.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rand/rand_egd.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rand/rand_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rand/rand_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rand/rand_nw.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rand/rand_os2.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rand/rand_unix.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rand/rand_win.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rand/randfile.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rc2/rc2_cbc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rc2/rc2_ecb.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rc2/rc2_skey.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rc2/rc2cfb64.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rc2/rc2ofb64.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rc4/rc4_enc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rc4/rc4_skey.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rc4/rc4_utl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ripemd/rmd_dgst.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ripemd/rmd_one.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_ameth.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_asn1.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_chk.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_crpt.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_depr.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_eay.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_gen.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_none.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_null.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_oaep.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_pk1.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_pmeth.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_prn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_pss.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_saos.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_sign.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_ssl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_x931.c",
- "$OPENSSL_BUNDLE_DIR/crypto/seed/seed.c",
- "$OPENSSL_BUNDLE_DIR/crypto/seed/seed_cbc.c",
- "$OPENSSL_BUNDLE_DIR/crypto/seed/seed_cfb.c",
- "$OPENSSL_BUNDLE_DIR/crypto/seed/seed_ecb.c",
- "$OPENSSL_BUNDLE_DIR/crypto/seed/seed_ofb.c",
- "$OPENSSL_BUNDLE_DIR/crypto/sha/sha1_one.c",
- "$OPENSSL_BUNDLE_DIR/crypto/sha/sha1dgst.c",
- "$OPENSSL_BUNDLE_DIR/crypto/sha/sha256.c",
- "$OPENSSL_BUNDLE_DIR/crypto/sha/sha512.c",
- "$OPENSSL_BUNDLE_DIR/crypto/sha/sha_dgst.c",
- "$OPENSSL_BUNDLE_DIR/crypto/sha/sha_one.c",
- "$OPENSSL_BUNDLE_DIR/crypto/srp/srp_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/srp/srp_vfy.c",
- "$OPENSSL_BUNDLE_DIR/crypto/stack/stack.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_asn1.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_conf.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_req_print.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_req_utils.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_rsp_print.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_rsp_sign.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_rsp_utils.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_rsp_verify.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_verify_ctx.c",
- "$OPENSSL_BUNDLE_DIR/crypto/txt_db/txt_db.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ui/ui_compat.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ui/ui_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ui/ui_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ui/ui_openssl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/ui/ui_util.c",
- "$OPENSSL_BUNDLE_DIR/crypto/uid.c",
- "$OPENSSL_BUNDLE_DIR/crypto/whrlpool/wp_block.c",
- "$OPENSSL_BUNDLE_DIR/crypto/whrlpool/wp_dgst.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/by_dir.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/by_file.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_att.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_cmp.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_d2.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_def.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_err.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_ext.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_lu.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_obj.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_r2x.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_req.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_set.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_trs.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_txt.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_v3.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_vfy.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_vpm.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509cset.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509name.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509rset.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509spki.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x509type.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509/x_all.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/pcy_cache.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/pcy_data.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/pcy_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/pcy_map.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/pcy_node.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/pcy_tree.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_addr.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_akey.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_akeya.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_alt.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_asid.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_bcons.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_bitst.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_conf.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_cpols.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_crld.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_enum.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_extku.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_genn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_ia5.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_info.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_int.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_lib.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_ncons.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_ocsp.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_pci.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_pcia.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_pcons.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_pku.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_pmaps.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_prn.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_purp.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_skey.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_sxnet.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_utl.c",
- "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3err.c",
- "$OPENSSL_BUNDLE_DIR/ssl/bio_ssl.c",
- "$OPENSSL_BUNDLE_DIR/ssl/d1_both.c",
- "$OPENSSL_BUNDLE_DIR/ssl/d1_clnt.c",
- "$OPENSSL_BUNDLE_DIR/ssl/d1_enc.c",
- "$OPENSSL_BUNDLE_DIR/ssl/d1_lib.c",
- "$OPENSSL_BUNDLE_DIR/ssl/d1_meth.c",
- "$OPENSSL_BUNDLE_DIR/ssl/d1_pkt.c",
- "$OPENSSL_BUNDLE_DIR/ssl/d1_srtp.c",
- "$OPENSSL_BUNDLE_DIR/ssl/d1_srvr.c",
- "$OPENSSL_BUNDLE_DIR/ssl/kssl.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s23_clnt.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s23_lib.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s23_meth.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s23_pkt.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s23_srvr.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s2_clnt.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s2_enc.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s2_lib.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s2_meth.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s2_pkt.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s2_srvr.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s3_both.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s3_cbc.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s3_clnt.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s3_enc.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s3_lib.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s3_meth.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s3_pkt.c",
- "$OPENSSL_BUNDLE_DIR/ssl/s3_srvr.c",
- "$OPENSSL_BUNDLE_DIR/ssl/ssl_algs.c",
- "$OPENSSL_BUNDLE_DIR/ssl/ssl_asn1.c",
- "$OPENSSL_BUNDLE_DIR/ssl/ssl_cert.c",
- "$OPENSSL_BUNDLE_DIR/ssl/ssl_ciph.c",
- "$OPENSSL_BUNDLE_DIR/ssl/ssl_err.c",
- "$OPENSSL_BUNDLE_DIR/ssl/ssl_err2.c",
- "$OPENSSL_BUNDLE_DIR/ssl/ssl_lib.c",
- "$OPENSSL_BUNDLE_DIR/ssl/ssl_rsa.c",
- "$OPENSSL_BUNDLE_DIR/ssl/ssl_sess.c",
- "$OPENSSL_BUNDLE_DIR/ssl/ssl_stat.c",
- "$OPENSSL_BUNDLE_DIR/ssl/ssl_txt.c",
- "$OPENSSL_BUNDLE_DIR/ssl/t1_clnt.c",
- "$OPENSSL_BUNDLE_DIR/ssl/t1_enc.c",
- "$OPENSSL_BUNDLE_DIR/ssl/t1_lib.c",
- "$OPENSSL_BUNDLE_DIR/ssl/t1_meth.c",
- "$OPENSSL_BUNDLE_DIR/ssl/t1_reneg.c",
- "$OPENSSL_BUNDLE_DIR/ssl/t1_srvr.c",
- "$OPENSSL_BUNDLE_DIR/ssl/tls_srp.c",
- ])
- openssl_env.WriteVal("$OPENSSL_BUNDLE_DIR/crypto/buildinf.h", openssl_env.Value("#define CFLAGS \"\"\n#define PLATFORM \"-\"\n#define DATE \"-\""))
+ # case-sensitive sorted list of OpenSSL objects for openssl-1.0.1j
+ env["OPENSSL_OBJECTS"] = openssl_env.SwiftenObject([
+ "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_cbc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_cfb.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_core.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_ctr.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_ecb.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_ige.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_misc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_ofb.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/aes/aes_wrap.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_bitstr.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_bool.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_bytes.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_d2i_fp.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_digest.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_dup.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_enum.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_gentm.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_i2d_fp.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_int.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_mbstr.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_object.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_octet.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_print.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_set.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_sign.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_strex.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_strnid.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_time.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_type.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_utctm.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_utf8.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/a_verify.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/ameth_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/asn1_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/asn1_gen.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/asn1_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/asn1_par.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/asn_mime.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/asn_moid.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/asn_pack.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/bio_asn1.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/bio_ndef.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/d2i_pr.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/d2i_pu.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/evp_asn1.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/f_enum.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/f_int.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/f_string.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/i2d_pr.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/i2d_pu.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/n_pkey.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/nsseq.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/p5_pbe.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/p5_pbev2.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/p8_pkey.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/t_bitst.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/t_crl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/t_pkey.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/t_req.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/t_spki.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/t_x509.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/t_x509a.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/tasn_dec.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/tasn_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/tasn_fre.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/tasn_new.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/tasn_prn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/tasn_typ.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/tasn_utl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_algor.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_attrib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_bignum.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_crl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_exten.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_info.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_long.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_name.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_nx509.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_pkey.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_pubkey.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_req.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_sig.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_spki.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_val.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_x509.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/asn1/x_x509a.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bf/bf_cfb64.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bf/bf_ecb.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bf/bf_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bf/bf_ofb64.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bf/bf_skey.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/b_dump.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/b_print.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/b_sock.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/bf_buff.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/bf_nbio.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/bf_null.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/bio_cb.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/bio_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/bio_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_acpt.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_bio.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_conn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_dgram.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_fd.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_file.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_log.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_mem.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_null.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bio/bss_sock.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_add.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_asm.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_blind.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_const.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_ctx.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_depr.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_div.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_exp.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_exp2.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_gcd.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_gf2m.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_kron.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_mod.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_mont.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_mpi.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_mul.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_nist.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_prime.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_print.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_rand.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_recp.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_shift.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_sqr.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_sqrt.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/bn/bn_word.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/buffer/buf_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/buffer/buf_str.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/buffer/buffer.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/camellia/camellia.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/camellia/cmll_cbc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/camellia/cmll_cfb.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/camellia/cmll_ctr.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/camellia/cmll_ecb.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/camellia/cmll_misc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/camellia/cmll_ofb.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/camellia/cmll_utl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cast/c_cfb64.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cast/c_ecb.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cast/c_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cast/c_ofb64.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cast/c_skey.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cmac/cm_ameth.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cmac/cm_pmeth.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cmac/cmac.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_asn1.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_att.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_cd.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_dd.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_env.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_ess.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_io.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_pwri.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_sd.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cms/cms_smime.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/comp/c_rle.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/comp/c_zlib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/comp/comp_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/comp/comp_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/conf/conf_api.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/conf/conf_def.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/conf/conf_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/conf/conf_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/conf/conf_mall.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/conf/conf_mod.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/conf/conf_sap.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cpt_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cryptlib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/cversion.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/cbc_cksm.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/cbc_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/cfb64ede.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/cfb64enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/cfb_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/des_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/des_old.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/des_old2.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/ecb3_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/ecb_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/ede_cbcm_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/enc_read.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/enc_writ.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/fcrypt.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/fcrypt_b.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/ofb64ede.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/ofb64enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/ofb_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/pcbc_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/qud_cksm.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/rand_key.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/read2pwd.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/rpc_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/set_key.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/str2key.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/des/xcbc_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_ameth.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_asn1.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_check.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_depr.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_gen.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_key.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_pmeth.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dh/dh_prn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_ameth.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_asn1.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_depr.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_gen.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_key.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_ossl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_pmeth.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_prn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_sign.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dsa/dsa_vrf.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_beos.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_dl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_dlfcn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_null.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_openssl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_vms.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/dso/dso_win32.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ebcdic.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ec2_mult.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ec2_oct.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ec2_smpl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_ameth.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_asn1.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_check.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_curve.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_cvt.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_key.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_mult.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_oct.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_pmeth.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ec_print.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/eck_prn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ecp_mont.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ecp_nist.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ecp_oct.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ec/ecp_smpl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ecdh/ech_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ecdh/ech_key.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ecdh/ech_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ecdh/ech_ossl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ecdsa/ecs_asn1.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ecdsa/ecs_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ecdsa/ecs_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ecdsa/ecs_ossl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ecdsa/ecs_sign.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ecdsa/ecs_vrf.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_all.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_cnf.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_cryptodev.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_ctrl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_dyn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_fat.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_init.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_list.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_openssl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_pkey.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/eng_table.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_asnmth.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_cipher.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_dh.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_digest.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_dsa.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_ecdh.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_ecdsa.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_pkmeth.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_rand.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_rsa.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/engine/tb_store.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/err/err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/err/err_all.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/err/err_prn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/bio_b64.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/bio_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/bio_md.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/bio_ok.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/c_all.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/c_allc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/c_alld.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/digest.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/e_aes.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/e_aes_cbc_hmac_sha1.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/e_bf.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/e_camellia.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/e_cast.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/e_des.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/e_des3.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/e_idea.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/e_null.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/e_old.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/e_rc2.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/e_rc4.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/e_rc4_hmac_md5.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/e_rc5.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/e_seed.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/e_xcbc_d.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/encode.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/evp_acnf.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/evp_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/evp_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/evp_key.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/evp_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/evp_pbe.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/evp_pkey.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/m_dss.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/m_dss1.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/m_ecdsa.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/m_md2.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/m_md4.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/m_md5.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/m_mdc2.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/m_null.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/m_ripemd.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/m_sha.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/m_sha1.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/m_sigver.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/m_wp.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/names.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/p5_crpt.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/p5_crpt2.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/p_dec.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/p_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/p_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/p_open.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/p_seal.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/p_sign.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/p_verify.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/pmeth_fn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/pmeth_gn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/evp/pmeth_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ex_data.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/hmac/hm_ameth.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/hmac/hm_pmeth.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/hmac/hmac.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/idea/i_cbc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/idea/i_cfb64.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/idea/i_ecb.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/idea/i_ofb64.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/idea/i_skey.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/krb5/krb5_asn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/lhash/lh_stats.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/lhash/lhash.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/md4/md4_dgst.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/md4/md4_one.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/md5/md5_dgst.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/md5/md5_one.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/mdc2/mdc2_one.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/mdc2/mdc2dgst.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/mem.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/mem_clr.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/mem_dbg.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/modes/cbc128.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/modes/ccm128.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/modes/cfb128.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/modes/ctr128.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/modes/cts128.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/modes/gcm128.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/modes/ofb128.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/modes/xts128.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/o_dir.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/o_init.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/o_str.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/o_time.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/objects/o_names.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/objects/obj_dat.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/objects/obj_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/objects/obj_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/objects/obj_xref.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_asn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_cl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_ext.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_ht.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_prn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_srv.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ocsp/ocsp_vfy.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_all.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_info.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_oth.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_pk8.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_pkey.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_seal.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_sign.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_x509.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pem/pem_xaux.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pem/pvkfmt.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_add.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_asn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_attr.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_crpt.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_crt.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_decr.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_init.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_key.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_kiss.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_mutl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_npas.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_p8d.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_p8e.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/p12_utl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs12/pk12err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs7/bio_pk7.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs7/pk7_asn1.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs7/pk7_attr.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs7/pk7_doit.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs7/pk7_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs7/pk7_mime.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs7/pk7_smime.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pkcs7/pkcs7err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/pqueue/pqueue.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rand/md_rand.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rand/rand_egd.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rand/rand_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rand/rand_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rand/rand_nw.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rand/rand_os2.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rand/rand_unix.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rand/rand_win.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rand/randfile.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rc2/rc2_cbc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rc2/rc2_ecb.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rc2/rc2_skey.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rc2/rc2cfb64.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rc2/rc2ofb64.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rc4/rc4_enc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rc4/rc4_skey.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rc4/rc4_utl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ripemd/rmd_dgst.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ripemd/rmd_one.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_ameth.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_asn1.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_chk.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_crpt.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_depr.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_eay.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_gen.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_none.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_null.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_oaep.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_pk1.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_pmeth.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_prn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_pss.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_saos.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_sign.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_ssl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/rsa/rsa_x931.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/seed/seed.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/seed/seed_cbc.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/seed/seed_cfb.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/seed/seed_ecb.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/seed/seed_ofb.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/sha/sha1_one.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/sha/sha1dgst.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/sha/sha256.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/sha/sha512.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/sha/sha_dgst.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/sha/sha_one.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/srp/srp_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/srp/srp_vfy.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/stack/stack.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_asn1.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_conf.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_req_print.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_req_utils.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_rsp_print.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_rsp_sign.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_rsp_utils.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_rsp_verify.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ts/ts_verify_ctx.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/txt_db/txt_db.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ui/ui_compat.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ui/ui_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ui/ui_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ui/ui_openssl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/ui/ui_util.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/uid.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/whrlpool/wp_block.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/whrlpool/wp_dgst.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/by_dir.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/by_file.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_att.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_cmp.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_d2.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_def.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_err.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_ext.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_lu.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_obj.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_r2x.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_req.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_set.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_trs.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_txt.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_v3.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_vfy.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509_vpm.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509cset.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509name.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509rset.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509spki.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x509type.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509/x_all.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/pcy_cache.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/pcy_data.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/pcy_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/pcy_map.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/pcy_node.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/pcy_tree.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_addr.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_akey.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_akeya.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_alt.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_asid.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_bcons.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_bitst.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_conf.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_cpols.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_crld.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_enum.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_extku.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_genn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_ia5.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_info.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_int.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_lib.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_ncons.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_ocsp.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_pci.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_pcia.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_pcons.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_pku.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_pmaps.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_prn.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_purp.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_skey.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_sxnet.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3_utl.c",
+ "$OPENSSL_BUNDLE_DIR/crypto/x509v3/v3err.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/bio_ssl.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/d1_both.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/d1_clnt.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/d1_enc.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/d1_lib.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/d1_meth.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/d1_pkt.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/d1_srtp.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/d1_srvr.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/kssl.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s23_clnt.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s23_lib.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s23_meth.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s23_pkt.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s23_srvr.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s2_clnt.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s2_enc.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s2_lib.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s2_meth.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s2_pkt.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s2_srvr.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s3_both.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s3_cbc.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s3_clnt.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s3_enc.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s3_lib.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s3_meth.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s3_pkt.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/s3_srvr.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/ssl_algs.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/ssl_asn1.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/ssl_cert.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/ssl_ciph.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/ssl_err.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/ssl_err2.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/ssl_lib.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/ssl_rsa.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/ssl_sess.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/ssl_stat.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/ssl_txt.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/t1_clnt.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/t1_enc.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/t1_lib.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/t1_meth.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/t1_reneg.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/t1_srvr.c",
+ "$OPENSSL_BUNDLE_DIR/ssl/tls_srp.c",
+ ])
+ openssl_env.WriteVal("$OPENSSL_BUNDLE_DIR/crypto/buildinf.h", openssl_env.Value("#define CFLAGS \"\"\n#define PLATFORM \"-\"\n#define DATE \"-\""))
diff --git a/3rdParty/SQLite/SConscript b/3rdParty/SQLite/SConscript
index ffa8946..1f4bcd7 100644
--- a/3rdParty/SQLite/SConscript
+++ b/3rdParty/SQLite/SConscript
@@ -6,14 +6,14 @@ if env.get("SQLITE_BUNDLED", False) :
# Flags
################################################################################
- if env["SCONS_STAGE"] == "flags" :
- env["SQLITE_FLAGS"] = {
- "CPPPATH": [Dir(".")],
- "LIBPATH": [Dir(".")],
- }
+ if env["SCONS_STAGE"] == "flags" :
+ env["SQLITE_FLAGS"] = {
+ "CPPPATH": [Dir(".")],
+ "LIBPATH": [Dir(".")],
+ }
- if env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
- myenv.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
- myenv.Append(CPPPATH = ["."])
- env["SQLITE_OBJECTS"] = myenv.SwiftenObject(["sqlite3.c"])
+ if env["SCONS_STAGE"] == "build" :
+ myenv = env.Clone()
+ myenv.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
+ myenv.Append(CPPPATH = ["."])
+ env["SQLITE_OBJECTS"] = myenv.SwiftenObject(["sqlite3.c"])
diff --git a/3rdParty/Snarl/SConscript b/3rdParty/Snarl/SConscript
index 8733390..a93282c 100644
--- a/3rdParty/Snarl/SConscript
+++ b/3rdParty/Snarl/SConscript
@@ -5,14 +5,14 @@ Import("env")
################################################################################
if env.get("HAVE_SNARL", False) :
- if env["SCONS_STAGE"] == "flags" :
- env["SNARL_FLAGS"] = {
- "CPPPATH": [Dir(".")],
- "LIBPATH": [Dir(".")],
- "LIBS": ["Snarl"],
- }
+ if env["SCONS_STAGE"] == "flags" :
+ env["SNARL_FLAGS"] = {
+ "CPPPATH": [Dir(".")],
+ "LIBPATH": [Dir(".")],
+ "LIBS": ["Snarl"],
+ }
- elif env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
- myenv.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
- myenv.StaticLibrary("Snarl", ["SnarlInterface.cpp"], CPPPATH = ["."])
+ elif env["SCONS_STAGE"] == "build" :
+ myenv = env.Clone()
+ myenv.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
+ myenv.StaticLibrary("Snarl", ["SnarlInterface.cpp"], CPPPATH = ["."])
diff --git a/3rdParty/Unbound/SConscript b/3rdParty/Unbound/SConscript
index b0e6f42..fee2fa3 100644
--- a/3rdParty/Unbound/SConscript
+++ b/3rdParty/Unbound/SConscript
@@ -2,109 +2,109 @@ Import("env")
if env.get("UNBOUND_BUNDLED", False) :
- if env["PLATFORM"] == "win32" :
- cppflags = ["/I" + Dir("#/3rdParty/Unbound/src/unbound").abspath]
- else :
- cppflags = [("-isystem", Dir("#/3rdParty/Unbound/src/unbound").abspath)]
+ if env["PLATFORM"] == "win32" :
+ cppflags = ["/I" + Dir("#/3rdParty/Unbound/src/unbound").abspath]
+ else :
+ cppflags = [("-isystem", Dir("#/3rdParty/Unbound/src/unbound").abspath)]
################################################################################
# Flags
################################################################################
-
- if env["SCONS_STAGE"] == "flags" :
- env["UNBOUND_FLAGS"] = {
- "CPPPATH": [Dir("src/unbound/libunbound")],
- "CPPFLAGS": cppflags,
- "LIBPATH": [env.Dir(".")],
- "LIBS": ["Swiften_Unbound"],
- }
- if env["target"] == "android" :
- env["UNBOUND_FLAGS"]["CPPPATH"].append(Dir("src/android/compat"))
+
+ if env["SCONS_STAGE"] == "flags" :
+ env["UNBOUND_FLAGS"] = {
+ "CPPPATH": [Dir("src/unbound/libunbound")],
+ "CPPFLAGS": cppflags,
+ "LIBPATH": [env.Dir(".")],
+ "LIBS": ["Swiften_Unbound"],
+ }
+ if env["target"] == "android" :
+ env["UNBOUND_FLAGS"]["CPPPATH"].append(Dir("src/android/compat"))
################################################################################
# Build
################################################################################
- if env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
- myenv.Append(CPPDEFINES = [("UNBOUND_STATICLIB")])
- myenv.Append(CPPPATH = ["../Ldns/src/ldns", "src/unbound", "."])
- if env["target"] == "android" :
- myenv.Append(CPPPATH = ["src/android/compat", "src/android/config"])
- myenv.Append(CPPPATH = ["src/android/dns"])
- myenv.Append(CPPPATH = ["../Ldns/src/android"])
- myenv.UseFlags(env["OPENSSL_FLAGS"])
+ if env["SCONS_STAGE"] == "build" :
+ myenv = env.Clone()
+ myenv.Append(CPPDEFINES = [("UNBOUND_STATICLIB")])
+ myenv.Append(CPPPATH = ["../Ldns/src/ldns", "src/unbound", "."])
+ if env["target"] == "android" :
+ myenv.Append(CPPPATH = ["src/android/compat", "src/android/config"])
+ myenv.Append(CPPPATH = ["src/android/dns"])
+ myenv.Append(CPPPATH = ["../Ldns/src/android"])
+ myenv.UseFlags(env["OPENSSL_FLAGS"])
- unbound_objects = [
- "src/unbound/daemon/acl_list.c",
- "src/unbound/daemon/cachedump.c",
- "src/unbound/daemon/daemon.c",
- "src/unbound/daemon/remote.c",
- "src/unbound/daemon/stats.c",
- "src/unbound/daemon/unbound.c",
- # duplicate symbols: "src/src/daemon/worker.c",
- "src/unbound/iterator/iter_delegpt.c",
- "src/unbound/iterator/iter_donotq.c",
- "src/unbound/iterator/iter_fwd.c",
- "src/unbound/iterator/iter_hints.c",
- "src/unbound/iterator/iter_priv.c",
- "src/unbound/iterator/iter_resptype.c",
- "src/unbound/iterator/iter_scrub.c",
- "src/unbound/iterator/iter_utils.c",
- "src/unbound/iterator/iterator.c",
- "src/unbound/libunbound/context.c",
- "src/unbound/libunbound/libunbound.c",
- "src/unbound/libunbound/libworker.c",
- "src/unbound/services/cache/dns.c",
- "src/unbound/services/cache/infra.c",
- "src/unbound/services/cache/rrset.c",
- "src/unbound/services/listen_dnsport.c",
- "src/unbound/services/localzone.c",
- "src/unbound/services/mesh.c",
- "src/unbound/services/modstack.c",
- "src/unbound/services/outbound_list.c",
- "src/unbound/services/outside_network.c",
- "src/unbound/util/alloc.c",
- "src/unbound/util/config_file.c",
- "src/unbound/util/configlexer.c",
- "src/unbound/util/configparser.c",
- "src/unbound/util/data/dname.c",
- "src/unbound/util/data/msgencode.c",
- "src/unbound/util/data/msgparse.c",
- "src/unbound/util/data/msgreply.c",
- "src/unbound/util/data/packed_rrset.c",
- "src/unbound/util/fptr_wlist.c",
- "src/unbound/util/locks.c",
- "src/unbound/util/log.c",
- "src/unbound/util/mini_event.c",
- "src/unbound/util/module.c",
- "src/unbound/util/net_help.c",
- "src/unbound/util/netevent.c",
- "src/unbound/util/random.c",
- "src/unbound/util/rbtree.c",
- "src/unbound/util/regional.c",
- "src/unbound/util/rtt.c",
- "src/unbound/util/storage/dnstree.c",
- "src/unbound/util/storage/lookup3.c",
- "src/unbound/util/storage/lruhash.c",
- "src/unbound/util/storage/slabhash.c",
- "src/unbound/util/timehist.c",
- "src/unbound/util/tube.c",
- #src/unbound/util/winsock_event.c
- "src/unbound/validator/autotrust.c",
- "src/unbound/validator/val_anchor.c",
- "src/unbound/validator/val_kcache.c",
- "src/unbound/validator/val_kentry.c",
- "src/unbound/validator/val_neg.c",
- "src/unbound/validator/val_nsec.c",
- "src/unbound/validator/val_nsec3.c",
- "src/unbound/validator/val_secalgo.c",
- "src/unbound/validator/val_sigcrypt.c",
- "src/unbound/validator/val_utils.c",
- "src/unbound/validator/validator.c",
- ]
- if env["target"] == "android" :
- unbound_objects.append("src/android/compat/glob.c")
- unbound_objects.append("src/android/dns/dns_android.cpp")
- env["UNBOUND_OBJECTS"] = myenv.SwiftenObject(unbound_objects)
+ unbound_objects = [
+ "src/unbound/daemon/acl_list.c",
+ "src/unbound/daemon/cachedump.c",
+ "src/unbound/daemon/daemon.c",
+ "src/unbound/daemon/remote.c",
+ "src/unbound/daemon/stats.c",
+ "src/unbound/daemon/unbound.c",
+ # duplicate symbols: "src/src/daemon/worker.c",
+ "src/unbound/iterator/iter_delegpt.c",
+ "src/unbound/iterator/iter_donotq.c",
+ "src/unbound/iterator/iter_fwd.c",
+ "src/unbound/iterator/iter_hints.c",
+ "src/unbound/iterator/iter_priv.c",
+ "src/unbound/iterator/iter_resptype.c",
+ "src/unbound/iterator/iter_scrub.c",
+ "src/unbound/iterator/iter_utils.c",
+ "src/unbound/iterator/iterator.c",
+ "src/unbound/libunbound/context.c",
+ "src/unbound/libunbound/libunbound.c",
+ "src/unbound/libunbound/libworker.c",
+ "src/unbound/services/cache/dns.c",
+ "src/unbound/services/cache/infra.c",
+ "src/unbound/services/cache/rrset.c",
+ "src/unbound/services/listen_dnsport.c",
+ "src/unbound/services/localzone.c",
+ "src/unbound/services/mesh.c",
+ "src/unbound/services/modstack.c",
+ "src/unbound/services/outbound_list.c",
+ "src/unbound/services/outside_network.c",
+ "src/unbound/util/alloc.c",
+ "src/unbound/util/config_file.c",
+ "src/unbound/util/configlexer.c",
+ "src/unbound/util/configparser.c",
+ "src/unbound/util/data/dname.c",
+ "src/unbound/util/data/msgencode.c",
+ "src/unbound/util/data/msgparse.c",
+ "src/unbound/util/data/msgreply.c",
+ "src/unbound/util/data/packed_rrset.c",
+ "src/unbound/util/fptr_wlist.c",
+ "src/unbound/util/locks.c",
+ "src/unbound/util/log.c",
+ "src/unbound/util/mini_event.c",
+ "src/unbound/util/module.c",
+ "src/unbound/util/net_help.c",
+ "src/unbound/util/netevent.c",
+ "src/unbound/util/random.c",
+ "src/unbound/util/rbtree.c",
+ "src/unbound/util/regional.c",
+ "src/unbound/util/rtt.c",
+ "src/unbound/util/storage/dnstree.c",
+ "src/unbound/util/storage/lookup3.c",
+ "src/unbound/util/storage/lruhash.c",
+ "src/unbound/util/storage/slabhash.c",
+ "src/unbound/util/timehist.c",
+ "src/unbound/util/tube.c",
+ #src/unbound/util/winsock_event.c
+ "src/unbound/validator/autotrust.c",
+ "src/unbound/validator/val_anchor.c",
+ "src/unbound/validator/val_kcache.c",
+ "src/unbound/validator/val_kentry.c",
+ "src/unbound/validator/val_neg.c",
+ "src/unbound/validator/val_nsec.c",
+ "src/unbound/validator/val_nsec3.c",
+ "src/unbound/validator/val_secalgo.c",
+ "src/unbound/validator/val_sigcrypt.c",
+ "src/unbound/validator/val_utils.c",
+ "src/unbound/validator/validator.c",
+ ]
+ if env["target"] == "android" :
+ unbound_objects.append("src/android/compat/glob.c")
+ unbound_objects.append("src/android/dns/dns_android.cpp")
+ env["UNBOUND_OBJECTS"] = myenv.SwiftenObject(unbound_objects)
diff --git a/3rdParty/ZLib/SConscript b/3rdParty/ZLib/SConscript
index 3625ee6..f6f96ec 100644
--- a/3rdParty/ZLib/SConscript
+++ b/3rdParty/ZLib/SConscript
@@ -1,24 +1,24 @@
Import("env")
if env.get("ZLIB_BUNDLED", False) :
- if env["SCONS_STAGE"] == "flags" :
- env["ZLIB_FLAGS"] = {
- "CPPPATH": [Dir("src")],
- "LIBPATH": [Dir(".")],
- }
+ if env["SCONS_STAGE"] == "flags" :
+ env["ZLIB_FLAGS"] = {
+ "CPPPATH": [Dir("src")],
+ "LIBPATH": [Dir(".")],
+ }
- if env["SCONS_STAGE"] == "build" :
- env["ZLIB_OBJECTS"] = env.SwiftenObject([
- "src/adler32.c",
- "src/compress.c",
- "src/crc32.c",
- "src/deflate.c",
- "src/gzio.c",
- "src/infback.c",
- "src/inffast.c",
- "src/inflate.c",
- "src/inftrees.c",
- "src/trees.c",
- "src/uncompr.c",
- "src/zutil.c"
- ])
+ if env["SCONS_STAGE"] == "build" :
+ env["ZLIB_OBJECTS"] = env.SwiftenObject([
+ "src/adler32.c",
+ "src/compress.c",
+ "src/crc32.c",
+ "src/deflate.c",
+ "src/gzio.c",
+ "src/infback.c",
+ "src/inffast.c",
+ "src/inflate.c",
+ "src/inftrees.c",
+ "src/trees.c",
+ "src/uncompr.c",
+ "src/zutil.c"
+ ])
diff --git a/BuildTools/CheckHeaders.py b/BuildTools/CheckHeaders.py
index 8d20f4e..79ff85c 100755
--- a/BuildTools/CheckHeaders.py
+++ b/BuildTools/CheckHeaders.py
@@ -3,18 +3,18 @@
import os, sys
FORBIDDEN_INCLUDES = [
- ("iostream", ["Swiften/Base/format.h"]),
- ("Base/Log.h", []),
- ("Base/format.h", []),
- ("algorithm", ["Swiften/Base/Algorithm.h", "Swiften/Base/SafeAllocator.h", "Swiften/Base/Listenable.h", "Swiften/Base/Concat.h"]),
- ("boost/bind.hpp", ["Swiften/Base/Listenable.h", "Swiften/FileTransfer/S5BTransportSession.h"]),
- ("boost/filesystem.hpp", []),
- ("Base/foreach.h", []),
- ("boost/date_time/date_time.hpp", []),
- ("boost/filesystem/filesystem.hpp", []),
-
- # To avoid
- ("Base/Algorithm.h", ["Swiften/StringCodecs/HMAC.h"]),
+ ("iostream", ["Swiften/Base/format.h"]),
+ ("Base/Log.h", []),
+ ("Base/format.h", []),
+ ("algorithm", ["Swiften/Base/Algorithm.h", "Swiften/Base/SafeAllocator.h", "Swiften/Base/Listenable.h", "Swiften/Base/Concat.h"]),
+ ("boost/bind.hpp", ["Swiften/Base/Listenable.h", "Swiften/FileTransfer/S5BTransportSession.h"]),
+ ("boost/filesystem.hpp", []),
+ ("Base/foreach.h", []),
+ ("boost/date_time/date_time.hpp", []),
+ ("boost/filesystem/filesystem.hpp", []),
+
+ # To avoid
+ ("Base/Algorithm.h", ["Swiften/StringCodecs/HMAC.h"]),
]
foundBadHeaders = False
@@ -22,21 +22,21 @@ foundBadHeaders = False
filename = sys.argv[1]
if "3rdParty" in filename or ".sconf" in filename or ".framework" in filename or not filename.endswith(".h") :
- sys.exit(0)
+ sys.exit(0)
if not "Swiften" in filename :
- sys.exit(0)
+ sys.exit(0)
if filename.endswith("Swiften.h") :
- sys.exit(0)
+ sys.exit(0)
file = open(filename, "r")
for line in file.readlines() :
- if not "#include" in line :
- continue
- if "Base/Log.h" in filename :
- continue
- for forbiddenInclude, ignores in FORBIDDEN_INCLUDES :
- if forbiddenInclude in line and len([x for x in ignores if x in filename]) == 0 :
- print "Found " + forbiddenInclude + " include in " + filename
- foundBadHeaders = True
+ if not "#include" in line :
+ continue
+ if "Base/Log.h" in filename :
+ continue
+ for forbiddenInclude, ignores in FORBIDDEN_INCLUDES :
+ if forbiddenInclude in line and len([x for x in ignores if x in filename]) == 0 :
+ print "Found " + forbiddenInclude + " include in " + filename
+ foundBadHeaders = True
sys.exit(foundBadHeaders)
diff --git a/BuildTools/CheckTests.py b/BuildTools/CheckTests.py
index 0ea56bd..7f160e7 100755
--- a/BuildTools/CheckTests.py
+++ b/BuildTools/CheckTests.py
@@ -5,29 +5,29 @@ import os, sys, re
foundUnregisteredTests = False
for (path, dirs, files) in os.walk(".") :
- if not "3rdParty" in path :
- for filename in [os.path.join(path, file) for file in files if file.endswith("Test.cpp") and file != "IdleQuerierTest.cpp" and file != "NotifierTest.cpp" and file != "ClientTest.cpp" and file != "ConnectivityTest.cpp" and file != "ReconnectTest.cpp"] :
- file = open(filename, "r")
- isRegistered = False
- registeredTests = set()
- declaredTests = set()
- for line in file.readlines() :
- m = re.match("\s*CPPUNIT_TEST_SUITE_REGISTRATION\((.*)\)", line)
- if m :
- isRegistered = True
- m = re.match("\s*CPPUNIT_TEST\((.*)\)", line)
- if m :
- registeredTests.add(m.group(1))
- continue
- m = re.match("\s*void (test.*)\(\)", line)
- if m :
- declaredTests.add(m.group(1))
- if not isRegistered :
- print filename + ": Registration missing"
- foundUnregisteredTests = True
- if registeredTests - declaredTests != set([]) :
- print filename + ": " + str(registeredTests - declaredTests)
- foundUnregisteredTests = True
- file.close()
+ if not "3rdParty" in path :
+ for filename in [os.path.join(path, file) for file in files if file.endswith("Test.cpp") and file != "IdleQuerierTest.cpp" and file != "NotifierTest.cpp" and file != "ClientTest.cpp" and file != "ConnectivityTest.cpp" and file != "ReconnectTest.cpp"] :
+ file = open(filename, "r")
+ isRegistered = False
+ registeredTests = set()
+ declaredTests = set()
+ for line in file.readlines() :
+ m = re.match("\s*CPPUNIT_TEST_SUITE_REGISTRATION\((.*)\)", line)
+ if m :
+ isRegistered = True
+ m = re.match("\s*CPPUNIT_TEST\((.*)\)", line)
+ if m :
+ registeredTests.add(m.group(1))
+ continue
+ m = re.match("\s*void (test.*)\(\)", line)
+ if m :
+ declaredTests.add(m.group(1))
+ if not isRegistered :
+ print filename + ": Registration missing"
+ foundUnregisteredTests = True
+ if registeredTests - declaredTests != set([]) :
+ print filename + ": " + str(registeredTests - declaredTests)
+ foundUnregisteredTests = True
+ file.close()
sys.exit(foundUnregisteredTests)
diff --git a/BuildTools/CheckTranslations.py b/BuildTools/CheckTranslations.py
index a9b6afd..615f81f 100755
--- a/BuildTools/CheckTranslations.py
+++ b/BuildTools/CheckTranslations.py
@@ -3,48 +3,48 @@
import os, sys, re, xml.dom.minidom
def getText(nodelist):
- text = ""
- for node in nodelist:
- if node.nodeType == node.TEXT_NODE:
- text += node.data
- return text
+ text = ""
+ for node in nodelist:
+ if node.nodeType == node.TEXT_NODE:
+ text += node.data
+ return text
desktop_generic_names = set()
desktop_comments = set()
f = open("Swift/resources/swift.desktop", "r")
for l in f.readlines() :
- m = re.match("GenericName\[(\w+)\].*", l)
- if m :
- desktop_generic_names.add(m.group(1))
- m = re.match("Comment\[(\w+)\].*", l)
- if m :
- desktop_comments.add(m.group(1))
+ m = re.match("GenericName\[(\w+)\].*", l)
+ if m :
+ desktop_generic_names.add(m.group(1))
+ m = re.match("Comment\[(\w+)\].*", l)
+ if m :
+ desktop_comments.add(m.group(1))
f.close()
for filename in os.listdir("Swift/Translations") :
- m = re.match("swift_(.*)\.ts", filename)
- if m :
- language = m.group(1)
- finished = True
- f = open("Swift/Translations/" + filename, "r")
- document = xml.dom.minidom.parse(f)
- f.close()
+ m = re.match("swift_(.*)\.ts", filename)
+ if m :
+ language = m.group(1)
+ finished = True
+ f = open("Swift/Translations/" + filename, "r")
+ document = xml.dom.minidom.parse(f)
+ f.close()
- for message in document.getElementsByTagName("message") :
- source = message.getElementsByTagName("source")[0]
- sourceText = getText(source.childNodes)
- sourcePlaceholders = set(re.findall("%\d+%?", sourceText))
- translation = message.getElementsByTagName("translation")[0]
- if "type" in translation.attributes.keys() and translation.attributes["type"]. value == "unfinished" :
- finished = False
- translationText = getText(translation.childNodes)
- translationPlaceholders = set(re.findall("%\d+%?", translationText))
- if translationPlaceholders != sourcePlaceholders :
- print "[Error] " + filename + ": Placeholder mismatch in translation '" + sourceText + "'"
- if not finished :
- print "[Warning] " + filename + ": Unfinished"
- if language not in desktop_generic_names and language != "en" :
- print "[Warning] GenericName field missing in desktop entry for " + language
- if language not in desktop_comments and language != "en" :
- print "[Warning] Comment field missing in desktop entry for " + language
+ for message in document.getElementsByTagName("message") :
+ source = message.getElementsByTagName("source")[0]
+ sourceText = getText(source.childNodes)
+ sourcePlaceholders = set(re.findall("%\d+%?", sourceText))
+ translation = message.getElementsByTagName("translation")[0]
+ if "type" in translation.attributes.keys() and translation.attributes["type"]. value == "unfinished" :
+ finished = False
+ translationText = getText(translation.childNodes)
+ translationPlaceholders = set(re.findall("%\d+%?", translationText))
+ if translationPlaceholders != sourcePlaceholders :
+ print "[Error] " + filename + ": Placeholder mismatch in translation '" + sourceText + "'"
+ if not finished :
+ print "[Warning] " + filename + ": Unfinished"
+ if language not in desktop_generic_names and language != "en" :
+ print "[Warning] GenericName field missing in desktop entry for " + language
+ if language not in desktop_comments and language != "en" :
+ print "[Warning] Comment field missing in desktop entry for " + language
diff --git a/BuildTools/Copyright/find-contribs.py b/BuildTools/Copyright/find-contribs.py
index 63c454e..ac30afb 100755
--- a/BuildTools/Copyright/find-contribs.py
+++ b/BuildTools/Copyright/find-contribs.py
@@ -3,46 +3,46 @@
import subprocess
def print_log(full_log):
- full_log_lines = full_log.split("\n")
-
- commits = []
-
- commit_bit = "commit "
- author_bit = "Author: "
- date_bit = "Date: "
-
- commit = None
- for line in full_log_lines:
-
- if line[0:len(commit_bit)] == commit_bit:
- if commit:
- commits.append(commit)
- commit = {'text':''}
- handled = False
- for bit in [commit_bit, author_bit, date_bit]:
- if line[0:len(bit)] == bit:
- commit[bit] = line
- handled = True
- if not handled:
- commit['text'] += line
-
- commits.append(commit)
-
- contributions = []
-
- for commit in commits:
- if not "git@kismith.co.uk" in commit[author_bit] and not "git@el-tramo.be" in commit[author_bit]:
- contributions.append(commit)
-
- #print contributions
- contributors = {}
- for commit in contributions:
- if not commit[author_bit] in contributors:
- contributors[commit[author_bit]] = []
- contributors[commit[author_bit]].append(commit[commit_bit])
-
- for contributor in contributors:
- print contributor + " has contributed patches " + ", ".join([commit[len(commit_bit):] for commit in contributors[contributor]])
+ full_log_lines = full_log.split("\n")
+
+ commits = []
+
+ commit_bit = "commit "
+ author_bit = "Author: "
+ date_bit = "Date: "
+
+ commit = None
+ for line in full_log_lines:
+
+ if line[0:len(commit_bit)] == commit_bit:
+ if commit:
+ commits.append(commit)
+ commit = {'text':''}
+ handled = False
+ for bit in [commit_bit, author_bit, date_bit]:
+ if line[0:len(bit)] == bit:
+ commit[bit] = line
+ handled = True
+ if not handled:
+ commit['text'] += line
+
+ commits.append(commit)
+
+ contributions = []
+
+ for commit in commits:
+ if not "git@kismith.co.uk" in commit[author_bit] and not "git@el-tramo.be" in commit[author_bit]:
+ contributions.append(commit)
+
+ #print contributions
+ contributors = {}
+ for commit in contributions:
+ if not commit[author_bit] in contributors:
+ contributors[commit[author_bit]] = []
+ contributors[commit[author_bit]].append(commit[commit_bit])
+
+ for contributor in contributors:
+ print contributor + " has contributed patches " + ", ".join([commit[len(commit_bit):] for commit in contributors[contributor]])
full_swiften_log = subprocess.check_output(["git", "log", "--", "Swiften"])
diff --git a/BuildTools/Copyrighter.py b/BuildTools/Copyrighter.py
index a3b6379..a16050c 100755
--- a/BuildTools/Copyrighter.py
+++ b/BuildTools/Copyrighter.py
@@ -11,32 +11,32 @@ LICENSE_DIR = "Documentation/Licenses"
reParseLicenseCommentBlocks = re.compile(ur'(\/\*\n\s\*\sCopyright \(c\) (?P<startYear>\d\d\d\d)(-(?P<endYear>\d\d\d\d))? (?P<author>[^\n\.]*)\.?\n.\* (?P<license>[^\n]*)\n \* (?P<seeMore>[^\n]+)\n *\*\/)')
class License :
- def __init__(self, name, file) :
- self.name = name
- self.file = file
+ def __init__(self, name, file) :
+ self.name = name
+ self.file = file
licenses = {
- "default": License("All rights reserved.", "See the COPYING file for more information."),
- "gpl3" : License("Licensed under the GNU General Public License v3.", "See " + LICENSE_DIR + "/" + "GPLv3.txt" + " for more information."),
- "mit" : License("Licensed under the MIT License.", "See " + LICENSE_DIR + "/" + "MIT.txt" + " for more information."),
- }
+ "default": License("All rights reserved.", "See the COPYING file for more information."),
+ "gpl3" : License("Licensed under the GNU General Public License v3.", "See " + LICENSE_DIR + "/" + "GPLv3.txt" + " for more information."),
+ "mit" : License("Licensed under the MIT License.", "See " + LICENSE_DIR + "/" + "MIT.txt" + " for more information."),
+ }
class Copyright :
- def __init__(self, author, year, license) :
- self.author = author
- self.year = year
- self.license = license
-
- def to_string(self, comment_chars) :
- return "\n".join([
- comment_chars[0],
- comment_chars[1] + " Copyright (c) %(year)s %(name)s" % {"year" : self.year, "name" : self.author },
- comment_chars[1] + licenses[self.license].name,
- comment_chars[1] + licenses[self.license].file,
- comment_chars[2],
- "\n"])
- def __str__(self):
- return """/*
+ def __init__(self, author, year, license) :
+ self.author = author
+ self.year = year
+ self.license = license
+
+ def to_string(self, comment_chars) :
+ return "\n".join([
+ comment_chars[0],
+ comment_chars[1] + " Copyright (c) %(year)s %(name)s" % {"year" : self.year, "name" : self.author },
+ comment_chars[1] + licenses[self.license].name,
+ comment_chars[1] + licenses[self.license].file,
+ comment_chars[2],
+ "\n"])
+ def __str__(self):
+ return """/*
* Copyright (c) %s %s.
* %s
* %s
@@ -44,145 +44,145 @@ class Copyright :
""" % (self.year, self.author, licenses[self.license].name, licenses[self.license].file)
class ContentRef :
- def __init__(self, begin, end, content):
- self.begin = begin
- self.end = end
- self.content = content
+ def __init__(self, begin, end, content):
+ self.begin = begin
+ self.end = end
+ self.content = content
class CopyrightBlock :
- def __init__(self, yearBegin, yearEnd, author, license, seeMore, total):
- self.yearBegin = yearBegin
- self.yearEnd = yearEnd
- self.author = author
- self.license = license
- self.seeMore = seeMore
- self.total = total
+ def __init__(self, yearBegin, yearEnd, author, license, seeMore, total):
+ self.yearBegin = yearBegin
+ self.yearEnd = yearEnd
+ self.author = author
+ self.license = license
+ self.seeMore = seeMore
+ self.total = total
def cref_from_group(match, group):
- if match.group(group):
- return ContentRef(match.start(group), match.end(group), match.group(group))
- else :
- return None
+ if match.group(group):
+ return ContentRef(match.start(group), match.end(group), match.group(group))
+ else :
+ return None
def parse_file_new(filename):
- copyrightBlocks = []
- with open(filename, 'r') as file:
- content = file.read()
- for match in re.finditer(reParseLicenseCommentBlocks, content):
- copyrightBlocks.append(CopyrightBlock(
- cref_from_group(match, "startYear"),
- cref_from_group(match, "endYear"),
- cref_from_group(match, "author"),
- cref_from_group(match, "license"),
- cref_from_group(match, "seeMore"),
- cref_from_group(match, 0)))
- return copyrightBlocks
+ copyrightBlocks = []
+ with open(filename, 'r') as file:
+ content = file.read()
+ for match in re.finditer(reParseLicenseCommentBlocks, content):
+ copyrightBlocks.append(CopyrightBlock(
+ cref_from_group(match, "startYear"),
+ cref_from_group(match, "endYear"),
+ cref_from_group(match, "author"),
+ cref_from_group(match, "license"),
+ cref_from_group(match, "seeMore"),
+ cref_from_group(match, 0)))
+ return copyrightBlocks
def get_userinfo() :
- p = subprocess.Popen("git config user.name", shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=(os.name != "nt"))
- username = p.stdout.read().rstrip()
- p.stdin.close()
- if p.wait() != 0 :
- return None
- p = subprocess.Popen("git config user.email", shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=(os.name != "nt"))
- email = p.stdout.read().rstrip()
- p.stdin.close()
- if p.wait() != 0 :
- return None
- return (username, email)
+ p = subprocess.Popen("git config user.name", shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=(os.name != "nt"))
+ username = p.stdout.read().rstrip()
+ p.stdin.close()
+ if p.wait() != 0 :
+ return None
+ p = subprocess.Popen("git config user.email", shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=(os.name != "nt"))
+ email = p.stdout.read().rstrip()
+ p.stdin.close()
+ if p.wait() != 0 :
+ return None
+ return (username, email)
def get_copyright(username, email) :
- if email in ["git@el-tramo.be", "git@kismith.co.uk"] :
- license = DEFAULT_LICENSE
- else :
- license = CONTRIBUTOR_LICENSE
- return Copyright(username, datetime.date.today().strftime("%Y"), license)
+ if email in ["git@el-tramo.be", "git@kismith.co.uk"] :
+ license = DEFAULT_LICENSE
+ else :
+ license = CONTRIBUTOR_LICENSE
+ return Copyright(username, datetime.date.today().strftime("%Y"), license)
def get_copyright_setting(username, email) :
- config = os.getenv("SWIFT_LICENSE_CONFIG")
- if config :
- copyrightHolder, license = config.split("|")
- else :
- if email.endswith("isode.com") or email in ["git@el-tramo.be", "git@kismith.co.uk", "tm@ayena.de"] :
- copyrightHolder, license = "Isode Limited", "default"
- else :
- copyrightHolder, license = username, "mit"
- return Copyright(copyrightHolder, datetime.date.today().year, license)
+ config = os.getenv("SWIFT_LICENSE_CONFIG")
+ if config :
+ copyrightHolder, license = config.split("|")
+ else :
+ if email.endswith("isode.com") or email in ["git@el-tramo.be", "git@kismith.co.uk", "tm@ayena.de"] :
+ copyrightHolder, license = "Isode Limited", "default"
+ else :
+ copyrightHolder, license = username, "mit"
+ return Copyright(copyrightHolder, datetime.date.today().year, license)
def check_copyright(filename, hints) :
- copyrightBlocks = parse_file_new(filename)
- if copyrightBlocks :
- # looking for copyright block for current author
- username, email = get_userinfo()
- copyrightSetting = get_copyright_setting(username, email)
- for block in copyrightBlocks :
- if block.author.content == copyrightSetting.author:
- year = block.yearBegin.content if not block.yearEnd else block.yearEnd.content
- if int(year) == copyrightSetting.year:
- return True
- else :
- if hints :
- print "Copyright block for " + copyrightSetting.author + " does not cover current year in: " + filename
- return False
- if hints :
- print "Missing copyright block for " + copyrightSetting.author + " in: " + filename
- return False
- else :
- if hints :
- print "No copyright found in: " + filename
- return False
+ copyrightBlocks = parse_file_new(filename)
+ if copyrightBlocks :
+ # looking for copyright block for current author
+ username, email = get_userinfo()
+ copyrightSetting = get_copyright_setting(username, email)
+ for block in copyrightBlocks :
+ if block.author.content == copyrightSetting.author:
+ year = block.yearBegin.content if not block.yearEnd else block.yearEnd.content
+ if int(year) == copyrightSetting.year:
+ return True
+ else :
+ if hints :
+ print "Copyright block for " + copyrightSetting.author + " does not cover current year in: " + filename
+ return False
+ if hints :
+ print "Missing copyright block for " + copyrightSetting.author + " in: " + filename
+ return False
+ else :
+ if hints :
+ print "No copyright found in: " + filename
+ return False
def replace_data_in_file(filename, begin, end, replaceWith) :
- with open(filename, 'r') as file:
- content = file.read()
- with open(filename, 'w') as file:
- file.write(content[:begin] + replaceWith + content[end:])
+ with open(filename, 'r') as file:
+ content = file.read()
+ with open(filename, 'w') as file:
+ file.write(content[:begin] + replaceWith + content[end:])
def set_or_update_copyright(filename) :
- if check_copyright(filename, False) :
- print "No update required for file: " + filename
- else :
- copyrightBlocks = parse_file_new(filename)
- username, email = get_userinfo()
- copyrightSetting = get_copyright_setting(username, email)
- lastBlock = 0
- for block in copyrightBlocks :
- if block.author.content == copyrightSetting.author :
- if not block.yearEnd :
- # replace year with range
- replace_data_in_file(filename, block.yearBegin.begin, block.yearBegin.end, "%s-%s" % (block.yearBegin.content, str(copyrightSetting.year)))
- else :
- # replace end of range with current year
- replace_data_in_file(filename, block.yearEnd.begin, block.yearEnd.end, "%s" % str(copyrightSetting.year))
- return
- lastBlock = block.total.end
-
- # No copyright block found. Append a new one.
- replace_data_in_file(filename, lastBlock+1, lastBlock+1, "\n" + str(copyrightSetting))
+ if check_copyright(filename, False) :
+ print "No update required for file: " + filename
+ else :
+ copyrightBlocks = parse_file_new(filename)
+ username, email = get_userinfo()
+ copyrightSetting = get_copyright_setting(username, email)
+ lastBlock = 0
+ for block in copyrightBlocks :
+ if block.author.content == copyrightSetting.author :
+ if not block.yearEnd :
+ # replace year with range
+ replace_data_in_file(filename, block.yearBegin.begin, block.yearBegin.end, "%s-%s" % (block.yearBegin.content, str(copyrightSetting.year)))
+ else :
+ # replace end of range with current year
+ replace_data_in_file(filename, block.yearEnd.begin, block.yearEnd.end, "%s" % str(copyrightSetting.year))
+ return
+ lastBlock = block.total.end
+
+ # No copyright block found. Append a new one.
+ replace_data_in_file(filename, lastBlock+1, lastBlock+1, "\n" + str(copyrightSetting))
def print_help() :
- print """Usage:
- Copyrighter.py check-copyright $filename
- Cheks for the existence of a copyright comment block.
+ print """Usage:
+ Copyrighter.py check-copyright $filename
+ Cheks for the existence of a copyright comment block.
- Copyrighter.py set-copyright $filename
- Adds or updates the existing copyright comment block.
+ Copyrighter.py set-copyright $filename
+ Adds or updates the existing copyright comment block.
- License setting:
- A users license configuration can be set via the SWIFT_LICENSE_CONFIG environment variable
- in the format "$copyright holder|$license", e.g. "Jane Doe|mit". Possible values for
- $license are default, mit and gpl.
- """
+ License setting:
+ A users license configuration can be set via the SWIFT_LICENSE_CONFIG environment variable
+ in the format "$copyright holder|$license", e.g. "Jane Doe|mit". Possible values for
+ $license are default, mit and gpl.
+ """
if sys.argv[1] == "check-copyright" :
- file = sys.argv[2]
- if (file.endswith(".cpp") or file.endswith(".h")) and not "3rdParty" in file :
- if not check_copyright(file, True) :
- sys.exit(-1)
+ file = sys.argv[2]
+ if (file.endswith(".cpp") or file.endswith(".h")) and not "3rdParty" in file :
+ if not check_copyright(file, True) :
+ sys.exit(-1)
elif sys.argv[1] == "set-copyright" :
- file = sys.argv[2]
- set_or_update_copyright(file)
+ file = sys.argv[2]
+ set_or_update_copyright(file)
else :
- print "Unknown command: " + sys.argv[1]
- print_help()
- sys.exit(-1)
+ print "Unknown command: " + sys.argv[1]
+ print_help()
+ sys.exit(-1)
diff --git a/BuildTools/Coverage/FilterLCovData.py b/BuildTools/Coverage/FilterLCovData.py
index 33fd682..e0f5c92 100755
--- a/BuildTools/Coverage/FilterLCovData.py
+++ b/BuildTools/Coverage/FilterLCovData.py
@@ -7,23 +7,23 @@ import sys, re, os.path
assert(len(sys.argv) == 2)
def isIgnored(file) :
- return (file.find("/Swiften/") == -1 and file.find("/Slimber/") == -1 and file.find("/Swift/") == -1) or (file.find("/UnitTest/") != -1 or file.find("/QA/") != -1)
+ return (file.find("/Swiften/") == -1 and file.find("/Slimber/") == -1 and file.find("/Swift/") == -1) or (file.find("/UnitTest/") != -1 or file.find("/QA/") != -1)
output = []
inputFile = open(sys.argv[1])
inIgnoredFile = False
for line in inputFile.readlines() :
- if inIgnoredFile :
- if line == "end_of_record\n" :
- inIgnoredFile = False
- else :
- if line.startswith("SF:") and isIgnored(line) :
- inIgnoredFile = True
- else :
- m = re.match("SF:(.*)", line)
- if m :
- line = "SF:" + os.path.realpath(m.group(1)) + "\n"
- output.append(line)
+ if inIgnoredFile :
+ if line == "end_of_record\n" :
+ inIgnoredFile = False
+ else :
+ if line.startswith("SF:") and isIgnored(line) :
+ inIgnoredFile = True
+ else :
+ m = re.match("SF:(.*)", line)
+ if m :
+ line = "SF:" + os.path.realpath(m.group(1)) + "\n"
+ output.append(line)
inputFile.close()
outputFile = open(sys.argv[1], 'w')
diff --git a/BuildTools/Coverage/GenerateSummary.py b/BuildTools/Coverage/GenerateSummary.py
index e572082..9de0f4d 100755
--- a/BuildTools/Coverage/GenerateSummary.py
+++ b/BuildTools/Coverage/GenerateSummary.py
@@ -8,27 +8,27 @@ inputFile = open(sys.argv[1])
currentFile = ""
coverage = {}
for line in inputFile.readlines() :
- line = line.strip()
- m = re.match("^SF:(.*)", line)
- if m :
- currentFile = m.group(1)
- else :
- m = re.match("^DA:(\d+),(\d+)", line)
- if m :
- currentFileCoverage = coverage.get(currentFile, {})
- line = int(m.group(1))
- count = int(m.group(2))
- currentFileCoverage[line] = currentFileCoverage.get(line, 0) + count
- coverage[currentFile] = currentFileCoverage
+ line = line.strip()
+ m = re.match("^SF:(.*)", line)
+ if m :
+ currentFile = m.group(1)
+ else :
+ m = re.match("^DA:(\d+),(\d+)", line)
+ if m :
+ currentFileCoverage = coverage.get(currentFile, {})
+ line = int(m.group(1))
+ count = int(m.group(2))
+ currentFileCoverage[line] = currentFileCoverage.get(line, 0) + count
+ coverage[currentFile] = currentFileCoverage
inputFile.close()
totalLines = 0
coveredLines = 0
for c in coverage.values() :
- totalLines += len(c)
- for l in c.values() :
- if l > 0 :
- coveredLines += 1
+ totalLines += len(c)
+ for l in c.values() :
+ if l > 0 :
+ coveredLines += 1
outputFile = open(sys.argv[2], 'w')
outputFile.write(str(coveredLines) + "/" + str(totalLines))
diff --git a/BuildTools/Cppcheck.sh b/BuildTools/Cppcheck.sh
index 9f14cb2..ee52b9b 100755
--- a/BuildTools/Cppcheck.sh
+++ b/BuildTools/Cppcheck.sh
@@ -1,21 +1,21 @@
#!/bin/sh
cppcheck $@ \
- --enable=all \
- --inline-suppr \
- --suppress=postfixOperator:3rdParty/hippomocks.h \
- --suppress=stlSize:3rdParty/hippomocks.h \
- --suppress=noConstructor \
- --suppress=publicAllocationError:Swift/Controllers/Chat/UnitTest/ChatsManagerTest.cpp \
- -i 3rdParty -i .git -i .sconf_temp \
- -i Swift/QtUI/EventViewer/main.cpp \
- -i Swift/QtUI/ApplicationTest \
- -i Swift/QtUI/ChatView/main.cpp \
- -i Swift/QtUI/Roster/main.cpp \
- -i Swift/QtUI/NotifierTest/NotifierTest.cpp \
- -DSWIFTEN_BUILDING -DSWIFTEN_STATIC \
- -U__BEOS__ -U__CYGWIN__ -U__QNNXTO__ -U__amigaos__ -Uhpux -U__sgi \
- \
- -I . \
- -I Swift/QtUI \
- .
+ --enable=all \
+ --inline-suppr \
+ --suppress=postfixOperator:3rdParty/hippomocks.h \
+ --suppress=stlSize:3rdParty/hippomocks.h \
+ --suppress=noConstructor \
+ --suppress=publicAllocationError:Swift/Controllers/Chat/UnitTest/ChatsManagerTest.cpp \
+ -i 3rdParty -i .git -i .sconf_temp \
+ -i Swift/QtUI/EventViewer/main.cpp \
+ -i Swift/QtUI/ApplicationTest \
+ -i Swift/QtUI/ChatView/main.cpp \
+ -i Swift/QtUI/Roster/main.cpp \
+ -i Swift/QtUI/NotifierTest/NotifierTest.cpp \
+ -DSWIFTEN_BUILDING -DSWIFTEN_STATIC \
+ -U__BEOS__ -U__CYGWIN__ -U__QNNXTO__ -U__amigaos__ -Uhpux -U__sgi \
+ \
+ -I . \
+ -I Swift/QtUI \
+ .
diff --git a/BuildTools/DocBook/SCons/DocBook.py b/BuildTools/DocBook/SCons/DocBook.py
index 7641b65..ffb0bfc 100644
--- a/BuildTools/DocBook/SCons/DocBook.py
+++ b/BuildTools/DocBook/SCons/DocBook.py
@@ -6,100 +6,100 @@ import SCons.Util, SCons.Action
import xml.dom.minidom, re, os.path, sys
def generate(env) :
- # Location of stylesheets and catalogs
- docbook_dir = "#/BuildTools/DocBook"
- docbook_xsl_style_dir = env.Dir(docbook_dir + "/Stylesheets").abspath
- docbook_xml_catalog = env.File("catalog.xml").abspath
- if "DOCBOOK_XML_DIR" in env :
- docbook_xml_dir = env.Dir("$DOCBOOK_XML_DIR").abspath
- else :
- docbook_xml_dir = env.Dir("#/3rdParty/DocBook/XML").abspath
- if "DOCBOOK_XSL_DIR" in env :
- docbook_xsl_dir = env.Dir("$DOCBOOK_XSL_DIR").abspath
- else :
- docbook_xsl_dir = env.Dir("#/3rdParty/DocBook/XSL").abspath
- fop_fonts_dir = env.Dir(docbook_dir + "/Fonts").abspath
-
- # Generates a catalog from paths to external tools
- def buildCatalog(target, source, env) :
- catalog = """<?xml version='1.0'?>
+ # Location of stylesheets and catalogs
+ docbook_dir = "#/BuildTools/DocBook"
+ docbook_xsl_style_dir = env.Dir(docbook_dir + "/Stylesheets").abspath
+ docbook_xml_catalog = env.File("catalog.xml").abspath
+ if "DOCBOOK_XML_DIR" in env :
+ docbook_xml_dir = env.Dir("$DOCBOOK_XML_DIR").abspath
+ else :
+ docbook_xml_dir = env.Dir("#/3rdParty/DocBook/XML").abspath
+ if "DOCBOOK_XSL_DIR" in env :
+ docbook_xsl_dir = env.Dir("$DOCBOOK_XSL_DIR").abspath
+ else :
+ docbook_xsl_dir = env.Dir("#/3rdParty/DocBook/XSL").abspath
+ fop_fonts_dir = env.Dir(docbook_dir + "/Fonts").abspath
+
+ # Generates a catalog from paths to external tools
+ def buildCatalog(target, source, env) :
+ catalog = """<?xml version='1.0'?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="public">
- <rewriteSystem
- systemIdStartString="http://www.oasis-open.org/docbook/xml/4.5/"
- rewritePrefix="%(docbook_xml_dir)s/" />
- <rewriteSystem
- systemIdStartString="docbook-xsl:/"
- rewritePrefix="%(docbook_xsl_dir)s/" />
+ <rewriteSystem
+ systemIdStartString="http://www.oasis-open.org/docbook/xml/4.5/"
+ rewritePrefix="%(docbook_xml_dir)s/" />
+ <rewriteSystem
+ systemIdStartString="docbook-xsl:/"
+ rewritePrefix="%(docbook_xsl_dir)s/" />
</catalog>"""
- docbook_xml_dir = source[0].get_contents()
- docbook_xsl_dir = source[1].get_contents()
- if env["PLATFORM"] == "win32" :
- docbook_xml_dir = docbook_xml_dir.replace("\\","/")
- docbook_xsl_dir = docbook_xsl_dir.replace("\\","/")
- file = open(target[0].abspath, "w")
- file.write(catalog % {
- "docbook_xml_dir" : docbook_xml_dir,
- "docbook_xsl_dir" : docbook_xsl_dir,
- })
- file.close()
-
- # Generates a FOP config file
- def buildFopConfig(target, source, env) :
- fopcfg = """<fop version=\"1.0\">
- <renderers>
- <renderer mime=\"application/pdf\">
- <fonts>
- <directory recursive=\"true\">%(fonts_dir)s</directory>
- </fonts>
- </renderer>
- </renderers>
+ docbook_xml_dir = source[0].get_contents()
+ docbook_xsl_dir = source[1].get_contents()
+ if env["PLATFORM"] == "win32" :
+ docbook_xml_dir = docbook_xml_dir.replace("\\","/")
+ docbook_xsl_dir = docbook_xsl_dir.replace("\\","/")
+ file = open(target[0].abspath, "w")
+ file.write(catalog % {
+ "docbook_xml_dir" : docbook_xml_dir,
+ "docbook_xsl_dir" : docbook_xsl_dir,
+ })
+ file.close()
+
+ # Generates a FOP config file
+ def buildFopConfig(target, source, env) :
+ fopcfg = """<fop version=\"1.0\">
+ <renderers>
+ <renderer mime=\"application/pdf\">
+ <fonts>
+ <directory recursive=\"true\">%(fonts_dir)s</directory>
+ </fonts>
+ </renderer>
+ </renderers>
</fop>"""
- file = open(target[0].abspath, "w")
- file.write(fopcfg % {
- "fonts_dir" : source[0].get_contents()
- })
- file.close()
+ file = open(target[0].abspath, "w")
+ file.write(fopcfg % {
+ "fonts_dir" : source[0].get_contents()
+ })
+ file.close()
- # Builds a DocBook file
- def buildDocBook(env, source) :
- db_env = env.Clone()
- db_env["XMLCATALOGS"] = [docbook_xml_catalog]
- db_env["ENV"].update({"OS" : os.environ.get("OS", "")})
+ # Builds a DocBook file
+ def buildDocBook(env, source) :
+ db_env = env.Clone()
+ db_env["XMLCATALOGS"] = [docbook_xml_catalog]
+ db_env["ENV"].update({"OS" : os.environ.get("OS", "")})
- db_env["XMLLINT"] = env.WhereIs("xmllint")
- db_env["XSLT"] = env.WhereIs("xsltproc")
- db_env["FO"] = env.WhereIs("fop")
+ db_env["XMLLINT"] = env.WhereIs("xmllint")
+ db_env["XSLT"] = env.WhereIs("xsltproc")
+ db_env["FO"] = env.WhereIs("fop")
- if not db_env["XMLLINT"] or not db_env["XSLT"] :
- return
+ if not db_env["XMLLINT"] or not db_env["XSLT"] :
+ return
- # PDF generation
- if db_env["FO"] :
- fo = db_env.XSLT(os.path.splitext(source)[0] + ".fo", source,
- XSLTSTYLESHEET = db_env["DOCBOOK_XSL_FO"])
- pdf = db_env.FO(fo)
+ # PDF generation
+ if db_env["FO"] :
+ fo = db_env.XSLT(os.path.splitext(source)[0] + ".fo", source,
+ XSLTSTYLESHEET = db_env["DOCBOOK_XSL_FO"])
+ pdf = db_env.FO(fo)
- # HTML generation
- db_env.XSLT(os.path.splitext(source)[0] + ".html", source,
- XSLTSTYLESHEET = db_env["DOCBOOK_XSL_HTML"])
+ # HTML generation
+ db_env.XSLT(os.path.splitext(source)[0] + ".html", source,
+ XSLTSTYLESHEET = db_env["DOCBOOK_XSL_HTML"])
- # Import tools
- env.Tool("FO", toolpath = [docbook_dir + "/SCons"])
- env.Tool("XSLT", toolpath = [docbook_dir + "/SCons"])
+ # Import tools
+ env.Tool("FO", toolpath = [docbook_dir + "/SCons"])
+ env.Tool("XSLT", toolpath = [docbook_dir + "/SCons"])
- # Catalog file generation
- env.Command("catalog.xml", [env.Value(docbook_xml_dir), env.Value(docbook_xsl_dir)], SCons.Action.Action(buildCatalog, cmdstr = "$GENCOMSTR"))
+ # Catalog file generation
+ env.Command("catalog.xml", [env.Value(docbook_xml_dir), env.Value(docbook_xsl_dir)], SCons.Action.Action(buildCatalog, cmdstr = "$GENCOMSTR"))
- # FO config file generation
- env["FOCFG"] = env.File("fop.cfg").abspath
- env.Command("fop.cfg", [env.Value(fop_fonts_dir)], SCons.Action.Action(buildFopConfig, cmdstr = "$GENCOMSTR"))
+ # FO config file generation
+ env["FOCFG"] = env.File("fop.cfg").abspath
+ env.Command("fop.cfg", [env.Value(fop_fonts_dir)], SCons.Action.Action(buildFopConfig, cmdstr = "$GENCOMSTR"))
- # DocBook stylesheets
- env["DOCBOOK_XSL_FO"] = docbook_xsl_style_dir + "/fo/docbook.xsl"
- env["DOCBOOK_XSL_HTML"] = docbook_xsl_style_dir + "/html/docbook.xsl"
- env.AddMethod(buildDocBook, "DocBook")
+ # DocBook stylesheets
+ env["DOCBOOK_XSL_FO"] = docbook_xsl_style_dir + "/fo/docbook.xsl"
+ env["DOCBOOK_XSL_HTML"] = docbook_xsl_style_dir + "/html/docbook.xsl"
+ env.AddMethod(buildDocBook, "DocBook")
def exists(env) :
- return True
+ return True
diff --git a/BuildTools/DocBook/SCons/FO.py b/BuildTools/DocBook/SCons/FO.py
index a4079d7..c1c5614 100644
--- a/BuildTools/DocBook/SCons/FO.py
+++ b/BuildTools/DocBook/SCons/FO.py
@@ -6,40 +6,40 @@ import xml.dom.minidom, re
################################################################################
def generate(env) :
- def generate_actions(source, target, env, for_signature) :
- if len(env["FOCFG"]) > 0 :
- cmd = "$FO -c $FOCFG $FOFLAGS $SOURCE $TARGET"
- else :
- cmd = "$FO $FOFLAGS $SOURCE $TARGET"
- return SCons.Action.Action(cmd, cmdstr = "$FOCOMSTR")
+ def generate_actions(source, target, env, for_signature) :
+ if len(env["FOCFG"]) > 0 :
+ cmd = "$FO -c $FOCFG $FOFLAGS $SOURCE $TARGET"
+ else :
+ cmd = "$FO $FOFLAGS $SOURCE $TARGET"
+ return SCons.Action.Action(cmd, cmdstr = "$FOCOMSTR")
- def modify_sources(target, source, env) :
- if len(env["FOCFG"]) > 0 :
- source.append(env["FOCFG"])
- return target, source
+ def modify_sources(target, source, env) :
+ if len(env["FOCFG"]) > 0 :
+ source.append(env["FOCFG"])
+ return target, source
- def scan_fo(node, env, path) :
- dependencies = set()
- try :
- document = xml.dom.minidom.parseString(node.get_contents())
- except xml.parsers.expat.ExpatError:
- return []
- for include in document.getElementsByTagNameNS("http://www.w3.org/1999/XSL/Format", "external-graphic") :
- m = re.match("url\((.*)\)", include.getAttribute("src"))
- if m :
- dependencies.add(m.group(1))
- return list(dependencies)
+ def scan_fo(node, env, path) :
+ dependencies = set()
+ try :
+ document = xml.dom.minidom.parseString(node.get_contents())
+ except xml.parsers.expat.ExpatError:
+ return []
+ for include in document.getElementsByTagNameNS("http://www.w3.org/1999/XSL/Format", "external-graphic") :
+ m = re.match("url\((.*)\)", include.getAttribute("src"))
+ if m :
+ dependencies.add(m.group(1))
+ return list(dependencies)
- env["FO"] = "fop"
- env["FOFLAGS"] = ""
- env["FOCFG"] = ""
- env["BUILDERS"]["FO"] = SCons.Builder.Builder(
- generator = generate_actions,
- emitter = modify_sources,
- source_scanner = SCons.Scanner.Scanner(function = scan_fo, skeys = [".fo"]),
- suffix = ".pdf",
- src_suffix = ".fo"
- )
+ env["FO"] = "fop"
+ env["FOFLAGS"] = ""
+ env["FOCFG"] = ""
+ env["BUILDERS"]["FO"] = SCons.Builder.Builder(
+ generator = generate_actions,
+ emitter = modify_sources,
+ source_scanner = SCons.Scanner.Scanner(function = scan_fo, skeys = [".fo"]),
+ suffix = ".pdf",
+ src_suffix = ".fo"
+ )
def exists(env) :
- return True
+ return True
diff --git a/BuildTools/DocBook/SCons/XSLT.py b/BuildTools/DocBook/SCons/XSLT.py
index 825f129..38e36c5 100644
--- a/BuildTools/DocBook/SCons/XSLT.py
+++ b/BuildTools/DocBook/SCons/XSLT.py
@@ -6,58 +6,58 @@ import xml.dom.minidom, os, os.path
################################################################################
def generate(env) :
- def generate_actions(source, target, env, for_signature) :
- if not env.has_key("XSLTSTYLESHEET") :
- raise SCons.Errors.UserError, "The XSLTSTYLESHEET construction variable must be defined"
-
- # Process the XML catalog files
- # FIXME: It's probably not clean to do an ENV assignment globally
- env["ENV"]["XML_CATALOG_FILES"] = " ".join(env.get("XMLCATALOGS", ""))
-
- # Build the XMLLint command
- xmllintcmd = ["$XMLLINT", "--nonet", "--xinclude", "--postvalid", "--noout", "$SOURCE"]
-
- # Build the XSLT command
- xsltcmd = ["$XSLT", "--nonet", "--xinclude"]
- for (param, value) in env["XSLTPARAMS"] :
- xsltcmd += ["--stringparam", param, value]
- xsltcmd += ["-o", "$TARGET", "$XSLTSTYLESHEET", "$SOURCE"]
-
- return [
- SCons.Action.Action([xmllintcmd], cmdstr = "$XMLLINTCOMSTR"),
- SCons.Action.Action([xsltcmd], cmdstr = "$XSLTCOMSTR")]
-
- def modify_sources(target, source, env) :
- if len(env["FOCFG"]) > 0 :
- source.append(env["FOCFG"])
- source.append(env.get("XMLCATALOGS", []))
- return target, source
-
- def scan_xml(node, env, path) :
- dependencies = set()
- nodes = [node]
- while len(nodes) > 0 :
- node = nodes.pop()
- try :
- document = xml.dom.minidom.parseString(node.get_contents())
- except xml.parsers.expat.ExpatError:
- continue
- for include in document.getElementsByTagNameNS("http://www.w3.org/2001/XInclude", "include") :
- include_file = include.getAttribute("href")
- dependencies.add(include_file)
- if include.getAttribute("parse") != "text" :
- nodes.append(env.File(include_file))
- return list(dependencies)
-
- env["XMLLINT"] = "xmllint"
- env["XSLT"] = "xsltproc"
- env["XSLTPARAMS"] = []
- env["BUILDERS"]["XSLT"] = SCons.Builder.Builder(
- generator = generate_actions,
- emitter = modify_sources,
- source_scanner = SCons.Scanner.Scanner(function = scan_xml),
- src_suffix = ".xml"
- )
+ def generate_actions(source, target, env, for_signature) :
+ if not env.has_key("XSLTSTYLESHEET") :
+ raise SCons.Errors.UserError, "The XSLTSTYLESHEET construction variable must be defined"
+
+ # Process the XML catalog files
+ # FIXME: It's probably not clean to do an ENV assignment globally
+ env["ENV"]["XML_CATALOG_FILES"] = " ".join(env.get("XMLCATALOGS", ""))
+
+ # Build the XMLLint command
+ xmllintcmd = ["$XMLLINT", "--nonet", "--xinclude", "--postvalid", "--noout", "$SOURCE"]
+
+ # Build the XSLT command
+ xsltcmd = ["$XSLT", "--nonet", "--xinclude"]
+ for (param, value) in env["XSLTPARAMS"] :
+ xsltcmd += ["--stringparam", param, value]
+ xsltcmd += ["-o", "$TARGET", "$XSLTSTYLESHEET", "$SOURCE"]
+
+ return [
+ SCons.Action.Action([xmllintcmd], cmdstr = "$XMLLINTCOMSTR"),
+ SCons.Action.Action([xsltcmd], cmdstr = "$XSLTCOMSTR")]
+
+ def modify_sources(target, source, env) :
+ if len(env["FOCFG"]) > 0 :
+ source.append(env["FOCFG"])
+ source.append(env.get("XMLCATALOGS", []))
+ return target, source
+
+ def scan_xml(node, env, path) :
+ dependencies = set()
+ nodes = [node]
+ while len(nodes) > 0 :
+ node = nodes.pop()
+ try :
+ document = xml.dom.minidom.parseString(node.get_contents())
+ except xml.parsers.expat.ExpatError:
+ continue
+ for include in document.getElementsByTagNameNS("http://www.w3.org/2001/XInclude", "include") :
+ include_file = include.getAttribute("href")
+ dependencies.add(include_file)
+ if include.getAttribute("parse") != "text" :
+ nodes.append(env.File(include_file))
+ return list(dependencies)
+
+ env["XMLLINT"] = "xmllint"
+ env["XSLT"] = "xsltproc"
+ env["XSLTPARAMS"] = []
+ env["BUILDERS"]["XSLT"] = SCons.Builder.Builder(
+ generator = generate_actions,
+ emitter = modify_sources,
+ source_scanner = SCons.Scanner.Scanner(function = scan_xml),
+ src_suffix = ".xml"
+ )
def exists(env) :
- return True
+ return True
diff --git a/BuildTools/FilterScanBuildResults.py b/BuildTools/FilterScanBuildResults.py
index ed4a55f..a4861ac 100755
--- a/BuildTools/FilterScanBuildResults.py
+++ b/BuildTools/FilterScanBuildResults.py
@@ -6,23 +6,23 @@ resultsDir = sys.argv[1]
resultDirs = [ d for d in os.listdir(resultsDir) if os.path.isdir(os.path.join(resultsDir, d)) ]
resultDirs.sort()
if len(resultDirs) > 0 :
- resultDir = os.path.join(resultsDir, resultDirs[-1])
- resultFileName = os.path.join(resultDir, "index.html")
- resultData = []
- f = open(resultFileName, "r")
- skipLines = 0
- for line in f.readlines() :
- if skipLines > 0 :
- skipLines -= 1
- else :
- if ("3rdParty" in line or "SHA1.cpp" in line or "lua.c" in line) :
- m = re.match(".*(report-.*\.html)", line)
- os.remove(os.path.join(resultDir, m.group(1)))
- skipLines = 2
- else :
- resultData.append(line)
- f.close()
+ resultDir = os.path.join(resultsDir, resultDirs[-1])
+ resultFileName = os.path.join(resultDir, "index.html")
+ resultData = []
+ f = open(resultFileName, "r")
+ skipLines = 0
+ for line in f.readlines() :
+ if skipLines > 0 :
+ skipLines -= 1
+ else :
+ if ("3rdParty" in line or "SHA1.cpp" in line or "lua.c" in line) :
+ m = re.match(".*(report-.*\.html)", line)
+ os.remove(os.path.join(resultDir, m.group(1)))
+ skipLines = 2
+ else :
+ resultData.append(line)
+ f.close()
- f = open(resultFileName, "w")
- f.writelines(resultData)
- f.close()
+ f = open(resultFileName, "w")
+ f.writelines(resultData)
+ f.close()
diff --git a/BuildTools/FixIncludes.py b/BuildTools/FixIncludes.py
index d409a2c..d1b8268 100755
--- a/BuildTools/FixIncludes.py
+++ b/BuildTools/FixIncludes.py
@@ -9,7 +9,7 @@ filename = sys.argv[1]
inPlace = False
if "-i" in sys.argv:
- inPlace = True
+ inPlace = True
filename_base = os.path.basename(filename)
(filename_name, filename_ext) = os.path.splitext(filename_base)
@@ -19,144 +19,144 @@ c_stdlib_headers = Set(["assert.h", "limits.h", "signal.h", "stdlib.h", "ctyp
cpp_stdlib_headers = Set(["algorithm", "fstream", "list", "regex", "typeindex", "array", "functional", "locale", "set", "typeinfo", "atomic", "future", "map", "sstream", "type_traits", "bitset", "initializer_list", "memory", "stack", "unordered_map", "chrono", "iomanip", "mutex", "stdexcept", "unordered_set", "codecvt", "ios", "new", "streambuf", "utility", "complex", "iosfwd", "numeric", "string", "valarray", "condition_variable", "iostream", "ostream", "strstream", "vector", "deque", "istream", "queue", "system_error", "exception", "iterator", "random", "thread", "forward_list", "limits", "ratio", "tuple", "cassert", "ciso646", "csetjmp", "cstdio", "ctime", "cctype", "climits", "csignal", "cstdlib", "cwchar", "cerrno", "clocale", "cstdarg", "cstring", "cwctype", "cfloat", "cmath", "cstddef"])
class HeaderType:
- PRAGMA_ONCE, CORRESPONDING_HEADER, C_STDLIB, CPP_STDLIB, BOOST, QT, OTHER, SWIFTEN, LIMBER, SLIMBER, SWIFT_CONTROLLERS, SLUIFT, SWIFTOOLS, SWIFT = range(14)
+ PRAGMA_ONCE, CORRESPONDING_HEADER, C_STDLIB, CPP_STDLIB, BOOST, QT, OTHER, SWIFTEN, LIMBER, SLIMBER, SWIFT_CONTROLLERS, SLUIFT, SWIFTOOLS, SWIFT = range(14)
def findHeaderBlock(lines):
- start = False
- end = False
- lastLine = None
-
- for idx, line in enumerate(lines):
- if not start and line.startswith("#"):
- start = idx
- elif start and (not end) and (not line.startswith("#")) and line.strip():
- end = idx-1
- break
- if not end:
- end = len(lines)
- return (start, end)
+ start = False
+ end = False
+ lastLine = None
+
+ for idx, line in enumerate(lines):
+ if not start and line.startswith("#"):
+ start = idx
+ elif start and (not end) and (not line.startswith("#")) and line.strip():
+ end = idx-1
+ break
+ if not end:
+ end = len(lines)
+ return (start, end)
def lineToFileName(line):
- match = re.match( r'#include "(.*)"', line)
- if match:
- return match.group(1)
- match = re.match( r'#include <(.*)>', line)
- if match:
- return match.group(1)
- return False
+ match = re.match( r'#include "(.*)"', line)
+ if match:
+ return match.group(1)
+ match = re.match( r'#include <(.*)>', line)
+ if match:
+ return match.group(1)
+ return False
def fileNameToHeaderType(name):
- if name.endswith("/" + filename_name + ".h"):
- return HeaderType.CORRESPONDING_HEADER
+ if name.endswith("/" + filename_name + ".h"):
+ return HeaderType.CORRESPONDING_HEADER
- if name in c_stdlib_headers:
- return HeaderType.C_STDLIB
+ if name in c_stdlib_headers:
+ return HeaderType.C_STDLIB
- if name in cpp_stdlib_headers:
- return HeaderType.CPP_STDLIB
+ if name in cpp_stdlib_headers:
+ return HeaderType.CPP_STDLIB
- if name.startswith("boost"):
- return HeaderType.BOOST
+ if name.startswith("boost"):
+ return HeaderType.BOOST
- if name.startswith("Q"):
- return HeaderType.QT
+ if name.startswith("Q"):
+ return HeaderType.QT
- if name.startswith("Swiften"):
- return HeaderType.SWIFTEN
+ if name.startswith("Swiften"):
+ return HeaderType.SWIFTEN
- if name.startswith("Limber"):
- return HeaderType.LIMBER
+ if name.startswith("Limber"):
+ return HeaderType.LIMBER
- if name.startswith("Slimber"):
- return HeaderType.SLIMBER
+ if name.startswith("Slimber"):
+ return HeaderType.SLIMBER
- if name.startswith("Swift/Controllers"):
- return HeaderType.SWIFT_CONTROLLERS
+ if name.startswith("Swift/Controllers"):
+ return HeaderType.SWIFT_CONTROLLERS
- if name.startswith("Sluift"):
- return HeaderType.SLUIFT
+ if name.startswith("Sluift"):
+ return HeaderType.SLUIFT
- if name.startswith("SwifTools"):
- return HeaderType.SWIFTOOLS
+ if name.startswith("SwifTools"):
+ return HeaderType.SWIFTOOLS
- if name.startswith("Swift"):
- return HeaderType.SWIFT
+ if name.startswith("Swift"):
+ return HeaderType.SWIFT
- return HeaderType.OTHER
+ return HeaderType.OTHER
def serializeHeaderGroups(groups):
- headerList = []
- for group in range(0, HeaderType.SWIFT + 1):
- if group in groups:
- # sorted and without duplicates
- headers = sorted(list(set(groups[group])))
- headerList.extend(headers)
- headerList.extend(["\n"])
- headerList.pop()
- return headerList
+ headerList = []
+ for group in range(0, HeaderType.SWIFT + 1):
+ if group in groups:
+ # sorted and without duplicates
+ headers = sorted(list(set(groups[group])))
+ headerList.extend(headers)
+ headerList.extend(["\n"])
+ headerList.pop()
+ return headerList
def overwriteFile(filename, content):
- with open(filename, 'w') as f:
- for line in content:
- f.write(line)
+ with open(filename, 'w') as f:
+ for line in content:
+ f.write(line)
def cleanHeaderFile(content, headerStart, headerEnd, headerGroups):
- del content[headerStart:headerEnd]
- newHeaders = serializeHeaderGroups(headerGroups)
- content[headerStart:1] = newHeaders
+ del content[headerStart:headerEnd]
+ newHeaders = serializeHeaderGroups(headerGroups)
+ content[headerStart:1] = newHeaders
- if inPlace :
- overwriteFile(filename, content)
- else :
- for line in content:
- print line,
+ if inPlace :
+ overwriteFile(filename, content)
+ else :
+ for line in content:
+ print line,
def cleanImplementationFile(content, headerStart, headerEnd, headerGroups):
- del content[headerStart:headerEnd]
- newHeaders = serializeHeaderGroups(headerGroups)
- content[headerStart:1] = newHeaders
+ del content[headerStart:headerEnd]
+ newHeaders = serializeHeaderGroups(headerGroups)
+ content[headerStart:1] = newHeaders
- if inPlace :
- overwriteFile(filename, content)
- else :
- for line in content:
- print line,
+ if inPlace :
+ overwriteFile(filename, content)
+ else :
+ for line in content:
+ print line,
containsComplexPreprocessorDirectives = False
with open(filename) as f:
- content = f.readlines()
+ content = f.readlines()
(headerStart, headerEnd) = findHeaderBlock(content)
headerGroups = {}
for line in content[headerStart:headerEnd]:
- if line.strip():
- if line.strip().startswith("#pragma once"):
- headerType = HeaderType.PRAGMA_ONCE
- elif line.strip().startswith("#if") or line.strip().startswith("#def") or line.strip().startswith("#undef") or line.strip().startswith("#pragma "):
- containsComplexPreprocessorDirectives = True
- break
- else:
- #print line
- headerType = fileNameToHeaderType(lineToFileName(line))
-
- #filename = lineToFileName(line)
- if headerType in headerGroups:
- headerGroups[headerType].append(line)
- else:
- headerGroups[headerType] = [line]
+ if line.strip():
+ if line.strip().startswith("#pragma once"):
+ headerType = HeaderType.PRAGMA_ONCE
+ elif line.strip().startswith("#if") or line.strip().startswith("#def") or line.strip().startswith("#undef") or line.strip().startswith("#pragma "):
+ containsComplexPreprocessorDirectives = True
+ break
+ else:
+ #print line
+ headerType = fileNameToHeaderType(lineToFileName(line))
+
+ #filename = lineToFileName(line)
+ if headerType in headerGroups:
+ headerGroups[headerType].append(line)
+ else:
+ headerGroups[headerType] = [line]
if containsComplexPreprocessorDirectives:
- print "Cannot format headers containing preprocessor #if, #pragma, #define or #undef statements!"
- exit(1)
+ print "Cannot format headers containing preprocessor #if, #pragma, #define or #undef statements!"
+ exit(1)
if filename_base.endswith(".h"):
- if not HeaderType.PRAGMA_ONCE in headerGroups:
- print "Missing #pragma once!"
- exit(2)
- cleanHeaderFile(content, headerStart, headerEnd, headerGroups)
+ if not HeaderType.PRAGMA_ONCE in headerGroups:
+ print "Missing #pragma once!"
+ exit(2)
+ cleanHeaderFile(content, headerStart, headerEnd, headerGroups)
elif filename_base.endswith(".cpp") or filename_base.endswith(".mm"):
- cleanImplementationFile(content, headerStart, headerEnd, headerGroups)
+ cleanImplementationFile(content, headerStart, headerEnd, headerGroups)
diff --git a/BuildTools/GetBuildVersion.py b/BuildTools/GetBuildVersion.py
index fc92d15..70fdc5c 100755
--- a/BuildTools/GetBuildVersion.py
+++ b/BuildTools/GetBuildVersion.py
@@ -8,14 +8,14 @@ assert(len(sys.argv) >= 2)
only_major = False
if "--major" in sys.argv :
- only_major = True
+ only_major = True
if only_major :
- v = Version.getBuildVersion(os.path.dirname(sys.argv[0]) + "/..", sys.argv[1])
- version_match = re.match("(\d+)\.(\d+).*", v)
- if version_match :
- print version_match.group(1)
- else :
- print "0"
+ v = Version.getBuildVersion(os.path.dirname(sys.argv[0]) + "/..", sys.argv[1])
+ version_match = re.match("(\d+)\.(\d+).*", v)
+ if version_match :
+ print version_match.group(1)
+ else :
+ print "0"
else :
- print Version.getBuildVersion(os.path.dirname(sys.argv[0]) + "/..", sys.argv[1])
+ print Version.getBuildVersion(os.path.dirname(sys.argv[0]) + "/..", sys.argv[1])
diff --git a/BuildTools/Gource/GetGravatars.py b/BuildTools/Gource/GetGravatars.py
index 47f8a68..d1f40a4 100755
--- a/BuildTools/Gource/GetGravatars.py
+++ b/BuildTools/Gource/GetGravatars.py
@@ -5,8 +5,8 @@ import subprocess, os, sys, hashlib, urllib
GRAVATAR_URL = "http://www.gravatar.com/avatar/%(id)s?d=404"
if len(sys.argv) != 2 :
- print "Usage: " + sys.argv[0] + " <output-dir>"
- sys.exit(-1)
+ print "Usage: " + sys.argv[0] + " <output-dir>"
+ sys.exit(-1)
output_dir = sys.argv[1]
@@ -14,36 +14,36 @@ output_dir = sys.argv[1]
authors = {}
p = subprocess.Popen("git log --pretty=format:'%ae|%an'", shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=(os.name != "nt"))
for line in p.stdout.readlines() :
- author_components = line.rstrip().split("|")
- authors[author_components[0]] = author_components[1]
+ author_components = line.rstrip().split("|")
+ authors[author_components[0]] = author_components[1]
p.stdin.close()
if p.wait() != 0 :
- print "Error"
- sys.exit(-1)
+ print "Error"
+ sys.exit(-1)
# Get & save the avatars
if not os.path.isdir(output_dir) :
- os.makedirs(output_dir)
+ os.makedirs(output_dir)
for email, name in authors.items() :
- print "Processing avatar for " + name + " <" + email + ">"
- filename = os.path.join(output_dir, name + ".png")
- if os.path.isfile(filename) :
- print "-> Already there. Skipping."
- continue
+ print "Processing avatar for " + name + " <" + email + ">"
+ filename = os.path.join(output_dir, name + ".png")
+ if os.path.isfile(filename) :
+ print "-> Already there. Skipping."
+ continue
- m = hashlib.md5()
- m.update(email)
- url = GRAVATAR_URL % {"id" : m.hexdigest()}
- print "- Downloading " + url
- f = urllib.urlopen(url)
- input = None
- if f.getcode() == 200 :
- input = f.read()
- f.close()
- if input :
- print "- Saving file " + filename
- f = open(filename, "w")
- f.write(input)
- f.close()
- else :
- print "- No Gravatar found"
+ m = hashlib.md5()
+ m.update(email)
+ url = GRAVATAR_URL % {"id" : m.hexdigest()}
+ print "- Downloading " + url
+ f = urllib.urlopen(url)
+ input = None
+ if f.getcode() == 200 :
+ input = f.read()
+ f.close()
+ if input :
+ print "- Saving file " + filename
+ f = open(filename, "w")
+ f.write(input)
+ f.close()
+ else :
+ print "- No Gravatar found"
diff --git a/BuildTools/InstallSwiftDependencies.sh b/BuildTools/InstallSwiftDependencies.sh
index d1200b1..7017b5f 100755
--- a/BuildTools/InstallSwiftDependencies.sh
+++ b/BuildTools/InstallSwiftDependencies.sh
@@ -6,27 +6,27 @@ SYSTEM_NAME=$(uname)
if [ "$SYSTEM_NAME" == "Linux" ]
then
- # handle linux distributions
- SYSTEM_DISTRO=$(lsb_release -i -s)
- if [ "$SYSTEM_DISTRO" == "Debian" ]
- then
- sudo apt-get install pkg-config libssl-dev qt5-default libqt5x11extras5-dev libqt5webkit5-dev qtmultimedia5-dev qttools5-dev-tools
- elif [ "$SYSTEM_DISTRO" == "Ubuntu" ]
- then
- sudo apt-get install pkg-config libssl-dev qt5-default libqt5x11extras5-dev libqt5webkit5-dev qtmultimedia5-dev qttools5-dev-tools
- elif [ "$SYSTEM_DISTRO" == "Arch" ]
- then
- sudo pacman -S qt5-base qt5-x11extras qt5-webkit qt5-multimedia qt5-tools
- elif [ "$SYSTEM_DISTRO" == "openSUSE project" ]
- then
- sudo zypper in pkg-config libopenssl-devel libQt5Core-devel libQt5WebKit5-devel libQt5WebKitWidgets-devel libqt5-qtmultimedia-devel libqt5-qtx11extras-devel libqt5-qttools-devel libQt5Gui-devel libQt5Network-devel libQt5DBus-devel python-xml
- elif [ "$SYSTEM_DISTRO" == "Fedora" ]
- then
- sudo dnf groups install "C Development Tools and Libraries"
- sudo dnf install openssl-devel qt5-qtbase-devel qt5-linguist qt5-qtwebkit-devel qt5-qtmultimedia-devel qt5-qtx11extras-devel
- else
- echo "Unsupported Linux distribution."
- fi
+ # handle linux distributions
+ SYSTEM_DISTRO=$(lsb_release -i -s)
+ if [ "$SYSTEM_DISTRO" == "Debian" ]
+ then
+ sudo apt-get install pkg-config libssl-dev qt5-default libqt5x11extras5-dev libqt5webkit5-dev qtmultimedia5-dev qttools5-dev-tools
+ elif [ "$SYSTEM_DISTRO" == "Ubuntu" ]
+ then
+ sudo apt-get install pkg-config libssl-dev qt5-default libqt5x11extras5-dev libqt5webkit5-dev qtmultimedia5-dev qttools5-dev-tools
+ elif [ "$SYSTEM_DISTRO" == "Arch" ]
+ then
+ sudo pacman -S qt5-base qt5-x11extras qt5-webkit qt5-multimedia qt5-tools
+ elif [ "$SYSTEM_DISTRO" == "openSUSE project" ]
+ then
+ sudo zypper in pkg-config libopenssl-devel libQt5Core-devel libQt5WebKit5-devel libQt5WebKitWidgets-devel libqt5-qtmultimedia-devel libqt5-qtx11extras-devel libqt5-qttools-devel libQt5Gui-devel libQt5Network-devel libQt5DBus-devel python-xml
+ elif [ "$SYSTEM_DISTRO" == "Fedora" ]
+ then
+ sudo dnf groups install "C Development Tools and Libraries"
+ sudo dnf install openssl-devel qt5-qtbase-devel qt5-linguist qt5-qtwebkit-devel qt5-qtmultimedia-devel qt5-qtx11extras-devel
+ else
+ echo "Unsupported Linux distribution."
+ fi
else
- echo "Unsupported system."
+ echo "Unsupported system."
fi
diff --git a/BuildTools/SCons/Tools/AppBundle.py b/BuildTools/SCons/Tools/AppBundle.py
index 1db7ff8..fda3484 100644
--- a/BuildTools/SCons/Tools/AppBundle.py
+++ b/BuildTools/SCons/Tools/AppBundle.py
@@ -1,64 +1,64 @@
import SCons.Util, os.path
def generate(env) :
- def createAppBundle(env, bundle, version = "1.0", resources = [], frameworks = [], info = {}, handlesXMPPURIs = False) :
- bundleDir = bundle + ".app"
- bundleContentsDir = bundleDir + "/Contents"
- resourcesDir = bundleContentsDir + "/Resources"
- frameworksDir = bundleContentsDir + "/Frameworks"
- env.Install(bundleContentsDir + "/MacOS", bundle)
- env.WriteVal(bundleContentsDir + "/PkgInfo", env.Value("APPL\77\77\77\77"))
+ def createAppBundle(env, bundle, version = "1.0", resources = [], frameworks = [], info = {}, handlesXMPPURIs = False) :
+ bundleDir = bundle + ".app"
+ bundleContentsDir = bundleDir + "/Contents"
+ resourcesDir = bundleContentsDir + "/Resources"
+ frameworksDir = bundleContentsDir + "/Frameworks"
+ env.Install(bundleContentsDir + "/MacOS", bundle)
+ env.WriteVal(bundleContentsDir + "/PkgInfo", env.Value("APPL\77\77\77\77"))
- infoDict = {
- "CFBundleDevelopmentRegion" : "English",
- "CFBundleExecutable" : bundle,
- "CFBundleIdentifier" : "im.swift." + bundle,
- "CFBundleInfoDictionaryVersion" : "6.0",
- "CFBundleName" : bundle,
- "CFBundlePackageType" : "APPL",
- "CFBundleSignature": "\77\77\77\77",
- "CFBundleVersion" : version,
- "CFBundleIconFile" : bundle,
- "NSPrincipalClass" : "NSApplication",
- "NSHumanReadableCopyright" : "(c) 2010 Swift Development Team.\nAll Rights Reserved."
- }
- infoDict.update(info)
+ infoDict = {
+ "CFBundleDevelopmentRegion" : "English",
+ "CFBundleExecutable" : bundle,
+ "CFBundleIdentifier" : "im.swift." + bundle,
+ "CFBundleInfoDictionaryVersion" : "6.0",
+ "CFBundleName" : bundle,
+ "CFBundlePackageType" : "APPL",
+ "CFBundleSignature": "\77\77\77\77",
+ "CFBundleVersion" : version,
+ "CFBundleIconFile" : bundle,
+ "NSPrincipalClass" : "NSApplication",
+ "NSHumanReadableCopyright" : "(c) 2010 Swift Development Team.\nAll Rights Reserved."
+ }
+ infoDict.update(info)
- plist = """<?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
- <plist version="1.0">
- <dict>
- """
- for key, value in infoDict.items() :
- plist += "<key>" + key + "</key>\n"
- plist += "<string>" + value.encode("utf-8") + "</string>\n"
- if handlesXMPPURIs :
- plist += """<key>CFBundleURLTypes</key>
+ plist = """<?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+ <plist version="1.0">
+ <dict>
+ """
+ for key, value in infoDict.items() :
+ plist += "<key>" + key + "</key>\n"
+ plist += "<string>" + value.encode("utf-8") + "</string>\n"
+ if handlesXMPPURIs :
+ plist += """<key>CFBundleURLTypes</key>
<array>
- <dict>
- <key>CFBundleURLName</key>
- <string>XMPP URL</string>
- <key>CFBundleURLSchemes</key>
- <array>
- <string>xmpp</string>
- </array>
- </dict>
+ <dict>
+ <key>CFBundleURLName</key>
+ <string>XMPP URL</string>
+ <key>CFBundleURLSchemes</key>
+ <array>
+ <string>xmpp</string>
+ </array>
+ </dict>
</array>\n"""
- plist += """</dict>
- </plist>
- """
- env.WriteVal(bundleContentsDir + "/Info.plist", env.Value(plist))
+ plist += """</dict>
+ </plist>
+ """
+ env.WriteVal(bundleContentsDir + "/Info.plist", env.Value(plist))
- for (target, resource) in resources.items() :
- env.Install(os.path.join(resourcesDir, target), resource)
+ for (target, resource) in resources.items() :
+ env.Install(os.path.join(resourcesDir, target), resource)
- for framework in frameworks :
- env.Install(frameworksDir, framework)
+ for framework in frameworks :
+ env.Install(frameworksDir, framework)
- return env.Dir(bundleDir)
+ return env.Dir(bundleDir)
- env.AddMethod(createAppBundle, "AppBundle")
+ env.AddMethod(createAppBundle, "AppBundle")
def exists(env) :
- return env["PLATFORM"] == "darwin"
+ return env["PLATFORM"] == "darwin"
diff --git a/BuildTools/SCons/Tools/BuildVersion.py b/BuildTools/SCons/Tools/BuildVersion.py
index b15448a..7968282 100644
--- a/BuildTools/SCons/Tools/BuildVersion.py
+++ b/BuildTools/SCons/Tools/BuildVersion.py
@@ -3,16 +3,16 @@ import SCons.Util
import Version
def generate(env) :
- def createBuildVersion(env, target, project) :
- buildVersion = """#pragma once
+ def createBuildVersion(env, target, project) :
+ buildVersion = """#pragma once
static const char* buildVersion = \"%(buildVersion)s\";\n
#define SWIFT_VERSION_STRING \"%(buildVersion)s\";\n
""" % { "buildVersion" : Version.getBuildVersion(env.Dir("#").abspath, project) }
- env.WriteVal(target, env.Value(buildVersion))
+ env.WriteVal(target, env.Value(buildVersion))
- env.AddMethod(createBuildVersion, "BuildVersion")
+ env.AddMethod(createBuildVersion, "BuildVersion")
def exists(env) :
- return true
+ return true
diff --git a/BuildTools/SCons/Tools/DoxyGen.py b/BuildTools/SCons/Tools/DoxyGen.py
index 79af1c9..66a9111 100644
--- a/BuildTools/SCons/Tools/DoxyGen.py
+++ b/BuildTools/SCons/Tools/DoxyGen.py
@@ -1,26 +1,26 @@
import SCons.Util, os
def generate(env) :
- def modify_targets(target, source, env) :
- target = [env.File("html/index.html")]
- return target, source
+ def modify_targets(target, source, env) :
+ target = [env.File("html/index.html")]
+ return target, source
- def generate_actions(source, target, env, for_signature) :
- if env.WhereIs("$DOXYGEN") and env.WhereIs("$DOT") :
- return [SCons.Action.Action("$DOXYGEN $SOURCE", cmdstr = "$DOXYCOMSTR")]
- else :
- return []
+ def generate_actions(source, target, env, for_signature) :
+ if env.WhereIs("$DOXYGEN") and env.WhereIs("$DOT") :
+ return [SCons.Action.Action("$DOXYGEN $SOURCE", cmdstr = "$DOXYCOMSTR")]
+ else :
+ return []
- env["DOXYGEN"] = "doxygen"
- # FIXME: For some reason, things go incredibly slow (at least on OS X)
- # when not doing this. Some environment flag is having an effect on
- # this; find out which
- env["ENV"] = os.environ
- env["DOT"] = "dot"
- env["BUILDERS"]["DoxyGen"] = SCons.Builder.Builder(
- emitter = modify_targets,
- generator = generate_actions,
- single_source = True)
+ env["DOXYGEN"] = "doxygen"
+ # FIXME: For some reason, things go incredibly slow (at least on OS X)
+ # when not doing this. Some environment flag is having an effect on
+ # this; find out which
+ env["ENV"] = os.environ
+ env["DOT"] = "dot"
+ env["BUILDERS"]["DoxyGen"] = SCons.Builder.Builder(
+ emitter = modify_targets,
+ generator = generate_actions,
+ single_source = True)
def exists(env) :
- return True
+ return True
diff --git a/BuildTools/SCons/Tools/Flags.py b/BuildTools/SCons/Tools/Flags.py
index 0768181..fe0cfcc 100644
--- a/BuildTools/SCons/Tools/Flags.py
+++ b/BuildTools/SCons/Tools/Flags.py
@@ -1,13 +1,13 @@
import SCons.Util
def generate(env) :
- def useFlags(env, flags) :
- for flag in flags :
- if flag in env :
- env[flag] = env[flag] + flags[flag]
- else :
- env[flag] = flags[flag]
- env.AddMethod(useFlags, "UseFlags")
+ def useFlags(env, flags) :
+ for flag in flags :
+ if flag in env :
+ env[flag] = env[flag] + flags[flag]
+ else :
+ env[flag] = flags[flag]
+ env.AddMethod(useFlags, "UseFlags")
def exists(env) :
- return True
+ return True
diff --git a/BuildTools/SCons/Tools/Nib.py b/BuildTools/SCons/Tools/Nib.py
index 91eb064..cf5b0dc 100644
--- a/BuildTools/SCons/Tools/Nib.py
+++ b/BuildTools/SCons/Tools/Nib.py
@@ -1,12 +1,12 @@
import SCons.Util
def generate(env) :
- env["IBTOOL"] = "ibtool"
- env["BUILDERS"]["Nib"] = SCons.Builder.Builder(
- action = SCons.Action.Action("$IBTOOL --errors --warnings --notices --output-format human-readable-text --compile $TARGET $SOURCE", cmdstr = "$NIBCOMSTR"),
- suffix = ".nib",
- src_suffix = ".xib",
- single_source = True)
+ env["IBTOOL"] = "ibtool"
+ env["BUILDERS"]["Nib"] = SCons.Builder.Builder(
+ action = SCons.Action.Action("$IBTOOL --errors --warnings --notices --output-format human-readable-text --compile $TARGET $SOURCE", cmdstr = "$NIBCOMSTR"),
+ suffix = ".nib",
+ src_suffix = ".xib",
+ single_source = True)
def exists(env) :
- return env["PLATFORM"] == "darwin"
+ return env["PLATFORM"] == "darwin"
diff --git a/BuildTools/SCons/Tools/ReplacePragmaOnce.py b/BuildTools/SCons/Tools/ReplacePragmaOnce.py
index 3df0f41..cb49bbb 100644
--- a/BuildTools/SCons/Tools/ReplacePragmaOnce.py
+++ b/BuildTools/SCons/Tools/ReplacePragmaOnce.py
@@ -1,25 +1,25 @@
import SCons.Util, os.path
def generate(env) :
- root = env.Dir("#").abspath
- def relpath(path, start) :
- i = len(os.path.commonprefix([path, start]))
- return path[i+1:]
+ root = env.Dir("#").abspath
+ def relpath(path, start) :
+ i = len(os.path.commonprefix([path, start]))
+ return path[i+1:]
- def replacePragmaOnce(env, target, source) :
- guard = relpath(source[0].abspath, root).replace("/", "_").replace(".", "_").upper()
- data = source[0].get_contents()
- f = open(str(target[0]), 'wb')
- if "#pragma once" in data :
- f.write(data.replace("#pragma once", "#ifndef %(guard)s\n#define %(guard)s" % {"guard": guard}))
- f.write("\n#endif\n")
- else :
- f.write(data)
- f.close()
+ def replacePragmaOnce(env, target, source) :
+ guard = relpath(source[0].abspath, root).replace("/", "_").replace(".", "_").upper()
+ data = source[0].get_contents()
+ f = open(str(target[0]), 'wb')
+ if "#pragma once" in data :
+ f.write(data.replace("#pragma once", "#ifndef %(guard)s\n#define %(guard)s" % {"guard": guard}))
+ f.write("\n#endif\n")
+ else :
+ f.write(data)
+ f.close()
- env["BUILDERS"]["ReplacePragmaOnce"] = SCons.Builder.Builder(
- action = SCons.Action.Action(replacePragmaOnce, cmdstr = "$GENCOMSTR"),
- single_source = True)
+ env["BUILDERS"]["ReplacePragmaOnce"] = SCons.Builder.Builder(
+ action = SCons.Action.Action(replacePragmaOnce, cmdstr = "$GENCOMSTR"),
+ single_source = True)
def exists(env) :
- return True
+ return True
diff --git a/BuildTools/SCons/Tools/SLOCCount.py b/BuildTools/SCons/Tools/SLOCCount.py
index 682a797..be31672 100644
--- a/BuildTools/SCons/Tools/SLOCCount.py
+++ b/BuildTools/SCons/Tools/SLOCCount.py
@@ -1,17 +1,17 @@
import SCons.Util, os.path, os
def generate(env) :
- def createSLOCCount(env, source) :
- myenv = env.Clone()
- myenv["ENV"]["HOME"] = os.environ["HOME"]
- source = myenv.Dir(source)
- target = myenv.File("#/" + source.path + ".sloccount")
- # FIXME: There's probably a better way to force building the .sc
- if os.path.exists(target.abspath) :
- os.unlink(target.abspath)
- return myenv.Command(target, source, [SCons.Action.Action("sloccount --duplicates --wide --details " + source.path + " | grep -v qrc_ > $TARGET", cmdstr = "$GENCOMSTR")])
+ def createSLOCCount(env, source) :
+ myenv = env.Clone()
+ myenv["ENV"]["HOME"] = os.environ["HOME"]
+ source = myenv.Dir(source)
+ target = myenv.File("#/" + source.path + ".sloccount")
+ # FIXME: There's probably a better way to force building the .sc
+ if os.path.exists(target.abspath) :
+ os.unlink(target.abspath)
+ return myenv.Command(target, source, [SCons.Action.Action("sloccount --duplicates --wide --details " + source.path + " | grep -v qrc_ > $TARGET", cmdstr = "$GENCOMSTR")])
- env.AddMethod(createSLOCCount, "SLOCCount")
+ env.AddMethod(createSLOCCount, "SLOCCount")
def exists(env) :
- return True
+ return True
diff --git a/BuildTools/SCons/Tools/Test.py b/BuildTools/SCons/Tools/Test.py
index 1eee4f6..72acb22 100644
--- a/BuildTools/SCons/Tools/Test.py
+++ b/BuildTools/SCons/Tools/Test.py
@@ -1,53 +1,53 @@
import SCons.Util, os
def generate(env) :
- def registerTest(env, target, type = "unit", is_checker = False) :
- if env["TEST_TYPE"] == "all" or env["TEST_TYPE"] == type :
- if SCons.Util.is_List(target) :
- cmd = target[0].abspath
- else :
- cmd = target.abspath
- params = ""
-
- # Special support for unittest checker
- if is_checker and env.get("checker_report", False) :
- params = " --xml > " + os.path.join(target[0].dir.path, "checker-report.xml")
-
- ignore_prefix = ""
- if env.get("TEST_IGNORE_RESULT", False) :
- ignore_prefix = "-"
-
- # Set environment variables for running the test
- test_env = env.Clone()
- for i in ["HOME", "USERPROFILE", "APPDATA", "ASAN_OPTIONS", "LSAN_OPTIONS", "SWIFT_NETWORK_TEST_IPV4", "SWIFT_NETWORK_TEST_IPV6"]:
- if os.environ.get(i, "") :
- test_env["ENV"][i] = os.environ[i]
- if env["target"] == "android" :
- test_env["ENV"]["PATH"] = env["android_sdk_bin"] + ";" + test_env["ENV"]["PATH"]
- else :
- if test_env["PLATFORM"] == "darwin" :
- test_env["ENV"]["DYLD_FALLBACK_LIBRARY_PATH"] = ":".join(map(lambda x : str(x), test_env.get("LIBPATH", [])))
- elif test_env["PLATFORM"] == "win32" :
- test_env["ENV"]["PATH"] = ";".join(map(lambda x : str(x), test_env.get("LIBRUNPATH", []))) + ";" + test_env["ENV"]["PATH"]
-
-
- # Run the test
- if env["target"] == "android":
- exec_name = os.path.basename(cmd)
- test_env.Command("**dummy**", target, SCons.Action.Action(
- ["adb shell mount -o rw,remount /system",
- "adb push " + cmd + " /system/bin/" + exec_name,
- "adb shell SWIFT_CLIENTTEST_JID=\"" + os.getenv("SWIFT_CLIENTTEST_JID") + "\" SWIFT_CLIENTTEST_PASS=\"" + os.getenv("SWIFT_CLIENTTEST_PASS") + "\" " + env.get("TEST_RUNNER", "") + "/system/bin/" + exec_name], cmdstr = "$TESTCOMSTR"))
- else :
- test_env.Command("**dummy**", target,
- SCons.Action.Action(ignore_prefix + env.get("TEST_RUNNER", "") + cmd + " " + params, cmdstr = "$TESTCOMSTR"))
-
- def registerScriptTests(env, scripts, name, type) :
- if env["TEST_TYPE"] == "all" or env["TEST_TYPE"] == type :
- pass
-
- env.AddMethod(registerTest, "Test")
- env.AddMethod(registerScriptTests, "ScriptTests")
+ def registerTest(env, target, type = "unit", is_checker = False) :
+ if env["TEST_TYPE"] == "all" or env["TEST_TYPE"] == type :
+ if SCons.Util.is_List(target) :
+ cmd = target[0].abspath
+ else :
+ cmd = target.abspath
+ params = ""
+
+ # Special support for unittest checker
+ if is_checker and env.get("checker_report", False) :
+ params = " --xml > " + os.path.join(target[0].dir.path, "checker-report.xml")
+
+ ignore_prefix = ""
+ if env.get("TEST_IGNORE_RESULT", False) :
+ ignore_prefix = "-"
+
+ # Set environment variables for running the test
+ test_env = env.Clone()
+ for i in ["HOME", "USERPROFILE", "APPDATA", "ASAN_OPTIONS", "LSAN_OPTIONS", "SWIFT_NETWORK_TEST_IPV4", "SWIFT_NETWORK_TEST_IPV6"]:
+ if os.environ.get(i, "") :
+ test_env["ENV"][i] = os.environ[i]
+ if env["target"] == "android" :
+ test_env["ENV"]["PATH"] = env["android_sdk_bin"] + ";" + test_env["ENV"]["PATH"]
+ else :
+ if test_env["PLATFORM"] == "darwin" :
+ test_env["ENV"]["DYLD_FALLBACK_LIBRARY_PATH"] = ":".join(map(lambda x : str(x), test_env.get("LIBPATH", [])))
+ elif test_env["PLATFORM"] == "win32" :
+ test_env["ENV"]["PATH"] = ";".join(map(lambda x : str(x), test_env.get("LIBRUNPATH", []))) + ";" + test_env["ENV"]["PATH"]
+
+
+ # Run the test
+ if env["target"] == "android":
+ exec_name = os.path.basename(cmd)
+ test_env.Command("**dummy**", target, SCons.Action.Action(
+ ["adb shell mount -o rw,remount /system",
+ "adb push " + cmd + " /system/bin/" + exec_name,
+ "adb shell SWIFT_CLIENTTEST_JID=\"" + os.getenv("SWIFT_CLIENTTEST_JID") + "\" SWIFT_CLIENTTEST_PASS=\"" + os.getenv("SWIFT_CLIENTTEST_PASS") + "\" " + env.get("TEST_RUNNER", "") + "/system/bin/" + exec_name], cmdstr = "$TESTCOMSTR"))
+ else :
+ test_env.Command("**dummy**", target,
+ SCons.Action.Action(ignore_prefix + env.get("TEST_RUNNER", "") + cmd + " " + params, cmdstr = "$TESTCOMSTR"))
+
+ def registerScriptTests(env, scripts, name, type) :
+ if env["TEST_TYPE"] == "all" or env["TEST_TYPE"] == type :
+ pass
+
+ env.AddMethod(registerTest, "Test")
+ env.AddMethod(registerScriptTests, "ScriptTests")
def exists(env) :
- return True
+ return True
diff --git a/BuildTools/SCons/Tools/WindowsBundle.py b/BuildTools/SCons/Tools/WindowsBundle.py
index ef77acb..20d41ff 100644
--- a/BuildTools/SCons/Tools/WindowsBundle.py
+++ b/BuildTools/SCons/Tools/WindowsBundle.py
@@ -4,119 +4,119 @@ import re
import shutil
def which(program_name):
- if hasattr(shutil, "which"):
- return shutil.which(program_name)
- else:
- path = os.getenv('PATH')
- for p in path.split(os.path.pathsep):
- p = os.path.join(p,program_name)
- if os.path.exists(p) and os.access(p,os.X_OK):
- return p
+ if hasattr(shutil, "which"):
+ return shutil.which(program_name)
+ else:
+ path = os.getenv('PATH')
+ for p in path.split(os.path.pathsep):
+ p = os.path.join(p,program_name)
+ if os.path.exists(p) and os.access(p,os.X_OK):
+ return p
def generate(env) :
- def captureWinDeployQtMapping(release = True):
- p = False
-
- qt_bin_folder = ""
- if "QTDIR" in env:
- qt_bin_folder = env["QTDIR"] + "\\bin;"
-
- environ = {"PATH": qt_bin_folder + os.getenv("PATH"), "TEMP": os.getenv("TEMP"), "TMP": os.getenv("TMP")}
-
- if release:
- p = subprocess.Popen(['windeployqt', '--release', '--dry-run', '--list', 'mapping', 'Swift.exe'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=environ)
- else:
- p = subprocess.Popen(['windeployqt', '--debug', '--dry-run', '--list', 'mapping', 'Swift.exe'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=environ)
-
- if p:
- stdout, stderr = p.communicate()
-
- mappings = []
-
- p = re.compile(ur'"([^\"]*)" "([^\"]*)"')
-
- matches = re.findall(p, stdout)
- for match in matches:
- mappings.append(match)
- return mappings
- else:
- return False
-
- def createWindowsBundleManual(env, bundle, resources = {}, qtplugins = {}, qtlibs = [], qtversion = '4') :
- all_files = []
- all_files += env.Install(bundle, bundle + ".exe")
- for lib in qtlibs :
- all_files += env.Install(bundle, os.path.join(env["QTDIR"], "bin", lib + ".dll"))
- plugins_suffix = '4'
- if qtversion == '5' :
- plugins_suffix = ''
- for plugin_type in qtplugins:
- all_files += env.Install(os.path.join(bundle, plugin_type), [os.path.join(env["QTDIR"], "plugins", plugin_type, "q" + plugin + plugins_suffix + ".dll") for plugin in qtplugins[plugin_type]])
- for dir, resourceFiles in resources.items() :
- for resource in resourceFiles :
- e = env.Entry(resource)
- if e.isdir() :
- for subresource in env.Glob(str(e) + "/*") :
- all_files += env.Install(os.path.join(bundle, dir, e.name), subresource)
- else :
- all_files += env.Install(os.path.join(bundle, dir), resource)
- return all_files
-
- # This version of uses windeployqt tool
- def createWindowsBundleWithWinDeployQt(env, bundle, resources = {}, qtplugins = {}, qtlibs = [], qtversion = '4') :
- assert(qtversion == '5')
- all_files = []
-
- # add swift executable
- all_files += env.Install(bundle, bundle + ".exe")
-
- # adding resources (swift sounds/images/translations)
- for dir, resourceFiles in resources.items() :
- for resource in resourceFiles :
- e = env.Entry(resource)
- if e.isdir() :
- for subresource in env.Glob(str(e) + "/*") :
- all_files += env.Install(os.path.join(bundle, dir, e.name), subresource)
- else :
- all_files += env.Install(os.path.join(bundle, dir), resource)
-
- qtmappings = captureWinDeployQtMapping()
- assert(qtmappings)
-
- # handle core DLLs
- qt_corelib_regex = re.compile(ur".*bin.*\\(.*)\.dll")
-
- for qtlib in qtlibs:
- if qtlib.startswith("Qt5"):
- (src_path, target_path) = next(((src_path, target_path) for (src_path, target_path) in qtmappings if qt_corelib_regex.match(src_path) and qt_corelib_regex.match(src_path).group(1) == qtlib), (None, None))
- if src_path != None:
- all_files += env.Install(bundle, src_path)
-
- # handle core dependencies
- for (src_path, target_path) in qtmappings:
- if qt_corelib_regex.match(src_path) and not qt_corelib_regex.match(src_path).group(1).startswith("Qt5"):
- all_files += env.Install(bundle, src_path)
-
- # handle plugins
- qt_plugin_regex = re.compile(ur".*plugins.*\\(.*)\\(.*)\.dll")
- for (src_path, target_path) in qtmappings:
- if qt_plugin_regex.match(src_path):
- plugin_folder, filename = qt_plugin_regex.match(src_path).groups()
- try:
- if plugin_folder in ["audio"] or filename[1:] in qtplugins[plugin_folder]:
- all_files += env.Install(os.path.join(bundle, plugin_folder), src_path)
- except:
- pass
- return all_files
-
- def createWindowsBundle(env, bundle, resources = {}, qtplugins = {}, qtlibs = [], qtversion = '4'):
- if which("windeployqt.exe"):
- return createWindowsBundleWithWinDeployQt(env, bundle, resources, qtplugins, qtlibs, qtversion)
- else:
- return createWindowsBundleManual(env, bundle, resources, qtplugins, qtlibs, qtversion)
-
- env.AddMethod(createWindowsBundle, "WindowsBundle")
+ def captureWinDeployQtMapping(release = True):
+ p = False
+
+ qt_bin_folder = ""
+ if "QTDIR" in env:
+ qt_bin_folder = env["QTDIR"] + "\\bin;"
+
+ environ = {"PATH": qt_bin_folder + os.getenv("PATH"), "TEMP": os.getenv("TEMP"), "TMP": os.getenv("TMP")}
+
+ if release:
+ p = subprocess.Popen(['windeployqt', '--release', '--dry-run', '--list', 'mapping', 'Swift.exe'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=environ)
+ else:
+ p = subprocess.Popen(['windeployqt', '--debug', '--dry-run', '--list', 'mapping', 'Swift.exe'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=environ)
+
+ if p:
+ stdout, stderr = p.communicate()
+
+ mappings = []
+
+ p = re.compile(ur'"([^\"]*)" "([^\"]*)"')
+
+ matches = re.findall(p, stdout)
+ for match in matches:
+ mappings.append(match)
+ return mappings
+ else:
+ return False
+
+ def createWindowsBundleManual(env, bundle, resources = {}, qtplugins = {}, qtlibs = [], qtversion = '4') :
+ all_files = []
+ all_files += env.Install(bundle, bundle + ".exe")
+ for lib in qtlibs :
+ all_files += env.Install(bundle, os.path.join(env["QTDIR"], "bin", lib + ".dll"))
+ plugins_suffix = '4'
+ if qtversion == '5' :
+ plugins_suffix = ''
+ for plugin_type in qtplugins:
+ all_files += env.Install(os.path.join(bundle, plugin_type), [os.path.join(env["QTDIR"], "plugins", plugin_type, "q" + plugin + plugins_suffix + ".dll") for plugin in qtplugins[plugin_type]])
+ for dir, resourceFiles in resources.items() :
+ for resource in resourceFiles :
+ e = env.Entry(resource)
+ if e.isdir() :
+ for subresource in env.Glob(str(e) + "/*") :
+ all_files += env.Install(os.path.join(bundle, dir, e.name), subresource)
+ else :
+ all_files += env.Install(os.path.join(bundle, dir), resource)
+ return all_files
+
+ # This version of uses windeployqt tool
+ def createWindowsBundleWithWinDeployQt(env, bundle, resources = {}, qtplugins = {}, qtlibs = [], qtversion = '4') :
+ assert(qtversion == '5')
+ all_files = []
+
+ # add swift executable
+ all_files += env.Install(bundle, bundle + ".exe")
+
+ # adding resources (swift sounds/images/translations)
+ for dir, resourceFiles in resources.items() :
+ for resource in resourceFiles :
+ e = env.Entry(resource)
+ if e.isdir() :
+ for subresource in env.Glob(str(e) + "/*") :
+ all_files += env.Install(os.path.join(bundle, dir, e.name), subresource)
+ else :
+ all_files += env.Install(os.path.join(bundle, dir), resource)
+
+ qtmappings = captureWinDeployQtMapping()
+ assert(qtmappings)
+
+ # handle core DLLs
+ qt_corelib_regex = re.compile(ur".*bin.*\\(.*)\.dll")
+
+ for qtlib in qtlibs:
+ if qtlib.startswith("Qt5"):
+ (src_path, target_path) = next(((src_path, target_path) for (src_path, target_path) in qtmappings if qt_corelib_regex.match(src_path) and qt_corelib_regex.match(src_path).group(1) == qtlib), (None, None))
+ if src_path != None:
+ all_files += env.Install(bundle, src_path)
+
+ # handle core dependencies
+ for (src_path, target_path) in qtmappings:
+ if qt_corelib_regex.match(src_path) and not qt_corelib_regex.match(src_path).group(1).startswith("Qt5"):
+ all_files += env.Install(bundle, src_path)
+
+ # handle plugins
+ qt_plugin_regex = re.compile(ur".*plugins.*\\(.*)\\(.*)\.dll")
+ for (src_path, target_path) in qtmappings:
+ if qt_plugin_regex.match(src_path):
+ plugin_folder, filename = qt_plugin_regex.match(src_path).groups()
+ try:
+ if plugin_folder in ["audio"] or filename[1:] in qtplugins[plugin_folder]:
+ all_files += env.Install(os.path.join(bundle, plugin_folder), src_path)
+ except:
+ pass
+ return all_files
+
+ def createWindowsBundle(env, bundle, resources = {}, qtplugins = {}, qtlibs = [], qtversion = '4'):
+ if which("windeployqt.exe"):
+ return createWindowsBundleWithWinDeployQt(env, bundle, resources, qtplugins, qtlibs, qtversion)
+ else:
+ return createWindowsBundleManual(env, bundle, resources, qtplugins, qtlibs, qtversion)
+
+ env.AddMethod(createWindowsBundle, "WindowsBundle")
def exists(env) :
- return env["PLATFORM"] == "win32"
+ return env["PLATFORM"] == "win32"
diff --git a/BuildTools/SCons/Tools/WriteVal.py b/BuildTools/SCons/Tools/WriteVal.py
index 4e8d3bb..ad77a99 100644
--- a/BuildTools/SCons/Tools/WriteVal.py
+++ b/BuildTools/SCons/Tools/WriteVal.py
@@ -1,15 +1,15 @@
import SCons.Util
def generate(env) :
- def replacePragmaOnce(env, target, source) :
- f = open(str(target[0]), 'wb')
- f.write(source[0].get_contents())
- f.close()
+ def replacePragmaOnce(env, target, source) :
+ f = open(str(target[0]), 'wb')
+ f.write(source[0].get_contents())
+ f.close()
- env["BUILDERS"]["WriteVal"] = SCons.Builder.Builder(
- action = SCons.Action.Action(replacePragmaOnce, cmdstr = "$GENCOMSTR"),
- single_source = True)
+ env["BUILDERS"]["WriteVal"] = SCons.Builder.Builder(
+ action = SCons.Action.Action(replacePragmaOnce, cmdstr = "$GENCOMSTR"),
+ single_source = True)
def exists(env) :
- return True
+ return True
diff --git a/BuildTools/SCons/Tools/nsis.py b/BuildTools/SCons/Tools/nsis.py
index f5b2905..393beb8 100644
--- a/BuildTools/SCons/Tools/nsis.py
+++ b/BuildTools/SCons/Tools/nsis.py
@@ -6,34 +6,34 @@ nsisIncludes_re = re.compile(r'^\s*!include (translations-\S*)', re.M)
"""
TODO:
- - Extract the target from the nsis file
- - When a target is provided use the output function
+ - Extract the target from the nsis file
+ - When a target is provided use the output function
"""
def generate(env) :
- """Add Builders and construction variables for qt to an Environment."""
- Builder = SCons.Builder.Builder
+ """Add Builders and construction variables for qt to an Environment."""
+ Builder = SCons.Builder.Builder
- env['NSIS_MAKENSIS'] = 'makensis'
- env['NSIS_OPTIONS'] = ["/V2"]
- def winToLocalReformat(path) :
- return os.path.join(*path.split("\\"))
- def scanNsisContent(node, env, path, arg):
- contents = node.get_contents()
- includes = nsisFiles_re.findall(contents) + nsisIncludes_re.findall(contents)
- includes = [ winToLocalReformat(include) for include in includes ]
- return filter(lambda x: x.rfind('*')==-1, includes)
- nsisscanner = env.Scanner(name = 'nsisfile',
- function = scanNsisContent,
- argument = None,
- skeys = ['.nsi'])
- nsisbuilder = Builder(
- action = SCons.Action.Action('$NSIS_MAKENSIS $NSIS_OPTIONS $SOURCE', cmdstr = '$NSISCOMSTR'),
- source_scanner = nsisscanner,
- single_source = True
- )
- env.Append( BUILDERS={'Nsis' : nsisbuilder} )
+ env['NSIS_MAKENSIS'] = 'makensis'
+ env['NSIS_OPTIONS'] = ["/V2"]
+ def winToLocalReformat(path) :
+ return os.path.join(*path.split("\\"))
+ def scanNsisContent(node, env, path, arg):
+ contents = node.get_contents()
+ includes = nsisFiles_re.findall(contents) + nsisIncludes_re.findall(contents)
+ includes = [ winToLocalReformat(include) for include in includes ]
+ return filter(lambda x: x.rfind('*')==-1, includes)
+ nsisscanner = env.Scanner(name = 'nsisfile',
+ function = scanNsisContent,
+ argument = None,
+ skeys = ['.nsi'])
+ nsisbuilder = Builder(
+ action = SCons.Action.Action('$NSIS_MAKENSIS $NSIS_OPTIONS $SOURCE', cmdstr = '$NSISCOMSTR'),
+ source_scanner = nsisscanner,
+ single_source = True
+ )
+ env.Append( BUILDERS={'Nsis' : nsisbuilder} )
def exists(env) :
- return True
+ return True
diff --git a/BuildTools/SCons/Tools/qt4.py b/BuildTools/SCons/Tools/qt4.py
index 1d03c00..a0b29ba 100644
--- a/BuildTools/SCons/Tools/qt4.py
+++ b/BuildTools/SCons/Tools/qt4.py
@@ -47,24 +47,24 @@ import SCons.Util
import SCons.SConf
class ToolQtWarning(SCons.Warnings.Warning):
- pass
+ pass
class GeneratedMocFileNotIncluded(ToolQtWarning):
- pass
+ pass
class QtdirNotFound(ToolQtWarning):
- pass
+ pass
SCons.Warnings.enableWarningClass(ToolQtWarning)
qrcinclude_re = re.compile(r'<file (alias=\"[^\"]*\")?>([^<]*)</file>', re.M)
def transformToWinePath(path) :
- return os.popen('winepath -w "%s"'%path).read().strip().replace('\\','/')
+ return os.popen('winepath -w "%s"'%path).read().strip().replace('\\','/')
header_extensions = [".h", ".hxx", ".hpp", ".hh"]
if SCons.Util.case_sensitive_suffixes('.h', '.H'):
- header_extensions.append('.H')
+ header_extensions.append('.H')
# TODO: The following two lines will work when integrated back to SCons
# TODO: Meanwhile the third line will do the work
#cplusplus = __import__('c++', globals(), locals(), [])
@@ -72,519 +72,519 @@ if SCons.Util.case_sensitive_suffixes('.h', '.H'):
cxx_suffixes = [".c", ".cxx", ".cpp", ".cc"]
def checkMocIncluded(target, source, env):
- moc = target[0]
- cpp = source[0]
- # looks like cpp.includes is cleared before the build stage :-(
- # not really sure about the path transformations (moc.cwd? cpp.cwd?) :-/
- path = SCons.Defaults.CScan.path_function(env, moc.cwd)
- includes = SCons.Defaults.CScan(cpp, env, path)
- if not moc in includes:
- SCons.Warnings.warn(
- GeneratedMocFileNotIncluded,
- "Generated moc file '%s' is not included by '%s'" %
- (str(moc), str(cpp)))
+ moc = target[0]
+ cpp = source[0]
+ # looks like cpp.includes is cleared before the build stage :-(
+ # not really sure about the path transformations (moc.cwd? cpp.cwd?) :-/
+ path = SCons.Defaults.CScan.path_function(env, moc.cwd)
+ includes = SCons.Defaults.CScan(cpp, env, path)
+ if not moc in includes:
+ SCons.Warnings.warn(
+ GeneratedMocFileNotIncluded,
+ "Generated moc file '%s' is not included by '%s'" %
+ (str(moc), str(cpp)))
def find_file(filename, paths, node_factory):
- for dir in paths:
- node = node_factory(filename, dir)
- if node.rexists():
- return node
- return None
+ for dir in paths:
+ node = node_factory(filename, dir)
+ if node.rexists():
+ return node
+ return None
class _Automoc:
- """
- Callable class, which works as an emitter for Programs, SharedLibraries and
- StaticLibraries.
- """
-
- def __init__(self, objBuilderName):
- self.objBuilderName = objBuilderName
-
- def __call__(self, target, source, env):
- """
- Smart autoscan function. Gets the list of objects for the Program
- or Lib. Adds objects and builders for the special qt files.
- """
- try:
- if int(env.subst('$QT4_AUTOSCAN')) == 0:
- return target, source
- except ValueError:
- pass
- try:
- debug = int(env.subst('$QT4_DEBUG'))
- except ValueError:
- debug = 0
-
- # some shortcuts used in the scanner
- splitext = SCons.Util.splitext
- objBuilder = getattr(env, self.objBuilderName)
-
- # some regular expressions:
- # Q_OBJECT detection
- q_object_search = re.compile(r'[^A-Za-z0-9]Q_OBJECT[^A-Za-z0-9]')
- # cxx and c comment 'eater'
- #comment = re.compile(r'(//.*)|(/\*(([^*])|(\*[^/]))*\*/)')
- # CW: something must be wrong with the regexp. See also bug #998222
- # CURRENTLY THERE IS NO TEST CASE FOR THAT
-
- # The following is kind of hacky to get builders working properly (FIXME)
- objBuilderEnv = objBuilder.env
- objBuilder.env = env
- mocBuilderEnv = env.Moc4.env
- env.Moc4.env = env
-
- # make a deep copy for the result; MocH objects will be appended
- out_sources = source[:]
-
- for obj in source:
- if isinstance(obj,basestring): # big kludge!
- print "scons: qt4: '%s' MAYBE USING AN OLD SCONS VERSION AND NOT CONVERTED TO 'File'. Discarded." % str(obj)
- continue
- if not obj.has_builder():
- # binary obj file provided
- if debug:
- print "scons: qt: '%s' seems to be a binary. Discarded." % str(obj)
- continue
- cpp = obj.sources[0]
- if not splitext(str(cpp))[1] in cxx_suffixes:
- if debug:
- print "scons: qt: '%s' is no cxx file. Discarded." % str(cpp)
- # c or fortran source
- continue
- #cpp_contents = comment.sub('', cpp.get_contents())
- try:
- cpp_contents = cpp.get_contents()
- except: continue # may be an still not generated source
- h=None
- for h_ext in header_extensions:
- # try to find the header file in the corresponding source
- # directory
- hname = splitext(cpp.name)[0] + h_ext
- h = find_file(hname, (cpp.get_dir(),), env.File)
- if h:
- if debug:
- print "scons: qt: Scanning '%s' (header of '%s')" % (str(h), str(cpp))
- #h_contents = comment.sub('', h.get_contents())
- h_contents = h.get_contents()
- break
- if not h and debug:
- print "scons: qt: no header for '%s'." % (str(cpp))
- if h and q_object_search.search(h_contents):
- # h file with the Q_OBJECT macro found -> add moc_cpp
- moc_cpp = env.Moc4(h)
- moc_o = objBuilder(moc_cpp)
- out_sources.append(moc_o)
- #moc_cpp.target_scanner = SCons.Defaults.CScan
- if debug:
- print "scons: qt: found Q_OBJECT macro in '%s', moc'ing to '%s'" % (str(h), str(moc_cpp))
- if cpp and q_object_search.search(cpp_contents):
- # cpp file with Q_OBJECT macro found -> add moc
- # (to be included in cpp)
- moc = env.Moc4(cpp)
- env.Ignore(moc, moc)
- if debug:
- print "scons: qt: found Q_OBJECT macro in '%s', moc'ing to '%s'" % (str(cpp), str(moc))
- #moc.source_scanner = SCons.Defaults.CScan
- # restore the original env attributes (FIXME)
- objBuilder.env = objBuilderEnv
- env.Moc4.env = mocBuilderEnv
-
- return (target, out_sources)
+ """
+ Callable class, which works as an emitter for Programs, SharedLibraries and
+ StaticLibraries.
+ """
+
+ def __init__(self, objBuilderName):
+ self.objBuilderName = objBuilderName
+
+ def __call__(self, target, source, env):
+ """
+ Smart autoscan function. Gets the list of objects for the Program
+ or Lib. Adds objects and builders for the special qt files.
+ """
+ try:
+ if int(env.subst('$QT4_AUTOSCAN')) == 0:
+ return target, source
+ except ValueError:
+ pass
+ try:
+ debug = int(env.subst('$QT4_DEBUG'))
+ except ValueError:
+ debug = 0
+
+ # some shortcuts used in the scanner
+ splitext = SCons.Util.splitext
+ objBuilder = getattr(env, self.objBuilderName)
+
+ # some regular expressions:
+ # Q_OBJECT detection
+ q_object_search = re.compile(r'[^A-Za-z0-9]Q_OBJECT[^A-Za-z0-9]')
+ # cxx and c comment 'eater'
+ #comment = re.compile(r'(//.*)|(/\*(([^*])|(\*[^/]))*\*/)')
+ # CW: something must be wrong with the regexp. See also bug #998222
+ # CURRENTLY THERE IS NO TEST CASE FOR THAT
+
+ # The following is kind of hacky to get builders working properly (FIXME)
+ objBuilderEnv = objBuilder.env
+ objBuilder.env = env
+ mocBuilderEnv = env.Moc4.env
+ env.Moc4.env = env
+
+ # make a deep copy for the result; MocH objects will be appended
+ out_sources = source[:]
+
+ for obj in source:
+ if isinstance(obj,basestring): # big kludge!
+ print "scons: qt4: '%s' MAYBE USING AN OLD SCONS VERSION AND NOT CONVERTED TO 'File'. Discarded." % str(obj)
+ continue
+ if not obj.has_builder():
+ # binary obj file provided
+ if debug:
+ print "scons: qt: '%s' seems to be a binary. Discarded." % str(obj)
+ continue
+ cpp = obj.sources[0]
+ if not splitext(str(cpp))[1] in cxx_suffixes:
+ if debug:
+ print "scons: qt: '%s' is no cxx file. Discarded." % str(cpp)
+ # c or fortran source
+ continue
+ #cpp_contents = comment.sub('', cpp.get_contents())
+ try:
+ cpp_contents = cpp.get_contents()
+ except: continue # may be an still not generated source
+ h=None
+ for h_ext in header_extensions:
+ # try to find the header file in the corresponding source
+ # directory
+ hname = splitext(cpp.name)[0] + h_ext
+ h = find_file(hname, (cpp.get_dir(),), env.File)
+ if h:
+ if debug:
+ print "scons: qt: Scanning '%s' (header of '%s')" % (str(h), str(cpp))
+ #h_contents = comment.sub('', h.get_contents())
+ h_contents = h.get_contents()
+ break
+ if not h and debug:
+ print "scons: qt: no header for '%s'." % (str(cpp))
+ if h and q_object_search.search(h_contents):
+ # h file with the Q_OBJECT macro found -> add moc_cpp
+ moc_cpp = env.Moc4(h)
+ moc_o = objBuilder(moc_cpp)
+ out_sources.append(moc_o)
+ #moc_cpp.target_scanner = SCons.Defaults.CScan
+ if debug:
+ print "scons: qt: found Q_OBJECT macro in '%s', moc'ing to '%s'" % (str(h), str(moc_cpp))
+ if cpp and q_object_search.search(cpp_contents):
+ # cpp file with Q_OBJECT macro found -> add moc
+ # (to be included in cpp)
+ moc = env.Moc4(cpp)
+ env.Ignore(moc, moc)
+ if debug:
+ print "scons: qt: found Q_OBJECT macro in '%s', moc'ing to '%s'" % (str(cpp), str(moc))
+ #moc.source_scanner = SCons.Defaults.CScan
+ # restore the original env attributes (FIXME)
+ objBuilder.env = objBuilderEnv
+ env.Moc4.env = mocBuilderEnv
+
+ return (target, out_sources)
AutomocShared = _Automoc('SharedObject')
AutomocStatic = _Automoc('StaticObject')
def _detect(env):
- """Not really safe, but fast method to detect the QT library"""
- if 'QTDIR' in env :
- return env['QTDIR']
-
- if 'QTDIR' in os.environ :
- return os.environ['QTDIR']
-
- moc = None
- if env["qt5"]:
- moc = env.WhereIs('moc-qt5') or env.WhereIs('moc5') or env.WhereIs('moc')
- else :
- moc = env.WhereIs('moc-qt4') or env.WhereIs('moc4') or env.WhereIs('moc')
- if moc:
- # Test whether the moc command we found is real, or whether it is just the qtchooser dummy.
- p = subprocess.Popen([moc, "-v"], shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
- p.communicate()
- if p.returncode == 0:
- import sys
- if sys.platform == "darwin" :
- return ""
- QTDIR = os.path.dirname(os.path.dirname(moc))
- return QTDIR
-
- raise SCons.Errors.StopError(
- QtdirNotFound,
- "Could not detect Qt 4 installation")
- return None
+ """Not really safe, but fast method to detect the QT library"""
+ if 'QTDIR' in env :
+ return env['QTDIR']
+
+ if 'QTDIR' in os.environ :
+ return os.environ['QTDIR']
+
+ moc = None
+ if env["qt5"]:
+ moc = env.WhereIs('moc-qt5') or env.WhereIs('moc5') or env.WhereIs('moc')
+ else :
+ moc = env.WhereIs('moc-qt4') or env.WhereIs('moc4') or env.WhereIs('moc')
+ if moc:
+ # Test whether the moc command we found is real, or whether it is just the qtchooser dummy.
+ p = subprocess.Popen([moc, "-v"], shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ p.communicate()
+ if p.returncode == 0:
+ import sys
+ if sys.platform == "darwin" :
+ return ""
+ QTDIR = os.path.dirname(os.path.dirname(moc))
+ return QTDIR
+
+ raise SCons.Errors.StopError(
+ QtdirNotFound,
+ "Could not detect Qt 4 installation")
+ return None
def generate(env):
- """Add Builders and construction variables for qt to an Environment."""
-
- def locateQt4Command(env, command, qtdir) :
- if len(qtdir) == 0 :
- qtdir = "/usr"
- if env["qt5"]:
- suffixes = [
- '-qt5',
- '-qt5.exe',
- '5',
- '5.exe',
- '',
- '.exe',
- ]
- else :
- suffixes = [
- '-qt4',
- '-qt4.exe',
- '4',
- '4.exe',
- '',
- '.exe',
- ]
- triedPaths = []
- for suffix in suffixes :
- fullpath = os.path.join(qtdir,'bin',command + suffix)
- if os.access(fullpath, os.X_OK) :
- return fullpath
- triedPaths.append(fullpath)
-
- fullpath = env.Detect([command+'-qt4', command+'4', command])
- if not (fullpath is None) : return fullpath
-
- raise Exception("Qt4 command '" + command + "' not found. Tried: " + ', '.join(triedPaths))
-
-
- CLVar = SCons.Util.CLVar
- Action = SCons.Action.Action
- Builder = SCons.Builder.Builder
- splitext = SCons.Util.splitext
-
- env['QTDIR'] = _detect(env)
- # TODO: 'Replace' should be 'SetDefault'
-# env.SetDefault(
- env.Replace(
- QTDIR = _detect(env),
- # TODO: This is not reliable to QTDIR value changes but needed in order to support '-qt4' variants
- QT4_MOC = locateQt4Command(env,'moc', env['QTDIR']),
- QT4_UIC = locateQt4Command(env,'uic', env['QTDIR']),
- QT4_RCC = locateQt4Command(env,'rcc', env['QTDIR']),
- QT4_LUPDATE = locateQt4Command(env,'lupdate', env['QTDIR']),
- QT4_LRELEASE = locateQt4Command(env,'lrelease', env['QTDIR']),
- QT4_LIB = '', # KLUDGE to avoid linking qt3 library
-
- QT4_AUTOSCAN = 1, # Should the qt tool try to figure out, which sources are to be moc'ed?
-
- # Some QT specific flags. I don't expect someone wants to
- # manipulate those ...
- QT4_UICFLAGS = CLVar(''),
- QT4_MOCFROMHFLAGS = CLVar(''),
- QT4_MOCFROMCXXFLAGS = CLVar('-i'),
- QT4_QRCFLAGS = '--compress 9 --threshold 5',
-
- # suffixes/prefixes for the headers / sources to generate
- QT4_UISUFFIX = '.ui',
- QT4_UICDECLPREFIX = 'ui_',
- QT4_UICDECLSUFFIX = '.h',
- QT4_MOCHPREFIX = 'moc_',
- QT4_MOCHSUFFIX = '$CXXFILESUFFIX',
- QT4_MOCCXXPREFIX = '',
- QT4_MOCCXXSUFFIX = '.moc',
- QT4_QRCSUFFIX = '.qrc',
- QT4_QRCCXXSUFFIX = '$CXXFILESUFFIX',
- QT4_QRCCXXPREFIX = 'qrc_',
- QT4_MOCCPPPATH = [],
- QT4_MOCINCFLAGS = '$( ${_concat("-I", QT4_MOCCPPPATH, INCSUFFIX, __env__, RDirs)} $)',
-
- # Commands for the qt support ...
- QT4_UICCOM = '$QT4_UIC $QT4_UICFLAGS -o $TARGET $SOURCE',
- # FIXME: The -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED flag is a hack to work
- # around an issue in Qt
- # See https://bugreports.qt-project.org/browse/QTBUG-22829
- QT4_MOCFROMHCOM = '$QT4_MOC -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED $QT4_MOCFROMHFLAGS $QT4_MOCINCFLAGS -o $TARGET $SOURCE',
- QT4_MOCFROMCXXCOM = [
- '$QT4_MOC -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED $QT4_MOCFROMCXXFLAGS $QT4_MOCINCFLAGS -o $TARGET $SOURCE',
- Action(checkMocIncluded,None)],
- QT4_LUPDATECOM = '$QT4_LUPDATE $SOURCE -ts $TARGET',
- QT4_LRELEASECOM = '$QT4_LRELEASE -silent $SOURCE -qm $TARGET',
- QT4_RCCCOM = '$QT4_RCC $QT4_QRCFLAGS -name $SOURCE $SOURCE -o $TARGET',
- )
- if len(env["QTDIR"]) > 0 :
- env.Replace(QT4_LIBPATH = os.path.join('$QTDIR', 'lib'))
-
- # Translation builder
- tsbuilder = Builder(
- action = SCons.Action.Action('$QT4_LUPDATECOM'), #,'$QT4_LUPDATECOMSTR'),
- multi=1
- )
- env.Append( BUILDERS = { 'Ts': tsbuilder } )
- qmbuilder = Builder(
- action = SCons.Action.Action('$QT4_LRELEASECOM', cmdstr = '$QT4_LRELEASECOMSTR'),
- src_suffix = '.ts',
- suffix = '.qm',
- single_source = True
- )
- env.Append( BUILDERS = { 'Qm': qmbuilder } )
-
- # Resource builder
- def scanResources(node, env, path, arg):
- # I've being careful on providing names relative to the qrc file
- # If that was not needed that code could be simplified a lot
- def recursiveFiles(basepath, path) :
- result = []
- for item in os.listdir(os.path.join(basepath, path)) :
- itemPath = os.path.join(path, item)
- if os.path.isdir(os.path.join(basepath, itemPath)) :
- result += recursiveFiles(basepath, itemPath)
- else:
- result.append(itemPath)
- return result
- contents = node.get_contents()
- includes = [included[1] for included in qrcinclude_re.findall(contents)]
- qrcpath = os.path.dirname(node.path)
- dirs = [included for included in includes if os.path.isdir(os.path.join(qrcpath,included))]
- # dirs need to include files recursively
- for dir in dirs :
- includes.remove(dir)
- includes+=recursiveFiles(qrcpath,dir)
- return includes
- qrcscanner = SCons.Scanner.Scanner(name = 'qrcfile',
- function = scanResources,
- argument = None,
- skeys = ['.qrc'])
- qrcbuilder = Builder(
- action = SCons.Action.Action('$QT4_RCCCOM', cmdstr = '$QT4_RCCCOMSTR'),
- source_scanner = qrcscanner,
- src_suffix = '$QT4_QRCSUFFIX',
- suffix = '$QT4_QRCCXXSUFFIX',
- prefix = '$QT4_QRCCXXPREFIX',
- single_source = True
- )
- env.Append( BUILDERS = { 'Qrc': qrcbuilder } )
-
- # Interface builder
- uic4builder = Builder(
- action = SCons.Action.Action('$QT4_UICCOM', cmdstr = '$QT4_UICCOMSTR'),
- src_suffix='$QT4_UISUFFIX',
- suffix='$QT4_UICDECLSUFFIX',
- prefix='$QT4_UICDECLPREFIX',
- single_source = True
- #TODO: Consider the uiscanner on new scons version
- )
- env['BUILDERS']['Uic4'] = uic4builder
-
- # Metaobject builder
- mocBld = Builder(action={}, prefix={}, suffix={})
- for h in header_extensions:
- act = SCons.Action.Action('$QT4_MOCFROMHCOM', cmdstr = '$QT4_MOCFROMHCOMSTR')
- mocBld.add_action(h, act)
- mocBld.prefix[h] = '$QT4_MOCHPREFIX'
- mocBld.suffix[h] = '$QT4_MOCHSUFFIX'
- for cxx in cxx_suffixes:
- act = SCons.Action.Action('$QT4_MOCFROMCXXCOM', cmdstr = '$QT4_MOCFROMCXXCOMSTR')
- mocBld.add_action(cxx, act)
- mocBld.prefix[cxx] = '$QT4_MOCCXXPREFIX'
- mocBld.suffix[cxx] = '$QT4_MOCCXXSUFFIX'
- env['BUILDERS']['Moc4'] = mocBld
-
- # er... no idea what that was for
- static_obj, shared_obj = SCons.Tool.createObjBuilders(env)
- static_obj.src_builder.append('Uic4')
- shared_obj.src_builder.append('Uic4')
-
- # We use the emitters of Program / StaticLibrary / SharedLibrary
- # to scan for moc'able files
- # We can't refer to the builders directly, we have to fetch them
- # as Environment attributes because that sets them up to be called
- # correctly later by our emitter.
- env.AppendUnique(PROGEMITTER =[AutomocStatic],
- SHLIBEMITTER=[AutomocShared],
- LIBEMITTER =[AutomocStatic],
- # Of course, we need to link against the qt libraries
- LIBPATH=["$QT4_LIBPATH"],
- LIBS=['$QT4_LIB'])
-
- # TODO: Does dbusxml2cpp need an adapter
- env.AddMethod(enable_modules, "EnableQt4Modules")
+ """Add Builders and construction variables for qt to an Environment."""
+
+ def locateQt4Command(env, command, qtdir) :
+ if len(qtdir) == 0 :
+ qtdir = "/usr"
+ if env["qt5"]:
+ suffixes = [
+ '-qt5',
+ '-qt5.exe',
+ '5',
+ '5.exe',
+ '',
+ '.exe',
+ ]
+ else :
+ suffixes = [
+ '-qt4',
+ '-qt4.exe',
+ '4',
+ '4.exe',
+ '',
+ '.exe',
+ ]
+ triedPaths = []
+ for suffix in suffixes :
+ fullpath = os.path.join(qtdir,'bin',command + suffix)
+ if os.access(fullpath, os.X_OK) :
+ return fullpath
+ triedPaths.append(fullpath)
+
+ fullpath = env.Detect([command+'-qt4', command+'4', command])
+ if not (fullpath is None) : return fullpath
+
+ raise Exception("Qt4 command '" + command + "' not found. Tried: " + ', '.join(triedPaths))
+
+
+ CLVar = SCons.Util.CLVar
+ Action = SCons.Action.Action
+ Builder = SCons.Builder.Builder
+ splitext = SCons.Util.splitext
+
+ env['QTDIR'] = _detect(env)
+ # TODO: 'Replace' should be 'SetDefault'
+# env.SetDefault(
+ env.Replace(
+ QTDIR = _detect(env),
+ # TODO: This is not reliable to QTDIR value changes but needed in order to support '-qt4' variants
+ QT4_MOC = locateQt4Command(env,'moc', env['QTDIR']),
+ QT4_UIC = locateQt4Command(env,'uic', env['QTDIR']),
+ QT4_RCC = locateQt4Command(env,'rcc', env['QTDIR']),
+ QT4_LUPDATE = locateQt4Command(env,'lupdate', env['QTDIR']),
+ QT4_LRELEASE = locateQt4Command(env,'lrelease', env['QTDIR']),
+ QT4_LIB = '', # KLUDGE to avoid linking qt3 library
+
+ QT4_AUTOSCAN = 1, # Should the qt tool try to figure out, which sources are to be moc'ed?
+
+ # Some QT specific flags. I don't expect someone wants to
+ # manipulate those ...
+ QT4_UICFLAGS = CLVar(''),
+ QT4_MOCFROMHFLAGS = CLVar(''),
+ QT4_MOCFROMCXXFLAGS = CLVar('-i'),
+ QT4_QRCFLAGS = '--compress 9 --threshold 5',
+
+ # suffixes/prefixes for the headers / sources to generate
+ QT4_UISUFFIX = '.ui',
+ QT4_UICDECLPREFIX = 'ui_',
+ QT4_UICDECLSUFFIX = '.h',
+ QT4_MOCHPREFIX = 'moc_',
+ QT4_MOCHSUFFIX = '$CXXFILESUFFIX',
+ QT4_MOCCXXPREFIX = '',
+ QT4_MOCCXXSUFFIX = '.moc',
+ QT4_QRCSUFFIX = '.qrc',
+ QT4_QRCCXXSUFFIX = '$CXXFILESUFFIX',
+ QT4_QRCCXXPREFIX = 'qrc_',
+ QT4_MOCCPPPATH = [],
+ QT4_MOCINCFLAGS = '$( ${_concat("-I", QT4_MOCCPPPATH, INCSUFFIX, __env__, RDirs)} $)',
+
+ # Commands for the qt support ...
+ QT4_UICCOM = '$QT4_UIC $QT4_UICFLAGS -o $TARGET $SOURCE',
+ # FIXME: The -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED flag is a hack to work
+ # around an issue in Qt
+ # See https://bugreports.qt-project.org/browse/QTBUG-22829
+ QT4_MOCFROMHCOM = '$QT4_MOC -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED $QT4_MOCFROMHFLAGS $QT4_MOCINCFLAGS -o $TARGET $SOURCE',
+ QT4_MOCFROMCXXCOM = [
+ '$QT4_MOC -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED $QT4_MOCFROMCXXFLAGS $QT4_MOCINCFLAGS -o $TARGET $SOURCE',
+ Action(checkMocIncluded,None)],
+ QT4_LUPDATECOM = '$QT4_LUPDATE $SOURCE -ts $TARGET',
+ QT4_LRELEASECOM = '$QT4_LRELEASE -silent $SOURCE -qm $TARGET',
+ QT4_RCCCOM = '$QT4_RCC $QT4_QRCFLAGS -name $SOURCE $SOURCE -o $TARGET',
+ )
+ if len(env["QTDIR"]) > 0 :
+ env.Replace(QT4_LIBPATH = os.path.join('$QTDIR', 'lib'))
+
+ # Translation builder
+ tsbuilder = Builder(
+ action = SCons.Action.Action('$QT4_LUPDATECOM'), #,'$QT4_LUPDATECOMSTR'),
+ multi=1
+ )
+ env.Append( BUILDERS = { 'Ts': tsbuilder } )
+ qmbuilder = Builder(
+ action = SCons.Action.Action('$QT4_LRELEASECOM', cmdstr = '$QT4_LRELEASECOMSTR'),
+ src_suffix = '.ts',
+ suffix = '.qm',
+ single_source = True
+ )
+ env.Append( BUILDERS = { 'Qm': qmbuilder } )
+
+ # Resource builder
+ def scanResources(node, env, path, arg):
+ # I've being careful on providing names relative to the qrc file
+ # If that was not needed that code could be simplified a lot
+ def recursiveFiles(basepath, path) :
+ result = []
+ for item in os.listdir(os.path.join(basepath, path)) :
+ itemPath = os.path.join(path, item)
+ if os.path.isdir(os.path.join(basepath, itemPath)) :
+ result += recursiveFiles(basepath, itemPath)
+ else:
+ result.append(itemPath)
+ return result
+ contents = node.get_contents()
+ includes = [included[1] for included in qrcinclude_re.findall(contents)]
+ qrcpath = os.path.dirname(node.path)
+ dirs = [included for included in includes if os.path.isdir(os.path.join(qrcpath,included))]
+ # dirs need to include files recursively
+ for dir in dirs :
+ includes.remove(dir)
+ includes+=recursiveFiles(qrcpath,dir)
+ return includes
+ qrcscanner = SCons.Scanner.Scanner(name = 'qrcfile',
+ function = scanResources,
+ argument = None,
+ skeys = ['.qrc'])
+ qrcbuilder = Builder(
+ action = SCons.Action.Action('$QT4_RCCCOM', cmdstr = '$QT4_RCCCOMSTR'),
+ source_scanner = qrcscanner,
+ src_suffix = '$QT4_QRCSUFFIX',
+ suffix = '$QT4_QRCCXXSUFFIX',
+ prefix = '$QT4_QRCCXXPREFIX',
+ single_source = True
+ )
+ env.Append( BUILDERS = { 'Qrc': qrcbuilder } )
+
+ # Interface builder
+ uic4builder = Builder(
+ action = SCons.Action.Action('$QT4_UICCOM', cmdstr = '$QT4_UICCOMSTR'),
+ src_suffix='$QT4_UISUFFIX',
+ suffix='$QT4_UICDECLSUFFIX',
+ prefix='$QT4_UICDECLPREFIX',
+ single_source = True
+ #TODO: Consider the uiscanner on new scons version
+ )
+ env['BUILDERS']['Uic4'] = uic4builder
+
+ # Metaobject builder
+ mocBld = Builder(action={}, prefix={}, suffix={})
+ for h in header_extensions:
+ act = SCons.Action.Action('$QT4_MOCFROMHCOM', cmdstr = '$QT4_MOCFROMHCOMSTR')
+ mocBld.add_action(h, act)
+ mocBld.prefix[h] = '$QT4_MOCHPREFIX'
+ mocBld.suffix[h] = '$QT4_MOCHSUFFIX'
+ for cxx in cxx_suffixes:
+ act = SCons.Action.Action('$QT4_MOCFROMCXXCOM', cmdstr = '$QT4_MOCFROMCXXCOMSTR')
+ mocBld.add_action(cxx, act)
+ mocBld.prefix[cxx] = '$QT4_MOCCXXPREFIX'
+ mocBld.suffix[cxx] = '$QT4_MOCCXXSUFFIX'
+ env['BUILDERS']['Moc4'] = mocBld
+
+ # er... no idea what that was for
+ static_obj, shared_obj = SCons.Tool.createObjBuilders(env)
+ static_obj.src_builder.append('Uic4')
+ shared_obj.src_builder.append('Uic4')
+
+ # We use the emitters of Program / StaticLibrary / SharedLibrary
+ # to scan for moc'able files
+ # We can't refer to the builders directly, we have to fetch them
+ # as Environment attributes because that sets them up to be called
+ # correctly later by our emitter.
+ env.AppendUnique(PROGEMITTER =[AutomocStatic],
+ SHLIBEMITTER=[AutomocShared],
+ LIBEMITTER =[AutomocStatic],
+ # Of course, we need to link against the qt libraries
+ LIBPATH=["$QT4_LIBPATH"],
+ LIBS=['$QT4_LIB'])
+
+ # TODO: Does dbusxml2cpp need an adapter
+ env.AddMethod(enable_modules, "EnableQt4Modules")
def enable_modules(self, modules, debug=False, crosscompiling=False, version='4') :
- import sys
-
- validModules = [
- 'QtCore',
- 'QtGui',
- 'QtOpenGL',
- 'Qt3Support',
- 'QtAssistant',
- 'QtScript',
- 'QtDBus',
- 'QtSql',
- # The next modules have not been tested yet so, please
- # maybe they require additional work on non Linux platforms
- 'QtNetwork',
- 'QtSvg',
- 'QtTest',
- 'QtXml',
- 'QtXmlPatterns',
- 'QtUiTools',
- 'QtDesigner',
- 'QtDesignerComponents',
- 'QtWebKit',
- 'QtHelp',
- 'QtScript',
-
- # Qt5 modules
- 'QtWidgets',
- 'QtMultimedia',
- 'QtWebKitWidgets',
- 'QtWebChannel',
- ]
- if sys.platform != "win32" and sys.platform != "darwin" and not crosscompiling :
- validModules += ['QtX11Extras']
- staticModules = [
- 'QtUiTools',
- ]
- invalidModules=[]
- for module in modules:
- if module not in validModules :
- invalidModules.append(module)
- if invalidModules :
- raise Exception("Modules %s are not Qt4 modules. Valid Qt4 modules are: %s"% (
- str(invalidModules),str(validModules)))
-
- moduleDefines = {
- 'QtScript' : ['QT_SCRIPT_LIB'],
- 'QtSvg' : ['QT_SVG_LIB'],
- 'Qt3Support' : ['QT_QT3SUPPORT_LIB','QT3_SUPPORT'],
- 'QtSql' : ['QT_SQL_LIB'],
- 'QtXml' : ['QT_XML_LIB'],
- 'QtOpenGL' : ['QT_OPENGL_LIB'],
- 'QtGui' : ['QT_GUI_LIB'],
- 'QtWidgets' : ['QT_WIDGETS_LIB'],
- 'QtWebKitWidgets' : [],
- 'QtNetwork' : ['QT_NETWORK_LIB'],
- 'QtCore' : ['QT_CORE_LIB'],
- }
- for module in modules :
- try : self.AppendUnique(CPPDEFINES=moduleDefines[module])
- except: pass
- debugSuffix = ''
-
-
- include_flag = "-I"
- if os.path.basename(self["CC"]) in ("gcc", "clang"):
- include_flag = "-isystem"
-
-
- if sys.platform != "win32" and sys.platform != "darwin" and not crosscompiling :
- if self["qt"]:
- # The user specified qt path in config.py and we are going to use the
- # installation under that location.
- UsePkgConfig = False
- else:
- # The user did not specify a qt path in config py and we are going to
- # ask pkg-config for the correct flags.
- UsePkgConfig = True
- if not UsePkgConfig:
- if debug : debugSuffix = '_debug'
- if version == '4' :
- self.AppendUnique(CPPFLAGS = [include_flag + os.path.join("$QTDIR", "include", "phonon")])
- for module in modules :
- module_str = module
- if not version == '4' :
- module_str = module_str.replace('Qt', 'Qt5')
- self.AppendUnique(LIBS=[module_str+debugSuffix])
- self.AppendUnique(LIBPATH=[os.path.join("$QTDIR","lib")])
- self.AppendUnique(CPPFLAGS = [include_flag + os.path.join("$QTDIR","include")])
- self.AppendUnique(CPPFLAGS = [include_flag + os.path.join("$QTDIR","include", module)])
- self["QT4_MOCCPPPATH"] = self["CPPPATH"]
- return
- else:
- test_conf = self.Configure()
- modules_str = " ".join(modules)
- if not version == '4' :
- modules_str = modules_str.replace('Qt', 'Qt5')
-
- # Check if Qt is registered at pkg-config
- ret = test_conf.TryAction('pkg-config --exists \'%s\'' % modules_str)[0]
- if ret != 1:
- test_conf.Finish()
- raise Exception('Qt installation is missing packages. The following are required: %s' % modules_str)
- return
- test_conf.env.ParseConfig("pkg-config --cflags --libs " + modules_str)
- self.AppendUnique(LIBS=test_conf.env["LIBS"], LIBPATH=test_conf.env["LIBPATH"], CPPPATH=test_conf.env["CPPPATH"])
- self["QT4_MOCCPPPATH"] = self["CPPPATH"]
- test_conf.Finish()
- return
-
- if sys.platform == "win32" or crosscompiling :
- if crosscompiling:
- transformedQtdir = transformToWinePath(self['QTDIR'])
- self['QT4_MOC'] = "QTDIR=%s %s"%( transformedQtdir, self['QT4_MOC'])
- self.AppendUnique(CPPPATH=[os.path.join("$QTDIR","include")])
- try: modules.remove("QtDBus")
- except: pass
- if debug : debugSuffix = 'd'
- if "QtAssistant" in modules:
- self.AppendUnique(CPPPATH=[os.path.join("$QTDIR","include","QtAssistant")])
- modules.remove("QtAssistant")
- modules.append("QtAssistantClient")
- if version == '4' :
- # FIXME: Phonon Hack
- self.AppendUnique(LIBS=['phonon'+debugSuffix+version])
- self.AppendUnique(LIBS=[lib+debugSuffix+version for lib in modules if lib not in staticModules])
- else :
- self.AppendUnique(LIBS=[lib.replace('Qt', 'Qt5') + debugSuffix for lib in modules if lib not in staticModules])
- self.PrependUnique(LIBS=[lib+debugSuffix for lib in modules if lib in staticModules])
- if 'QtOpenGL' in modules:
- self.AppendUnique(LIBS=['opengl32'])
- elif version == '5' :
- self.Append(CPPDEFINES = ["QT_NO_OPENGL"])
- self.AppendUnique(CPPPATH=[ '$QTDIR/include/'])
- self.AppendUnique(CPPPATH=[ '$QTDIR/include/'+module for module in modules])
- if crosscompiling :
- self["QT4_MOCCPPPATH"] = [
- path.replace('$QTDIR', transformedQtdir)
- for path in self['CPPPATH'] ]
- else :
- self["QT4_MOCCPPPATH"] = self["CPPPATH"]
- self.AppendUnique(LIBPATH=[os.path.join('$QTDIR','lib')])
- self.PrependUnique(LIBS=["shell32"])
- return
-
- if sys.platform=="darwin" :
- if debug : debugSuffix = 'd'
-
- if len(self["QTDIR"]) > 0 :
- self.AppendUnique(LIBPATH=[os.path.join('$QTDIR','lib')])
- self.AppendUnique(LINKFLAGS="-F$QTDIR/lib")
- self.AppendUnique(CPPFLAGS="-iframework$QTDIR/lib")
- self.AppendUnique(LINKFLAGS="-L$QTDIR/lib") #TODO clean!
-
- # FIXME: Phonon Hack
- if version == '4' :
- self.Append(LINKFLAGS=['-framework', "phonon"])
-
- for module in modules :
- if module in staticModules :
- self.AppendUnique(LIBS=[module+debugSuffix]) # TODO: Add the debug suffix
- self.AppendUnique(LIBPATH=[os.path.join("$QTDIR","lib")])
- else :
- if len(self["QTDIR"]) > 0 :
- self.Append(CPPFLAGS = [include_flag + os.path.join("$QTDIR", "lib", module + ".framework", "Versions", version, "Headers")])
- else :
- self.Append(CPPFLAGS = [include_flag + os.path.join("/Library/Frameworks", module + ".framework", "Versions", version, "Headers")])
- self.Append(LINKFLAGS=['-framework', module])
- if 'QtOpenGL' in modules:
- self.AppendUnique(LINKFLAGS="-F/System/Library/Frameworks")
- self.Append(LINKFLAGS=['-framework', 'AGL']) #TODO ughly kludge to avoid quotes
- self.Append(LINKFLAGS=['-framework', 'OpenGL'])
- self["QT4_MOCCPPPATH"] = self["CPPPATH"]
+ import sys
+
+ validModules = [
+ 'QtCore',
+ 'QtGui',
+ 'QtOpenGL',
+ 'Qt3Support',
+ 'QtAssistant',
+ 'QtScript',
+ 'QtDBus',
+ 'QtSql',
+ # The next modules have not been tested yet so, please
+ # maybe they require additional work on non Linux platforms
+ 'QtNetwork',
+ 'QtSvg',
+ 'QtTest',
+ 'QtXml',
+ 'QtXmlPatterns',
+ 'QtUiTools',
+ 'QtDesigner',
+ 'QtDesignerComponents',
+ 'QtWebKit',
+ 'QtHelp',
+ 'QtScript',
+
+ # Qt5 modules
+ 'QtWidgets',
+ 'QtMultimedia',
+ 'QtWebKitWidgets',
+ 'QtWebChannel',
+ ]
+ if sys.platform != "win32" and sys.platform != "darwin" and not crosscompiling :
+ validModules += ['QtX11Extras']
+ staticModules = [
+ 'QtUiTools',
+ ]
+ invalidModules=[]
+ for module in modules:
+ if module not in validModules :
+ invalidModules.append(module)
+ if invalidModules :
+ raise Exception("Modules %s are not Qt4 modules. Valid Qt4 modules are: %s"% (
+ str(invalidModules),str(validModules)))
+
+ moduleDefines = {
+ 'QtScript' : ['QT_SCRIPT_LIB'],
+ 'QtSvg' : ['QT_SVG_LIB'],
+ 'Qt3Support' : ['QT_QT3SUPPORT_LIB','QT3_SUPPORT'],
+ 'QtSql' : ['QT_SQL_LIB'],
+ 'QtXml' : ['QT_XML_LIB'],
+ 'QtOpenGL' : ['QT_OPENGL_LIB'],
+ 'QtGui' : ['QT_GUI_LIB'],
+ 'QtWidgets' : ['QT_WIDGETS_LIB'],
+ 'QtWebKitWidgets' : [],
+ 'QtNetwork' : ['QT_NETWORK_LIB'],
+ 'QtCore' : ['QT_CORE_LIB'],
+ }
+ for module in modules :
+ try : self.AppendUnique(CPPDEFINES=moduleDefines[module])
+ except: pass
+ debugSuffix = ''
+
+
+ include_flag = "-I"
+ if os.path.basename(self["CC"]) in ("gcc", "clang"):
+ include_flag = "-isystem"
+
+
+ if sys.platform != "win32" and sys.platform != "darwin" and not crosscompiling :
+ if self["qt"]:
+ # The user specified qt path in config.py and we are going to use the
+ # installation under that location.
+ UsePkgConfig = False
+ else:
+ # The user did not specify a qt path in config py and we are going to
+ # ask pkg-config for the correct flags.
+ UsePkgConfig = True
+ if not UsePkgConfig:
+ if debug : debugSuffix = '_debug'
+ if version == '4' :
+ self.AppendUnique(CPPFLAGS = [include_flag + os.path.join("$QTDIR", "include", "phonon")])
+ for module in modules :
+ module_str = module
+ if not version == '4' :
+ module_str = module_str.replace('Qt', 'Qt5')
+ self.AppendUnique(LIBS=[module_str+debugSuffix])
+ self.AppendUnique(LIBPATH=[os.path.join("$QTDIR","lib")])
+ self.AppendUnique(CPPFLAGS = [include_flag + os.path.join("$QTDIR","include")])
+ self.AppendUnique(CPPFLAGS = [include_flag + os.path.join("$QTDIR","include", module)])
+ self["QT4_MOCCPPPATH"] = self["CPPPATH"]
+ return
+ else:
+ test_conf = self.Configure()
+ modules_str = " ".join(modules)
+ if not version == '4' :
+ modules_str = modules_str.replace('Qt', 'Qt5')
+
+ # Check if Qt is registered at pkg-config
+ ret = test_conf.TryAction('pkg-config --exists \'%s\'' % modules_str)[0]
+ if ret != 1:
+ test_conf.Finish()
+ raise Exception('Qt installation is missing packages. The following are required: %s' % modules_str)
+ return
+ test_conf.env.ParseConfig("pkg-config --cflags --libs " + modules_str)
+ self.AppendUnique(LIBS=test_conf.env["LIBS"], LIBPATH=test_conf.env["LIBPATH"], CPPPATH=test_conf.env["CPPPATH"])
+ self["QT4_MOCCPPPATH"] = self["CPPPATH"]
+ test_conf.Finish()
+ return
+
+ if sys.platform == "win32" or crosscompiling :
+ if crosscompiling:
+ transformedQtdir = transformToWinePath(self['QTDIR'])
+ self['QT4_MOC'] = "QTDIR=%s %s"%( transformedQtdir, self['QT4_MOC'])
+ self.AppendUnique(CPPPATH=[os.path.join("$QTDIR","include")])
+ try: modules.remove("QtDBus")
+ except: pass
+ if debug : debugSuffix = 'd'
+ if "QtAssistant" in modules:
+ self.AppendUnique(CPPPATH=[os.path.join("$QTDIR","include","QtAssistant")])
+ modules.remove("QtAssistant")
+ modules.append("QtAssistantClient")
+ if version == '4' :
+ # FIXME: Phonon Hack
+ self.AppendUnique(LIBS=['phonon'+debugSuffix+version])
+ self.AppendUnique(LIBS=[lib+debugSuffix+version for lib in modules if lib not in staticModules])
+ else :
+ self.AppendUnique(LIBS=[lib.replace('Qt', 'Qt5') + debugSuffix for lib in modules if lib not in staticModules])
+ self.PrependUnique(LIBS=[lib+debugSuffix for lib in modules if lib in staticModules])
+ if 'QtOpenGL' in modules:
+ self.AppendUnique(LIBS=['opengl32'])
+ elif version == '5' :
+ self.Append(CPPDEFINES = ["QT_NO_OPENGL"])
+ self.AppendUnique(CPPPATH=[ '$QTDIR/include/'])
+ self.AppendUnique(CPPPATH=[ '$QTDIR/include/'+module for module in modules])
+ if crosscompiling :
+ self["QT4_MOCCPPPATH"] = [
+ path.replace('$QTDIR', transformedQtdir)
+ for path in self['CPPPATH'] ]
+ else :
+ self["QT4_MOCCPPPATH"] = self["CPPPATH"]
+ self.AppendUnique(LIBPATH=[os.path.join('$QTDIR','lib')])
+ self.PrependUnique(LIBS=["shell32"])
+ return
+
+ if sys.platform=="darwin" :
+ if debug : debugSuffix = 'd'
+
+ if len(self["QTDIR"]) > 0 :
+ self.AppendUnique(LIBPATH=[os.path.join('$QTDIR','lib')])
+ self.AppendUnique(LINKFLAGS="-F$QTDIR/lib")
+ self.AppendUnique(CPPFLAGS="-iframework$QTDIR/lib")
+ self.AppendUnique(LINKFLAGS="-L$QTDIR/lib") #TODO clean!
+
+ # FIXME: Phonon Hack
+ if version == '4' :
+ self.Append(LINKFLAGS=['-framework', "phonon"])
+
+ for module in modules :
+ if module in staticModules :
+ self.AppendUnique(LIBS=[module+debugSuffix]) # TODO: Add the debug suffix
+ self.AppendUnique(LIBPATH=[os.path.join("$QTDIR","lib")])
+ else :
+ if len(self["QTDIR"]) > 0 :
+ self.Append(CPPFLAGS = [include_flag + os.path.join("$QTDIR", "lib", module + ".framework", "Versions", version, "Headers")])
+ else :
+ self.Append(CPPFLAGS = [include_flag + os.path.join("/Library/Frameworks", module + ".framework", "Versions", version, "Headers")])
+ self.Append(LINKFLAGS=['-framework', module])
+ if 'QtOpenGL' in modules:
+ self.AppendUnique(LINKFLAGS="-F/System/Library/Frameworks")
+ self.Append(LINKFLAGS=['-framework', 'AGL']) #TODO ughly kludge to avoid quotes
+ self.Append(LINKFLAGS=['-framework', 'OpenGL'])
+ self["QT4_MOCCPPPATH"] = self["CPPPATH"]
def exists(env):
- return _detect(env)
+ return _detect(env)
diff --git a/BuildTools/SCons/Tools/textfile.py b/BuildTools/SCons/Tools/textfile.py
index b290125..89f8963 100644
--- a/BuildTools/SCons/Tools/textfile.py
+++ b/BuildTools/SCons/Tools/textfile.py
@@ -25,23 +25,23 @@
__doc__ = """
Textfile/Substfile builder for SCons.
- Create file 'target' which typically is a textfile. The 'source'
- may be any combination of strings, Nodes, or lists of same. A
- 'linesep' will be put between any part written and defaults to
- os.linesep.
-
- The only difference between the Textfile builder and the Substfile
- builder is that strings are converted to Value() nodes for the
- former and File() nodes for the latter. To insert files in the
- former or strings in the latter, wrap them in a File() or Value(),
- respectively.
-
- The values of SUBST_DICT first have any construction variables
- expanded (its keys are not expanded). If a value of SUBST_DICT is
- a python callable function, it is called and the result is expanded
- as the value. Values are substituted in a "random" order; if any
- substitution could be further expanded by another subsitition, it
- is unpredictible whether the expansion will occur.
+ Create file 'target' which typically is a textfile. The 'source'
+ may be any combination of strings, Nodes, or lists of same. A
+ 'linesep' will be put between any part written and defaults to
+ os.linesep.
+
+ The only difference between the Textfile builder and the Substfile
+ builder is that strings are converted to Value() nodes for the
+ former and File() nodes for the latter. To insert files in the
+ former or strings in the latter, wrap them in a File() or Value(),
+ respectively.
+
+ The values of SUBST_DICT first have any construction variables
+ expanded (its keys are not expanded). If a value of SUBST_DICT is
+ a python callable function, it is called and the result is expanded
+ as the value. Values are substituted in a "random" order; if any
+ substitution could be further expanded by another subsitition, it
+ is unpredictible whether the expansion will occur.
"""
__revision__ = "src/engine/SCons/Tool/textfile.py 5357 2011/09/09 21:31:03 bdeegan"
@@ -56,117 +56,117 @@ from SCons.Node.Python import Value
from SCons.Util import is_String, is_Sequence, is_Dict
def _do_subst(node, subs):
- """
- Fetch the node contents and replace all instances of the keys with
- their values. For example, if subs is
- {'%VERSION%': '1.2345', '%BASE%': 'MyProg', '%prefix%': '/bin'},
- then all instances of %VERSION% in the file will be replaced with
- 1.2345 and so forth.
- """
- contents = node.get_text_contents()
- if not subs: return contents
- for (k,v) in subs:
- contents = re.sub(k, v, contents)
- return contents
+ """
+ Fetch the node contents and replace all instances of the keys with
+ their values. For example, if subs is
+ {'%VERSION%': '1.2345', '%BASE%': 'MyProg', '%prefix%': '/bin'},
+ then all instances of %VERSION% in the file will be replaced with
+ 1.2345 and so forth.
+ """
+ contents = node.get_text_contents()
+ if not subs: return contents
+ for (k,v) in subs:
+ contents = re.sub(k, v, contents)
+ return contents
def _action(target, source, env):
- # prepare the line separator
- linesep = env['LINESEPARATOR']
- if linesep is None:
- linesep = os.linesep
- elif is_String(linesep):
- pass
- elif isinstance(linesep, Value):
- linesep = linesep.get_text_contents()
- else:
- raise SCons.Errors.UserError(
- 'unexpected type/class for LINESEPARATOR: %s'
- % repr(linesep), None)
-
- # create a dictionary to use for the substitutions
- if 'SUBST_DICT' not in env:
- subs = None # no substitutions
- else:
- d = env['SUBST_DICT']
- if is_Dict(d):
- d = list(d.items())
- elif is_Sequence(d):
- pass
- else:
- raise SCons.Errors.UserError('SUBST_DICT must be dict or sequence')
- subs = []
- for (k,v) in d:
- if callable(v):
- v = v()
- if is_String(v):
- v = env.subst(v)
- else:
- v = str(v)
- subs.append((k,v))
-
- # write the file
- try:
- fd = open(target[0].get_path(), "wb")
- except (OSError,IOError), e:
- raise SCons.Errors.UserError("Can't write target file %s" % target[0])
- # separate lines by 'linesep' only if linesep is not empty
- lsep = None
- for s in source:
- if lsep: fd.write(lsep)
- fd.write(_do_subst(s, subs))
- lsep = linesep
- fd.close()
+ # prepare the line separator
+ linesep = env['LINESEPARATOR']
+ if linesep is None:
+ linesep = os.linesep
+ elif is_String(linesep):
+ pass
+ elif isinstance(linesep, Value):
+ linesep = linesep.get_text_contents()
+ else:
+ raise SCons.Errors.UserError(
+ 'unexpected type/class for LINESEPARATOR: %s'
+ % repr(linesep), None)
+
+ # create a dictionary to use for the substitutions
+ if 'SUBST_DICT' not in env:
+ subs = None # no substitutions
+ else:
+ d = env['SUBST_DICT']
+ if is_Dict(d):
+ d = list(d.items())
+ elif is_Sequence(d):
+ pass
+ else:
+ raise SCons.Errors.UserError('SUBST_DICT must be dict or sequence')
+ subs = []
+ for (k,v) in d:
+ if callable(v):
+ v = v()
+ if is_String(v):
+ v = env.subst(v)
+ else:
+ v = str(v)
+ subs.append((k,v))
+
+ # write the file
+ try:
+ fd = open(target[0].get_path(), "wb")
+ except (OSError,IOError), e:
+ raise SCons.Errors.UserError("Can't write target file %s" % target[0])
+ # separate lines by 'linesep' only if linesep is not empty
+ lsep = None
+ for s in source:
+ if lsep: fd.write(lsep)
+ fd.write(_do_subst(s, subs))
+ lsep = linesep
+ fd.close()
def _strfunc(target, source, env):
- return "Creating '%s'" % target[0]
+ return "Creating '%s'" % target[0]
def _convert_list_R(newlist, sources):
- for elem in sources:
- if is_Sequence(elem):
- _convert_list_R(newlist, elem)
- elif isinstance(elem, Node):
- newlist.append(elem)
- else:
- newlist.append(Value(elem))
+ for elem in sources:
+ if is_Sequence(elem):
+ _convert_list_R(newlist, elem)
+ elif isinstance(elem, Node):
+ newlist.append(elem)
+ else:
+ newlist.append(Value(elem))
def _convert_list(target, source, env):
- if len(target) != 1:
- raise SCons.Errors.UserError("Only one target file allowed")
- newlist = []
- _convert_list_R(newlist, source)
- return target, newlist
+ if len(target) != 1:
+ raise SCons.Errors.UserError("Only one target file allowed")
+ newlist = []
+ _convert_list_R(newlist, source)
+ return target, newlist
_common_varlist = ['SUBST_DICT', 'LINESEPARATOR']
_text_varlist = _common_varlist + ['TEXTFILEPREFIX', 'TEXTFILESUFFIX']
_text_builder = SCons.Builder.Builder(
- action = SCons.Action.Action(_action, _strfunc, varlist = _text_varlist),
- source_factory = Value,
- emitter = _convert_list,
- prefix = '$TEXTFILEPREFIX',
- suffix = '$TEXTFILESUFFIX',
- )
+ action = SCons.Action.Action(_action, _strfunc, varlist = _text_varlist),
+ source_factory = Value,
+ emitter = _convert_list,
+ prefix = '$TEXTFILEPREFIX',
+ suffix = '$TEXTFILESUFFIX',
+ )
_subst_varlist = _common_varlist + ['SUBSTFILEPREFIX', 'TEXTFILESUFFIX']
_subst_builder = SCons.Builder.Builder(
- action = SCons.Action.Action(_action, _strfunc, varlist = _subst_varlist),
- source_factory = SCons.Node.FS.File,
- emitter = _convert_list,
- prefix = '$SUBSTFILEPREFIX',
- suffix = '$SUBSTFILESUFFIX',
- src_suffix = ['.in'],
- )
+ action = SCons.Action.Action(_action, _strfunc, varlist = _subst_varlist),
+ source_factory = SCons.Node.FS.File,
+ emitter = _convert_list,
+ prefix = '$SUBSTFILEPREFIX',
+ suffix = '$SUBSTFILESUFFIX',
+ src_suffix = ['.in'],
+ )
def generate(env):
- env['LINESEPARATOR'] = os.linesep
- env['BUILDERS']['MyTextfile'] = _text_builder
- env['TEXTFILEPREFIX'] = ''
- env['TEXTFILESUFFIX'] = '.txt'
- env['BUILDERS']['MySubstfile'] = _subst_builder
- env['SUBSTFILEPREFIX'] = ''
- env['SUBSTFILESUFFIX'] = ''
+ env['LINESEPARATOR'] = os.linesep
+ env['BUILDERS']['MyTextfile'] = _text_builder
+ env['TEXTFILEPREFIX'] = ''
+ env['TEXTFILESUFFIX'] = '.txt'
+ env['BUILDERS']['MySubstfile'] = _subst_builder
+ env['SUBSTFILEPREFIX'] = ''
+ env['SUBSTFILESUFFIX'] = ''
def exists(env):
- return 1
+ return 1
# Local Variables:
# tab-width:4
diff --git a/BuildTools/SCons/Tools/wix.py b/BuildTools/SCons/Tools/wix.py
index 705d249..907b6d9 100644
--- a/BuildTools/SCons/Tools/wix.py
+++ b/BuildTools/SCons/Tools/wix.py
@@ -3,49 +3,49 @@ import SCons.Util
from subprocess import call
def generate(env) :
- wixPath = env.get("wix_bindir", "")
- if len(wixPath) > 0 and wixPath[-1] != "\\":
- wixPath += "\\"
- env['WIX_HEAT'] = wixPath + 'heat.exe'
- env['WIX_HEAT_OPTIONS'] = '-nologo -ag -sfrag -suid -template fragment -dr ProgramFilesFolder'
- env['WIX_CANDLE'] = wixPath + 'candle.exe'
- env['WIX_CANDLE_OPTIONS'] = '-nologo'
- env['WIX_LIGHT'] = wixPath + 'light.exe'
- env['WIX_LIGHT_OPTIONS'] = '-nologo -ext WixUIExtension'
-
- def WiX_IncludeScanner(source, env, path, arg):
- wixIncludeRegexp = re.compile(r'^\s*\<\?include (\S+.wxs)\s*\?\>\S*', re.M)
- contents = source.get_contents()
- includes = wixIncludeRegexp.findall(contents)
- return [ "" + include for include in includes ]
-
- heat_builder = SCons.Builder.Builder(
- action = '"$WIX_HEAT" dir "$WIX_SOURCE_OBJECT_DIR" -cg Files $WIX_HEAT_OPTIONS -o ${TARGET} -t Swift\\Packaging\\WiX\\include.xslt',
- suffix = '.wxi')
-
-
- candle_scanner = env.Scanner(name = 'wixincludefile',
- function = WiX_IncludeScanner,
- argument = None,
- skeys = ['.wxs'])
-
- candle_builder = SCons.Builder.Builder(
- action = '"$WIX_CANDLE" $WIX_CANDLE_OPTIONS ${SOURCES} -o ${TARGET}',
- src_suffix = '.wxs',
- suffix = '.wixobj',
- source_scanner = candle_scanner,
- src_builder = heat_builder)
-
-
- light_builder = SCons.Builder.Builder(
- action = '"$WIX_LIGHT" $WIX_LIGHT_OPTIONS -b "$WIX_SOURCE_OBJECT_DIR" ${SOURCES} -o ${TARGET}',
- src_suffix = '.wixobj',
- src_builder = candle_builder)
-
- env['BUILDERS']['WiX_Heat'] = heat_builder
- env['BUILDERS']['WiX_Candle'] = candle_builder
- env['BUILDERS']['WiX_Light'] = light_builder
+ wixPath = env.get("wix_bindir", "")
+ if len(wixPath) > 0 and wixPath[-1] != "\\":
+ wixPath += "\\"
+ env['WIX_HEAT'] = wixPath + 'heat.exe'
+ env['WIX_HEAT_OPTIONS'] = '-nologo -ag -sfrag -suid -template fragment -dr ProgramFilesFolder'
+ env['WIX_CANDLE'] = wixPath + 'candle.exe'
+ env['WIX_CANDLE_OPTIONS'] = '-nologo'
+ env['WIX_LIGHT'] = wixPath + 'light.exe'
+ env['WIX_LIGHT_OPTIONS'] = '-nologo -ext WixUIExtension'
+
+ def WiX_IncludeScanner(source, env, path, arg):
+ wixIncludeRegexp = re.compile(r'^\s*\<\?include (\S+.wxs)\s*\?\>\S*', re.M)
+ contents = source.get_contents()
+ includes = wixIncludeRegexp.findall(contents)
+ return [ "" + include for include in includes ]
+
+ heat_builder = SCons.Builder.Builder(
+ action = '"$WIX_HEAT" dir "$WIX_SOURCE_OBJECT_DIR" -cg Files $WIX_HEAT_OPTIONS -o ${TARGET} -t Swift\\Packaging\\WiX\\include.xslt',
+ suffix = '.wxi')
+
+
+ candle_scanner = env.Scanner(name = 'wixincludefile',
+ function = WiX_IncludeScanner,
+ argument = None,
+ skeys = ['.wxs'])
+
+ candle_builder = SCons.Builder.Builder(
+ action = '"$WIX_CANDLE" $WIX_CANDLE_OPTIONS ${SOURCES} -o ${TARGET}',
+ src_suffix = '.wxs',
+ suffix = '.wixobj',
+ source_scanner = candle_scanner,
+ src_builder = heat_builder)
+
+
+ light_builder = SCons.Builder.Builder(
+ action = '"$WIX_LIGHT" $WIX_LIGHT_OPTIONS -b "$WIX_SOURCE_OBJECT_DIR" ${SOURCES} -o ${TARGET}',
+ src_suffix = '.wixobj',
+ src_builder = candle_builder)
+
+ env['BUILDERS']['WiX_Heat'] = heat_builder
+ env['BUILDERS']['WiX_Candle'] = candle_builder
+ env['BUILDERS']['WiX_Light'] = light_builder
def exists(env) :
- return True
+ return True
diff --git a/BuildTools/SCons/Version.py b/BuildTools/SCons/Version.py
index 6482664..d34c2a7 100644
--- a/BuildTools/SCons/Version.py
+++ b/BuildTools/SCons/Version.py
@@ -1,68 +1,68 @@
import subprocess, os, datetime, re, os.path
def getGitBuildVersion(root, project) :
- tag = git("describe --tags --exact --match \"" + project + "-*\"", root)
- if tag :
- return tag.rstrip()[len(project)+1:]
- tag = git("describe --tags --match \"" + project + "-*\"", root)
- if tag :
- m = re.match(project + "-(.*)-(.*)-(.*)", tag)
- if m :
- return m.group(1) + "-dev" + m.group(2)
- return None
+ tag = git("describe --tags --exact --match \"" + project + "-*\"", root)
+ if tag :
+ return tag.rstrip()[len(project)+1:]
+ tag = git("describe --tags --match \"" + project + "-*\"", root)
+ if tag :
+ m = re.match(project + "-(.*)-(.*)-(.*)", tag)
+ if m :
+ return m.group(1) + "-dev" + m.group(2)
+ return None
def git(cmd, root) :
- full_cmd = "git " + cmd
- p = subprocess.Popen(full_cmd, cwd=root, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=(os.name != "nt"))
- gitVersion = p.stdout.read()
- # error = p.stderr.read()
- # if error:
- # print "Git error: " + error
- p.stdin.close()
- if p.wait() == 0 :
- return gitVersion
- return None
+ full_cmd = "git " + cmd
+ p = subprocess.Popen(full_cmd, cwd=root, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=(os.name != "nt"))
+ gitVersion = p.stdout.read()
+ # error = p.stderr.read()
+ # if error:
+ # print "Git error: " + error
+ p.stdin.close()
+ if p.wait() == 0 :
+ return gitVersion
+ return None
def getBuildVersion(root, project) :
- versionFilename = os.path.join(root, "VERSION." + project)
- if os.path.isfile(versionFilename) :
- f = open(versionFilename)
- version = f.read().strip()
- f.close()
- return version
+ versionFilename = os.path.join(root, "VERSION." + project)
+ if os.path.isfile(versionFilename) :
+ f = open(versionFilename)
+ version = f.read().strip()
+ f.close()
+ return version
- gitVersion = getGitBuildVersion(root, project)
- if gitVersion :
- return gitVersion
+ gitVersion = getGitBuildVersion(root, project)
+ if gitVersion :
+ return gitVersion
- return datetime.date.today().strftime("%Y%m%d")
+ return datetime.date.today().strftime("%Y%m%d")
def convertToWindowsVersion(version) :
- version_match = re.match("(\d+)\.(\d+)(.*)", version)
- major = version_match and int(version_match.group(1)) or 0
- minor = version_match and int(version_match.group(2)) or 0
- if version_match and len(version_match.group(3)) == 0 :
- patch = 60000
- else :
- match = re.match("^beta(\d+)(.*)", version_match.group(3))
- build_string = ""
- if match :
- patch = 1000*int(match.group(1))
- build_string = match.group(2)
- else :
- rc_match = re.match("^rc(\d+)(.*)", version_match.group(3))
- if rc_match :
- patch = 10000*int(rc_match.group(1))
- build_string = rc_match.group(2)
- else :
- patch = 0
- alpha_match = re.match("^alpha(.*)", version_match.group(3))
- if alpha_match :
- build_string = alpha_match.group(1)
+ version_match = re.match("(\d+)\.(\d+)(.*)", version)
+ major = version_match and int(version_match.group(1)) or 0
+ minor = version_match and int(version_match.group(2)) or 0
+ if version_match and len(version_match.group(3)) == 0 :
+ patch = 60000
+ else :
+ match = re.match("^beta(\d+)(.*)", version_match.group(3))
+ build_string = ""
+ if match :
+ patch = 1000*int(match.group(1))
+ build_string = match.group(2)
+ else :
+ rc_match = re.match("^rc(\d+)(.*)", version_match.group(3))
+ if rc_match :
+ patch = 10000*int(rc_match.group(1))
+ build_string = rc_match.group(2)
+ else :
+ patch = 0
+ alpha_match = re.match("^alpha(.*)", version_match.group(3))
+ if alpha_match :
+ build_string = alpha_match.group(1)
- if len(build_string) > 0 :
- build_match = re.match("^-dev(\d+)", build_string)
- if build_match :
- patch += int(build_match.group(1))
+ if len(build_string) > 0 :
+ build_match = re.match("^-dev(\d+)", build_string)
+ if build_match :
+ patch += int(build_match.group(1))
- return (major, minor, patch)
+ return (major, minor, patch)
diff --git a/BuildTools/UpdateDebianChangelog.py b/BuildTools/UpdateDebianChangelog.py
index 0693461..1d0e3ea 100755
--- a/BuildTools/UpdateDebianChangelog.py
+++ b/BuildTools/UpdateDebianChangelog.py
@@ -14,28 +14,28 @@ project = ""
last_version = ""
m = re.match("([\w-]+) \((.*)-\d+\)", last_version_line)
if m :
- project = m.group(1)
- last_version = m.group(2)
+ project = m.group(1)
+ last_version = m.group(2)
if project == "" :
- project="swift-im"
+ project="swift-im"
if "dev" in version :
- distribution = "development"
+ distribution = "development"
elif "beta" in version or "rc" in version :
- distribution = "beta development"
+ distribution = "beta development"
else :
- distribution = "release beta development"
+ distribution = "release beta development"
if last_version != version :
- changelog = open(sys.argv[1])
- changelog_data = changelog.read()
- changelog.close()
- changelog = open(sys.argv[1], "w")
- changelog.write(project + " (" + version + "-1)" + " " + distribution + "; urgency=low\n\n")
- changelog.write(" * Upstream development snapshot\n\n")
- changelog.write(" -- Swift Package Maintainer <packages@swift.im> " + email.utils.formatdate() + "\n")
- changelog.write("\n")
- changelog.write(changelog_data)
- changelog.close()
+ changelog = open(sys.argv[1])
+ changelog_data = changelog.read()
+ changelog.close()
+ changelog = open(sys.argv[1], "w")
+ changelog.write(project + " (" + version + "-1)" + " " + distribution + "; urgency=low\n\n")
+ changelog.write(" * Upstream development snapshot\n\n")
+ changelog.write(" -- Swift Package Maintainer <packages@swift.im> " + email.utils.formatdate() + "\n")
+ changelog.write("\n")
+ changelog.write(changelog_data)
+ changelog.close()
diff --git a/BuildTools/scons2ninja.py b/BuildTools/scons2ninja.py
index 5d084cd..91cd3cc 100755
--- a/BuildTools/scons2ninja.py
+++ b/BuildTools/scons2ninja.py
@@ -24,202 +24,202 @@ SCONS_ARGS = ' '.join(sys.argv[1:])
BINARY_FLAGS = ["-framework", "-arch", "-x", "--output-format", "-isystem", "-include"]
if sys.platform == 'win32' :
- LIB_PREFIX = ""
- LIB_SUFFIX = ""
- EXE_SUFFIX = ".exe"
+ LIB_PREFIX = ""
+ LIB_SUFFIX = ""
+ EXE_SUFFIX = ".exe"
else :
- LIB_PREFIX = "lib"
- LIB_SUFFIX = ".a"
- EXE_SUFFIX = ""
+ LIB_PREFIX = "lib"
+ LIB_SUFFIX = ".a"
+ EXE_SUFFIX = ""
def is_regexp(x) :
- return 'match' in dir(x)
+ return 'match' in dir(x)
def is_list(l) :
- return type(l) is list
+ return type(l) is list
def escape(s) :
- return s.replace(' ', '$ ').replace(':', '$:')
+ return s.replace(' ', '$ ').replace(':', '$:')
def quote_spaces(s) :
- if ' ' in s :
- return '"' + s + '"'
- else :
- return s
+ if ' ' in s :
+ return '"' + s + '"'
+ else :
+ return s
def to_list(l) :
- if not l :
- return []
- if is_list(l) :
- return l
- return [l]
+ if not l :
+ return []
+ if is_list(l) :
+ return l
+ return [l]
def partition(l, f) :
- x = []
- y = []
- for v in l :
- if f(v) :
- x.append(v)
- else :
- y.append(v)
- return (x, y)
+ x = []
+ y = []
+ for v in l :
+ if f(v) :
+ x.append(v)
+ else :
+ y.append(v)
+ return (x, y)
def get_unary_flags(prefix, flags) :
- return [x[len(prefix):] for x in flags if x.lower().startswith(prefix.lower())]
+ return [x[len(prefix):] for x in flags if x.lower().startswith(prefix.lower())]
def extract_unary_flags(prefix, flags) :
- f1, f2 = partition(flags, lambda x : x.lower().startswith(prefix.lower()))
- return ([f[len(prefix):] for f in f1], f2)
+ f1, f2 = partition(flags, lambda x : x.lower().startswith(prefix.lower()))
+ return ([f[len(prefix):] for f in f1], f2)
def extract_unary_flag(prefix, flags) :
- flag, flags = extract_unary_flags(prefix, flags)
- return (flag[0], flags)
+ flag, flags = extract_unary_flags(prefix, flags)
+ return (flag[0], flags)
def extract_binary_flag(prefix, flags) :
- i = flags.index(prefix)
- flag = flags[i + 1]
- del flags[i]
- del flags[i]
- return (flag, flags)
+ i = flags.index(prefix)
+ flag = flags[i + 1]
+ del flags[i]
+ del flags[i]
+ return (flag, flags)
def get_non_flags(flags) :
- skip = False
- result = []
- for f in flags :
- if skip :
- skip = False
- elif f in BINARY_FLAGS :
- skip = True
- elif not f.startswith("/") and not f.startswith("-") :
- result.append(f)
- return result
+ skip = False
+ result = []
+ for f in flags :
+ if skip :
+ skip = False
+ elif f in BINARY_FLAGS :
+ skip = True
+ elif not f.startswith("/") and not f.startswith("-") :
+ result.append(f)
+ return result
def extract_non_flags(flags) :
- non_flags = get_non_flags(flags)
- return (non_flags, filter(lambda x : x not in non_flags, flags))
+ non_flags = get_non_flags(flags)
+ return (non_flags, filter(lambda x : x not in non_flags, flags))
def get_dependencies(target, build_targets) :
- result = []
- queue = list(dependencies.get(target, []))
- while len(queue) > 0 :
- n = queue.pop()
- # Filter out Value() results
- if n in build_targets or os.path.exists(n) :
- result.append(n)
- queue += list(dependencies.get(n, []))
- return result
+ result = []
+ queue = list(dependencies.get(target, []))
+ while len(queue) > 0 :
+ n = queue.pop()
+ # Filter out Value() results
+ if n in build_targets or os.path.exists(n) :
+ result.append(n)
+ queue += list(dependencies.get(n, []))
+ return result
def get_built_libs(libs, libpaths, outputs) :
- canonical_outputs = [os.path.abspath(p) for p in outputs]
- result = []
- for libpath in libpaths :
- for lib in libs :
- lib_libpath = os.path.join(libpath, LIB_PREFIX + lib + LIB_SUFFIX)
- if os.path.abspath(lib_libpath) in canonical_outputs :
- result.append(lib_libpath)
- return result
+ canonical_outputs = [os.path.abspath(p) for p in outputs]
+ result = []
+ for libpath in libpaths :
+ for lib in libs :
+ lib_libpath = os.path.join(libpath, LIB_PREFIX + lib + LIB_SUFFIX)
+ if os.path.abspath(lib_libpath) in canonical_outputs :
+ result.append(lib_libpath)
+ return result
def parse_tool_command(line) :
- command = shlex.split(line, False, False if sys.platform == 'win32' else True)
- flags = command[1:]
- tool = os.path.splitext(os.path.basename(command[0]))[0]
- if tool.startswith('clang++') or tool.startswith('g++') :
- tool = "cxx"
- elif tool.startswith('clang') or tool.startswith('gcc') :
- tool = "cc"
- if tool in ["cc", "cxx"] and not "-c" in flags :
- tool = "glink"
- tool = tool.replace('-qt4', '')
- return tool, command, flags
+ command = shlex.split(line, False, False if sys.platform == 'win32' else True)
+ flags = command[1:]
+ tool = os.path.splitext(os.path.basename(command[0]))[0]
+ if tool.startswith('clang++') or tool.startswith('g++') :
+ tool = "cxx"
+ elif tool.startswith('clang') or tool.startswith('gcc') :
+ tool = "cc"
+ if tool in ["cc", "cxx"] and not "-c" in flags :
+ tool = "glink"
+ tool = tool.replace('-qt4', '')
+ return tool, command, flags
def rglob(pattern, root = '.') :
- return [os.path.join(path, f) for path, dirs, files in os.walk(root) for f in fnmatch.filter(files, pattern)]
+ return [os.path.join(path, f) for path, dirs, files in os.walk(root) for f in fnmatch.filter(files, pattern)]
################################################################################
# Helper for building Ninja files
################################################################################
class NinjaBuilder :
- def __init__(self) :
- self._header = ""
- self.variables = ""
- self.rules = ""
- self._build = ""
- self.pools = ""
- self._flags = {}
- self.targets = []
-
- def header(self, text) :
- self._header += text + "\n"
-
- def rule(self, name, **kwargs) :
- self.rules += "rule " + name + "\n"
- for k, v in kwargs.iteritems() :
- self.rules += " " + str(k) + " = " + str(v) + "\n"
- self.rules += "\n"
-
- def pool(self, name, **kwargs) :
- self.pools += "pool " + name + "\n"
- for k, v in kwargs.iteritems() :
- self.pools += " " + str(k) + " = " + str(v) + "\n"
- self.pools += "\n"
-
- def variable(self, name, value) :
- self.variables += str(name) + " = " + str(value) + "\n"
-
- def build(self, target, rule, sources = None, **kwargs) :
- self._build += "build " + self.to_string(target) + ": " + rule
- if sources :
- self._build += " " + self.to_string(sources)
- if 'deps' in kwargs and kwargs['deps'] :
- self._build += " | " + self.to_string(kwargs["deps"])
- if 'order_deps' in kwargs :
- self._build += " || " + self.to_string(kwargs['order_deps'])
- self._build += "\n"
- for var, value in kwargs.iteritems() :
- if var in ['deps', 'order_deps'] :
- continue
- value = self.to_string(value, quote = True)
- if var.endswith("flags") :
- value = self.get_flags_variable(var, value)
- self._build += " " + var + " = " + value + "\n"
- self.targets += to_list(target)
-
- def header_targets(self) :
- return [x for x in self.targets if x.endswith('.h') or x.endswith('.hh')]
-
- def serialize(self) :
- result = ""
- result += self._header + "\n"
- result += self.variables + "\n"
- for prefix in self._flags.values() :
- for k, v in prefix.iteritems() :
- result += v + " = " + k + "\n"
- result += "\n"
- result += self.pools + "\n"
- result += self.rules + "\n"
- result += self._build + "\n"
- return result
-
- def to_string(self, lst, quote = False) :
- if is_list(lst) :
- if quote :
- return ' '.join([quote_spaces(x) for x in lst])
- else :
- return ' '.join([escape(x) for x in lst])
- if is_regexp(lst) :
- return ' '.join([escape(x) for x in self.targets if lst.match(x)])
- return escape(lst)
-
- def get_flags_variable(self, flags_type, flags) :
- if len(flags) == 0 :
- return ''
- if flags_type not in self._flags :
- self._flags[flags_type] = {}
- type_flags = self._flags[flags_type]
- if flags not in type_flags :
- type_flags[flags] = flags_type + "_" + str(len(type_flags))
- return "$" + type_flags[flags]
+ def __init__(self) :
+ self._header = ""
+ self.variables = ""
+ self.rules = ""
+ self._build = ""
+ self.pools = ""
+ self._flags = {}
+ self.targets = []
+
+ def header(self, text) :
+ self._header += text + "\n"
+
+ def rule(self, name, **kwargs) :
+ self.rules += "rule " + name + "\n"
+ for k, v in kwargs.iteritems() :
+ self.rules += " " + str(k) + " = " + str(v) + "\n"
+ self.rules += "\n"
+
+ def pool(self, name, **kwargs) :
+ self.pools += "pool " + name + "\n"
+ for k, v in kwargs.iteritems() :
+ self.pools += " " + str(k) + " = " + str(v) + "\n"
+ self.pools += "\n"
+
+ def variable(self, name, value) :
+ self.variables += str(name) + " = " + str(value) + "\n"
+
+ def build(self, target, rule, sources = None, **kwargs) :
+ self._build += "build " + self.to_string(target) + ": " + rule
+ if sources :
+ self._build += " " + self.to_string(sources)
+ if 'deps' in kwargs and kwargs['deps'] :
+ self._build += " | " + self.to_string(kwargs["deps"])
+ if 'order_deps' in kwargs :
+ self._build += " || " + self.to_string(kwargs['order_deps'])
+ self._build += "\n"
+ for var, value in kwargs.iteritems() :
+ if var in ['deps', 'order_deps'] :
+ continue
+ value = self.to_string(value, quote = True)
+ if var.endswith("flags") :
+ value = self.get_flags_variable(var, value)
+ self._build += " " + var + " = " + value + "\n"
+ self.targets += to_list(target)
+
+ def header_targets(self) :
+ return [x for x in self.targets if x.endswith('.h') or x.endswith('.hh')]
+
+ def serialize(self) :
+ result = ""
+ result += self._header + "\n"
+ result += self.variables + "\n"
+ for prefix in self._flags.values() :
+ for k, v in prefix.iteritems() :
+ result += v + " = " + k + "\n"
+ result += "\n"
+ result += self.pools + "\n"
+ result += self.rules + "\n"
+ result += self._build + "\n"
+ return result
+
+ def to_string(self, lst, quote = False) :
+ if is_list(lst) :
+ if quote :
+ return ' '.join([quote_spaces(x) for x in lst])
+ else :
+ return ' '.join([escape(x) for x in lst])
+ if is_regexp(lst) :
+ return ' '.join([escape(x) for x in self.targets if lst.match(x)])
+ return escape(lst)
+
+ def get_flags_variable(self, flags_type, flags) :
+ if len(flags) == 0 :
+ return ''
+ if flags_type not in self._flags :
+ self._flags[flags_type] = {}
+ type_flags = self._flags[flags_type]
+ if flags not in type_flags :
+ type_flags[flags] = flags_type + "_" + str(len(type_flags))
+ return "$" + type_flags[flags]
################################################################################
@@ -231,7 +231,7 @@ scons_cmd = "scons"
scons_dependencies = ['SConstruct'] + rglob('SConscript')
def ninja_custom_command(ninja, line) :
- return False
+ return False
CONFIGURATION_FILE = '.scons2ninja.conf'
execfile(CONFIGURATION_FILE)
@@ -248,104 +248,104 @@ ninja = NinjaBuilder()
ninja.pool('scons_pool', depth = 1)
if sys.platform == 'win32' :
- ninja.rule('cl',
- deps = 'msvc',
- command = '$cl /showIncludes $clflags -c $in /Fo$out',
- description = 'CXX $out')
-
- ninja.rule('link',
- command = '$link $in $linkflags $libs /out:$out',
- description = 'LINK $out')
-
- ninja.rule('link_mt',
- command = '$link $in $linkflags $libs /out:$out ; $mt $mtflags',
- description = 'LINK $out')
-
- ninja.rule('lib',
- command = '$lib $libflags /out:$out $in',
- description = 'AR $out')
-
- ninja.rule('rc',
- command = '$rc $rcflags /Fo$out $in',
- description = 'RC $out')
-
- # SCons doesn't touch files if they didn't change, which makes
- # ninja rebuild the file over and over again. There's no touch on Windows :(
- # Could implement it with a script, but for now, delete the file if
- # this problem occurs. I'll fix it if it occurs too much.
- ninja.rule('scons',
- command = scons_cmd + " ${scons_args} $out",
- pool = 'scons_pool',
- description = 'GEN $out')
-
- ninja.rule('install', command = 'cmd /c copy $in $out')
- ninja.rule('run', command = '$in')
+ ninja.rule('cl',
+ deps = 'msvc',
+ command = '$cl /showIncludes $clflags -c $in /Fo$out',
+ description = 'CXX $out')
+
+ ninja.rule('link',
+ command = '$link $in $linkflags $libs /out:$out',
+ description = 'LINK $out')
+
+ ninja.rule('link_mt',
+ command = '$link $in $linkflags $libs /out:$out ; $mt $mtflags',
+ description = 'LINK $out')
+
+ ninja.rule('lib',
+ command = '$lib $libflags /out:$out $in',
+ description = 'AR $out')
+
+ ninja.rule('rc',
+ command = '$rc $rcflags /Fo$out $in',
+ description = 'RC $out')
+
+ # SCons doesn't touch files if they didn't change, which makes
+ # ninja rebuild the file over and over again. There's no touch on Windows :(
+ # Could implement it with a script, but for now, delete the file if
+ # this problem occurs. I'll fix it if it occurs too much.
+ ninja.rule('scons',
+ command = scons_cmd + " ${scons_args} $out",
+ pool = 'scons_pool',
+ description = 'GEN $out')
+
+ ninja.rule('install', command = 'cmd /c copy $in $out')
+ ninja.rule('run', command = '$in')
else :
- ninja.rule('cxx',
- deps = 'gcc',
- depfile = '$out.d',
- command = '$cxx -MMD -MF $out.d $cxxflags -c $in -o $out',
- description = 'CXX $out')
+ ninja.rule('cxx',
+ deps = 'gcc',
+ depfile = '$out.d',
+ command = '$cxx -MMD -MF $out.d $cxxflags -c $in -o $out',
+ description = 'CXX $out')
- ninja.rule('cc',
- deps = 'gcc',
- depfile = '$out.d',
- command = '$cc -MMD -MF $out.d $ccflags -c $in -o $out',
- description = 'CC $out')
+ ninja.rule('cc',
+ deps = 'gcc',
+ depfile = '$out.d',
+ command = '$cc -MMD -MF $out.d $ccflags -c $in -o $out',
+ description = 'CC $out')
- ninja.rule('link',
- command = '$glink -o $out $in $linkflags',
- description = 'LINK $out')
+ ninja.rule('link',
+ command = '$glink -o $out $in $linkflags',
+ description = 'LINK $out')
- ninja.rule('ar',
- command = 'ar $arflags $out $in && ranlib $out',
- description = 'AR $out')
+ ninja.rule('ar',
+ command = 'ar $arflags $out $in && ranlib $out',
+ description = 'AR $out')
- # SCons doesn't touch files if they didn't change, which makes
- # ninja rebuild the file over and over again. Touching solves this.
- ninja.rule('scons',
- command = scons_cmd + " $out && touch $out",
- pool = 'scons_pool',
- description = 'GEN $out')
+ # SCons doesn't touch files if they didn't change, which makes
+ # ninja rebuild the file over and over again. Touching solves this.
+ ninja.rule('scons',
+ command = scons_cmd + " $out && touch $out",
+ pool = 'scons_pool',
+ description = 'GEN $out')
- ninja.rule('install', command = 'install $in $out')
- ninja.rule('run', command = './$in')
+ ninja.rule('install', command = 'install $in $out')
+ ninja.rule('run', command = './$in')
ninja.rule('moc',
- command = '$moc $mocflags -o $out $in',
- description = 'MOC $out')
+ command = '$moc $mocflags -o $out $in',
+ description = 'MOC $out')
ninja.rule('rcc',
- command = '$rcc $rccflags -name $name -o $out $in',
- description = 'RCC $out')
+ command = '$rcc $rccflags -name $name -o $out $in',
+ description = 'RCC $out')
ninja.rule('uic',
- command = '$uic $uicflags -o $out $in',
- description = 'UIC $out')
+ command = '$uic $uicflags -o $out $in',
+ description = 'UIC $out')
ninja.rule('lrelease',
- command = '$lrelease $lreleaseflags $in -qm $out',
- description = 'LRELEASE $out')
+ command = '$lrelease $lreleaseflags $in -qm $out',
+ description = 'LRELEASE $out')
ninja.rule('ibtool',
- command = '$ibtool $ibtoolflags --compile $out $in',
- description = 'IBTOOL $out')
+ command = '$ibtool $ibtoolflags --compile $out $in',
+ description = 'IBTOOL $out')
ninja.rule('dsymutil',
- command = '$dsymutil $dsymutilflags -o $out $in',
- description = 'DSYMUTIL $out')
+ command = '$dsymutil $dsymutilflags -o $out $in',
+ description = 'DSYMUTIL $out')
ninja.rule('generator',
- command = "python " + SCRIPT + " ${scons_args}",
- depfile = ".scons2ninja.deps",
- pool = 'scons_pool',
- generator = '1',
- description = 'Regenerating build.ninja')
+ command = "python " + SCRIPT + " ${scons_args}",
+ depfile = ".scons2ninja.deps",
+ pool = 'scons_pool',
+ generator = '1',
+ description = 'Regenerating build.ninja')
ninja.rule('sdef',
- command = 'sdef $in | sdp -fh --basename $basename -o $outdir',
- description = 'SDEF $out')
+ command = 'sdef $in | sdp -fh --basename $basename -o $outdir',
+ description = 'SDEF $out')
################################################################################
# Build Statements
@@ -365,235 +365,235 @@ stage = 'preamble'
skip_nth_line = -1
stack = ['.']
for line in f.stdout :
- line = line.rstrip()
-
- # Skip lines if requested from previous command
- if skip_nth_line >= 0 :
- skip_nth_line -= 1
- if skip_nth_line == 0 :
- continue
-
- if line.startswith('scons: done building targets') :
- break
-
- if stage == "preamble" :
- # Pass all lines from the SCons configuration step to output
- if re.match("^scons: Building targets ...", line) :
- stage = "build"
- else :
- print line
-
- elif stage == "build" :
- if line.startswith('+-') :
- stage = "dependencies"
- elif re.match("^Using tempfile", line) :
- # Ignore response files from MSVS
- skip_nth_line = 2
- else :
- build_lines.append(line)
-
- # Already detect targets that will need 'mt'
- tool, _, flags = parse_tool_command(line)
- if tool == 'mt' :
- target = get_unary_flags("-outputresource:", flags)[0]
- target = target[0:target.index(';')]
- mtflags[target] = flags
-
- elif stage == "dependencies" :
- if not re.match('^[\s|]+\+\-', line) :
- # Work around bug in SCons that splits output over multiple lines
- continue
-
- level = line.index('+-') / 2
- filename = line[level*2+2:]
- if filename.startswith('[') :
- filename = filename[1:-1]
-
- # Check if we use the 'fixed' format which escapes filenamenames
- if filename.startswith('\'') and filename.endswith('\'') :
- filename = eval(filename)
-
- if level < len(stack) :
- stack = stack[0:level]
- elif level > len(stack) :
- if level != len(stack) + 1 :
- raise Exception("Internal Error" )
- stack.append(previous_filename)
-
- # Skip absolute paths
- if not os.path.isabs(filename) :
- target = stack[-1]
- if target not in dependencies :
- dependencies[target] = []
- dependencies[target].append(filename)
- previous_filename = filename
+ line = line.rstrip()
+
+ # Skip lines if requested from previous command
+ if skip_nth_line >= 0 :
+ skip_nth_line -= 1
+ if skip_nth_line == 0 :
+ continue
+
+ if line.startswith('scons: done building targets') :
+ break
+
+ if stage == "preamble" :
+ # Pass all lines from the SCons configuration step to output
+ if re.match("^scons: Building targets ...", line) :
+ stage = "build"
+ else :
+ print line
+
+ elif stage == "build" :
+ if line.startswith('+-') :
+ stage = "dependencies"
+ elif re.match("^Using tempfile", line) :
+ # Ignore response files from MSVS
+ skip_nth_line = 2
+ else :
+ build_lines.append(line)
+
+ # Already detect targets that will need 'mt'
+ tool, _, flags = parse_tool_command(line)
+ if tool == 'mt' :
+ target = get_unary_flags("-outputresource:", flags)[0]
+ target = target[0:target.index(';')]
+ mtflags[target] = flags
+
+ elif stage == "dependencies" :
+ if not re.match('^[\s|]+\+\-', line) :
+ # Work around bug in SCons that splits output over multiple lines
+ continue
+
+ level = line.index('+-') / 2
+ filename = line[level*2+2:]
+ if filename.startswith('[') :
+ filename = filename[1:-1]
+
+ # Check if we use the 'fixed' format which escapes filenamenames
+ if filename.startswith('\'') and filename.endswith('\'') :
+ filename = eval(filename)
+
+ if level < len(stack) :
+ stack = stack[0:level]
+ elif level > len(stack) :
+ if level != len(stack) + 1 :
+ raise Exception("Internal Error" )
+ stack.append(previous_filename)
+
+ # Skip absolute paths
+ if not os.path.isabs(filename) :
+ target = stack[-1]
+ if target not in dependencies :
+ dependencies[target] = []
+ dependencies[target].append(filename)
+ previous_filename = filename
if f.wait() != 0 :
- print "Error calling '" + scons_generate_cmd + "'"
- print f.stderr.read()
- exit(-1)
+ print "Error calling '" + scons_generate_cmd + "'"
+ print f.stderr.read()
+ exit(-1)
# Pass 2: Parse build rules
tools = {}
for line in build_lines :
- # Custom python function
- m = re.match('^(\w+)\(\[([^\]]*)\]', line)
- if m :
- out = [x[1:-1] for x in m.group(2).split(',')]
- for x in out :
- # 'Note' = To be more correct, deps should also include $scons_dependencies,
- # but this regenerates a bit too often, so leaving it out for now.
- ninja.build(x, 'scons', None, deps = sorted(get_dependencies(x, ninja.targets)))
- continue
-
-
- # TextFile
- m = re.match("^Creating '([^']+)'", line)
- if m :
- out = m.group(1)
- # Note: To be more correct, deps should also include $scons_dependencies,
- # but this regenerates a bit too often, so leaving it out for now.
- ninja.build(out, 'scons', None, deps = sorted(get_dependencies(out, ninja.targets)))
- continue
-
- # Install
- m = re.match('^Install file: "(.*)" as "(.*)"', line)
- if m :
- ninja.build(m.group(2), 'install', m.group(1))
- continue
-
- m = re.match('^Install directory: "(.*)" as "(.*)"', line)
- if m :
- for source in rglob('*', m.group(1)) :
- if os.path.isdir(source) :
- continue
- target = os.path.join(m.group(2), os.path.relpath(source, m.group(1)))
- ninja.build(target, 'install', source)
- continue
-
- # Tools
- tool, command, flags = parse_tool_command(line)
- tools[tool] = command[0]
-
- ############################################################
- # clang/gcc tools
- ############################################################
-
- if tool == 'cc':
- out, flags = extract_binary_flag("-o", flags)
- files, flags = extract_non_flags(flags)
- ninja.build(out, 'cc', files, order_deps = '_generated_headers', ccflags = flags)
-
- elif tool == 'cxx':
- out, flags = extract_binary_flag("-o", flags)
- files, flags = extract_non_flags(flags)
- ninja.build(out, 'cxx', files, order_deps = '_generated_headers', cxxflags = flags)
-
- elif tool == 'glink':
- out, flags = extract_binary_flag("-o", flags)
- files, flags = extract_non_flags(flags)
- libs = get_unary_flags('-l', flags)
- libpaths = get_unary_flags("-L", flags)
- deps = get_built_libs(libs, libpaths, ninja.targets)
- ninja.build(out, 'link', files, deps = sorted(deps), linkflags = flags)
-
- elif tool == 'ar':
- objects, flags = partition(flags, lambda x: x.endswith('.o'))
- libs, flags = partition(flags, lambda x: x.endswith('.a'))
- out = libs[0]
- ninja.build(out, 'ar', objects, arflags = flags)
-
- elif tool == 'ranlib':
- pass
-
-
- ############################################################
- # MSVC tools
- ############################################################
-
- elif tool == 'cl':
- out, flags = extract_unary_flag("/Fo", flags)
- files, flags = extract_non_flags(flags)
- ninja.build(out, 'cl', files, order_deps = '_generated_headers', clflags = flags)
-
- elif tool == 'lib':
- out, flags = extract_unary_flag("/out:", flags)
- files, flags = extract_non_flags(flags)
- ninja.build(out, 'lib', files, libflags = flags)
-
- elif tool == 'link':
- objects, flags = partition(flags, lambda x: x.endswith('.obj') or x.endswith('.res'))
- out, flags = extract_unary_flag("/out:", flags)
- libs, flags = partition(flags, lambda x: not x.startswith("/") and x.endswith(".lib"))
- libpaths = get_unary_flags("/libpath:", flags)
- deps = get_built_libs(libs, libpaths, ninja.targets)
- if out in mtflags :
- ninja.build(out, 'link_mt', objects, deps = sorted(deps),
- libs = libs, linkflags = flags, mtflags = mtflags[out])
- else :
- ninja.build(out, 'link', objects, deps = sorted(deps),
- libs = libs, linkflags = flags)
-
- elif tool == 'rc':
- out, flags = extract_unary_flag("/fo", flags)
- files, flags = extract_non_flags(flags)
- ninja.build(out, 'rc', files[0], order_deps = '_generated_headers', rcflags = flags)
-
- elif tool == 'mt':
- # Already handled
- pass
-
- ############################################################
- # Qt tools
- ############################################################
-
- elif tool == 'moc':
- out, flags = extract_binary_flag("-o", flags)
- files, flags = extract_non_flags(flags)
- ninja.build(out, 'moc', files, mocflags = flags)
-
- elif tool == 'uic':
- out, flags = extract_binary_flag("-o", flags)
- files, flags = extract_non_flags(flags)
- ninja.build(out, 'uic', files, uicflags = flags)
-
- elif tool == 'lrelease':
- out, flags = extract_binary_flag("-qm", flags)
- files, flags = extract_non_flags(flags)
- ninja.build(out, 'lrelease', files, lreleaseflags = flags)
-
- elif tool == 'rcc':
- out, flags = extract_binary_flag("-o", flags)
- name, flags = extract_binary_flag("-name", flags)
- files, flags = extract_non_flags(flags)
- deps = list(set(get_dependencies(out, ninja.targets)) - set(files))
- ninja.build(out, 'rcc', files, deps = sorted(deps), name = name, rccflags = flags)
-
- ############################################################
- # OS X tools
- ############################################################
-
- elif tool == 'ibtool':
- out, flags = extract_binary_flag("--compile", flags)
- files, flags = extract_non_flags(flags)
- ninja.build(out, 'ibtool', files, ibtoolflags = flags)
-
- elif tool == 'dsymutil':
- out, flags = extract_binary_flag("-o", flags)
- files, flags = extract_non_flags(flags)
- ninja.build(out, 'dsymutil', files, dsymutilflags = flags)
-
- elif tool == 'sdef' :
- source = flags[0];
- outdir, flags = extract_binary_flag("-o", flags)
- basename, flags = extract_binary_flag("--basename", flags)
- ninja.build(os.path.join(outdir, basename + ".h"), 'sdef', [source],
- basename = basename,
- outdir = outdir)
-
-
- elif not ninja_custom_command(ninja, line) :
- raise Exception("Unknown tool: '" + line + "'")
+ # Custom python function
+ m = re.match('^(\w+)\(\[([^\]]*)\]', line)
+ if m :
+ out = [x[1:-1] for x in m.group(2).split(',')]
+ for x in out :
+ # 'Note' = To be more correct, deps should also include $scons_dependencies,
+ # but this regenerates a bit too often, so leaving it out for now.
+ ninja.build(x, 'scons', None, deps = sorted(get_dependencies(x, ninja.targets)))
+ continue
+
+
+ # TextFile
+ m = re.match("^Creating '([^']+)'", line)
+ if m :
+ out = m.group(1)
+ # Note: To be more correct, deps should also include $scons_dependencies,
+ # but this regenerates a bit too often, so leaving it out for now.
+ ninja.build(out, 'scons', None, deps = sorted(get_dependencies(out, ninja.targets)))
+ continue
+
+ # Install
+ m = re.match('^Install file: "(.*)" as "(.*)"', line)
+ if m :
+ ninja.build(m.group(2), 'install', m.group(1))
+ continue
+
+ m = re.match('^Install directory: "(.*)" as "(.*)"', line)
+ if m :
+ for source in rglob('*', m.group(1)) :
+ if os.path.isdir(source) :
+ continue
+ target = os.path.join(m.group(2), os.path.relpath(source, m.group(1)))
+ ninja.build(target, 'install', source)
+ continue
+
+ # Tools
+ tool, command, flags = parse_tool_command(line)
+ tools[tool] = command[0]
+
+ ############################################################
+ # clang/gcc tools
+ ############################################################
+
+ if tool == 'cc':
+ out, flags = extract_binary_flag("-o", flags)
+ files, flags = extract_non_flags(flags)
+ ninja.build(out, 'cc', files, order_deps = '_generated_headers', ccflags = flags)
+
+ elif tool == 'cxx':
+ out, flags = extract_binary_flag("-o", flags)
+ files, flags = extract_non_flags(flags)
+ ninja.build(out, 'cxx', files, order_deps = '_generated_headers', cxxflags = flags)
+
+ elif tool == 'glink':
+ out, flags = extract_binary_flag("-o", flags)
+ files, flags = extract_non_flags(flags)
+ libs = get_unary_flags('-l', flags)
+ libpaths = get_unary_flags("-L", flags)
+ deps = get_built_libs(libs, libpaths, ninja.targets)
+ ninja.build(out, 'link', files, deps = sorted(deps), linkflags = flags)
+
+ elif tool == 'ar':
+ objects, flags = partition(flags, lambda x: x.endswith('.o'))
+ libs, flags = partition(flags, lambda x: x.endswith('.a'))
+ out = libs[0]
+ ninja.build(out, 'ar', objects, arflags = flags)
+
+ elif tool == 'ranlib':
+ pass
+
+
+ ############################################################
+ # MSVC tools
+ ############################################################
+
+ elif tool == 'cl':
+ out, flags = extract_unary_flag("/Fo", flags)
+ files, flags = extract_non_flags(flags)
+ ninja.build(out, 'cl', files, order_deps = '_generated_headers', clflags = flags)
+
+ elif tool == 'lib':
+ out, flags = extract_unary_flag("/out:", flags)
+ files, flags = extract_non_flags(flags)
+ ninja.build(out, 'lib', files, libflags = flags)
+
+ elif tool == 'link':
+ objects, flags = partition(flags, lambda x: x.endswith('.obj') or x.endswith('.res'))
+ out, flags = extract_unary_flag("/out:", flags)
+ libs, flags = partition(flags, lambda x: not x.startswith("/") and x.endswith(".lib"))
+ libpaths = get_unary_flags("/libpath:", flags)
+ deps = get_built_libs(libs, libpaths, ninja.targets)
+ if out in mtflags :
+ ninja.build(out, 'link_mt', objects, deps = sorted(deps),
+ libs = libs, linkflags = flags, mtflags = mtflags[out])
+ else :
+ ninja.build(out, 'link', objects, deps = sorted(deps),
+ libs = libs, linkflags = flags)
+
+ elif tool == 'rc':
+ out, flags = extract_unary_flag("/fo", flags)
+ files, flags = extract_non_flags(flags)
+ ninja.build(out, 'rc', files[0], order_deps = '_generated_headers', rcflags = flags)
+
+ elif tool == 'mt':
+ # Already handled
+ pass
+
+ ############################################################
+ # Qt tools
+ ############################################################
+
+ elif tool == 'moc':
+ out, flags = extract_binary_flag("-o", flags)
+ files, flags = extract_non_flags(flags)
+ ninja.build(out, 'moc', files, mocflags = flags)
+
+ elif tool == 'uic':
+ out, flags = extract_binary_flag("-o", flags)
+ files, flags = extract_non_flags(flags)
+ ninja.build(out, 'uic', files, uicflags = flags)
+
+ elif tool == 'lrelease':
+ out, flags = extract_binary_flag("-qm", flags)
+ files, flags = extract_non_flags(flags)
+ ninja.build(out, 'lrelease', files, lreleaseflags = flags)
+
+ elif tool == 'rcc':
+ out, flags = extract_binary_flag("-o", flags)
+ name, flags = extract_binary_flag("-name", flags)
+ files, flags = extract_non_flags(flags)
+ deps = list(set(get_dependencies(out, ninja.targets)) - set(files))
+ ninja.build(out, 'rcc', files, deps = sorted(deps), name = name, rccflags = flags)
+
+ ############################################################
+ # OS X tools
+ ############################################################
+
+ elif tool == 'ibtool':
+ out, flags = extract_binary_flag("--compile", flags)
+ files, flags = extract_non_flags(flags)
+ ninja.build(out, 'ibtool', files, ibtoolflags = flags)
+
+ elif tool == 'dsymutil':
+ out, flags = extract_binary_flag("-o", flags)
+ files, flags = extract_non_flags(flags)
+ ninja.build(out, 'dsymutil', files, dsymutilflags = flags)
+
+ elif tool == 'sdef' :
+ source = flags[0];
+ outdir, flags = extract_binary_flag("-o", flags)
+ basename, flags = extract_binary_flag("--basename", flags)
+ ninja.build(os.path.join(outdir, basename + ".h"), 'sdef', [source],
+ basename = basename,
+ outdir = outdir)
+
+
+ elif not ninja_custom_command(ninja, line) :
+ raise Exception("Unknown tool: '" + line + "'")
# Phony target for all generated headers, used as an order-only depency from all C/C++ sources
@@ -607,11 +607,11 @@ ninja.header("# This file is generated by " + SCRIPT)
ninja.variable("ninja_required_version", "1.3")
ninja.variable("scons_args", SCONS_ARGS)
for k, v in tools.iteritems() :
- ninja.variable(k, v)
+ ninja.variable(k, v)
# Extra customizations
if 'ninja_post' in dir() :
- ninja_post(ninja)
+ ninja_post(ninja)
################################################################################
diff --git a/Documentation/API/SConscript b/Documentation/API/SConscript
index df20b27..a8a8b1b 100644
--- a/Documentation/API/SConscript
+++ b/Documentation/API/SConscript
@@ -1,6 +1,6 @@
Import("env")
if "doc" in ARGUMENTS :
- myenv = env.Clone()
- myenv.Tool("DoxyGen", toolpath = ["#/BuildTools/SCons/Tools"])
- myenv.DoxyGen("Doxyfile")
+ myenv = env.Clone()
+ myenv.Tool("DoxyGen", toolpath = ["#/BuildTools/SCons/Tools"])
+ myenv.DoxyGen("Doxyfile")
diff --git a/Documentation/SConscript b/Documentation/SConscript
index 161cd83..e2f6393 100644
--- a/Documentation/SConscript
+++ b/Documentation/SConscript
@@ -1,4 +1,4 @@
Import("env")
if env["SCONS_STAGE"] == "build" :
- SConscript(dirs = ["SwiftenDevelopersGuide", "SwiftUserGuide", "API", "SwiftAPI"])
+ SConscript(dirs = ["SwiftenDevelopersGuide", "SwiftUserGuide", "API", "SwiftAPI"])
diff --git a/Documentation/SwiftAPI/SConscript b/Documentation/SwiftAPI/SConscript
index df20b27..a8a8b1b 100644
--- a/Documentation/SwiftAPI/SConscript
+++ b/Documentation/SwiftAPI/SConscript
@@ -1,6 +1,6 @@
Import("env")
if "doc" in ARGUMENTS :
- myenv = env.Clone()
- myenv.Tool("DoxyGen", toolpath = ["#/BuildTools/SCons/Tools"])
- myenv.DoxyGen("Doxyfile")
+ myenv = env.Clone()
+ myenv.Tool("DoxyGen", toolpath = ["#/BuildTools/SCons/Tools"])
+ myenv.DoxyGen("Doxyfile")
diff --git a/Documentation/SwiftUserGuide/SConscript b/Documentation/SwiftUserGuide/SConscript
index 50f60bc..1577b83 100644
--- a/Documentation/SwiftUserGuide/SConscript
+++ b/Documentation/SwiftUserGuide/SConscript
@@ -11,5 +11,5 @@ import sys, re, os.path
################################################################################
if "doc" in ARGUMENTS :
- env.DocBook("Swift Users Guide.xml")
+ env.DocBook("Swift Users Guide.xml")
diff --git a/Documentation/SwiftenDevelopersGuide/Examples/EchoBot/SConscript b/Documentation/SwiftenDevelopersGuide/Examples/EchoBot/SConscript
index f3cb0d7..268ab9a 100644
--- a/Documentation/SwiftenDevelopersGuide/Examples/EchoBot/SConscript
+++ b/Documentation/SwiftenDevelopersGuide/Examples/EchoBot/SConscript
@@ -7,11 +7,11 @@ example_env.UseFlags(example_env["SWIFTEN_DEP_FLAGS"])
# Precompile Swiften header
# This is useful to slightly speed up compilation.
# if example_env["PLATFORM"] == "win32":
-# example_env.WriteVal("Swiften.cpp", example_env.Value("#include <Swiften/Swiften.h>\n"))
-# example_env["PCH"] = example_env.PCH("Swiften.cpp")[0]
-# example_env["PCHSTOP"] = "Swiften/Swiften.h"
+# example_env.WriteVal("Swiften.cpp", example_env.Value("#include <Swiften/Swiften.h>\n"))
+# example_env["PCH"] = example_env.PCH("Swiften.cpp")[0]
+# example_env["PCHSTOP"] = "Swiften/Swiften.h"
for i in range(1,7) :
- example_env.Program("EchoBot" + str(i), ["EchoBot" + str(i) + ".cpp"])
+ example_env.Program("EchoBot" + str(i), ["EchoBot" + str(i) + ".cpp"])
example_env.Program("EchoBot0x", "EchoBot0x.cpp")
example_env.Program("EchoComponent", "EchoComponent.cpp")
diff --git a/Documentation/SwiftenDevelopersGuide/SConscript b/Documentation/SwiftenDevelopersGuide/SConscript
index ba0eb0b..ac7c67a 100644
--- a/Documentation/SwiftenDevelopersGuide/SConscript
+++ b/Documentation/SwiftenDevelopersGuide/SConscript
@@ -9,89 +9,89 @@ env.Tool("DocBook", toolpath = ["#/BuildTools/DocBook/SCons"])
import sys, re, os.path
def generateDocBookCode(env, target, source) :
- # Strips empty lines from the beginning & end of a program
- def stripEmptyLines(program) :
- programLines = program.split('\n')
- newProgramLines = []
- inProgram = False
- for line in programLines :
- if not re.match("^\s*$", line) or inProgram :
- inProgram = True
- newProgramLines.append(line)
- return '\n'.join(newProgramLines).rstrip()
+ # Strips empty lines from the beginning & end of a program
+ def stripEmptyLines(program) :
+ programLines = program.split('\n')
+ newProgramLines = []
+ inProgram = False
+ for line in programLines :
+ if not re.match("^\s*$", line) or inProgram :
+ inProgram = True
+ newProgramLines.append(line)
+ return '\n'.join(newProgramLines).rstrip()
- def createCallouts(program, calloutPrefix) :
- newProgramLines = []
- calloutLines = []
- nextID = 0
- for line in program.split("\n") :
- # FIXME: Takes the largest match
- m = re.match(".*\/* \(\*\) (.*) \*/.*", line)
- if m :
- cobID = "cob-" + calloutPrefix + "-" + str(nextID)
- coID = "co-" + calloutPrefix + "-" + str(nextID)
- nextID += 1
- line = re.sub("/\*.*\*/", "]]><co id=\"%(cobID)s\" linkends=\"%(coID)s\"/><![CDATA[" % {"cobID" : cobID, "coID" : coID}, line)
- calloutLines.append("<callout arearefs=\"%(cobID)s\" id=\"%(coID)s\"><para>%(text)s</para></callout>" % {"cobID": cobID, "coID": coID, "text": m.group(1)})
- newProgramLines.append(line)
- callouts = ""
- if len(calloutLines) > 0 :
- callouts = "<calloutlist>" + "\n".join(calloutLines) + "</calloutlist>"
- return ("\n".join(newProgramLines), callouts)
+ def createCallouts(program, calloutPrefix) :
+ newProgramLines = []
+ calloutLines = []
+ nextID = 0
+ for line in program.split("\n") :
+ # FIXME: Takes the largest match
+ m = re.match(".*\/* \(\*\) (.*) \*/.*", line)
+ if m :
+ cobID = "cob-" + calloutPrefix + "-" + str(nextID)
+ coID = "co-" + calloutPrefix + "-" + str(nextID)
+ nextID += 1
+ line = re.sub("/\*.*\*/", "]]><co id=\"%(cobID)s\" linkends=\"%(coID)s\"/><![CDATA[" % {"cobID" : cobID, "coID" : coID}, line)
+ calloutLines.append("<callout arearefs=\"%(cobID)s\" id=\"%(coID)s\"><para>%(text)s</para></callout>" % {"cobID": cobID, "coID": coID, "text": m.group(1)})
+ newProgramLines.append(line)
+ callouts = ""
+ if len(calloutLines) > 0 :
+ callouts = "<calloutlist>" + "\n".join(calloutLines) + "</calloutlist>"
+ return ("\n".join(newProgramLines), callouts)
- # Parse program
- filename = source[0].abspath
- filenameBase = os.path.basename(filename).replace(".cpp", "")
- inputfile = open(filename)
- program = ""
- programs = {}
- programName = ""
- inEllipsis = False
- for line in inputfile.readlines() :
- if inEllipsis :
- if "//..." in line :
- inEllipsis = False
- else :
- if line.startswith("/*") or line.startswith(" *") :
- continue
- if "//..." in line :
- inEllipsis = True
- line = line.replace("//...", "]]>&#x2026;<![CDATA[")
- else :
- m = re.match("^/// (.*)", line)
- if m :
- if programName :
- programs[programName] = program
- program = ""
- programName = m.group(1).strip().replace(" ", "")
- continue
- line = re.sub("\t", " ", line)
- program += line
- programs[programName] = program
- inputfile.close()
+ # Parse program
+ filename = source[0].abspath
+ filenameBase = os.path.basename(filename).replace(".cpp", "")
+ inputfile = open(filename)
+ program = ""
+ programs = {}
+ programName = ""
+ inEllipsis = False
+ for line in inputfile.readlines() :
+ if inEllipsis :
+ if "//..." in line :
+ inEllipsis = False
+ else :
+ if line.startswith("/*") or line.startswith(" *") :
+ continue
+ if "//..." in line :
+ inEllipsis = True
+ line = line.replace("//...", "]]>&#x2026;<![CDATA[")
+ else :
+ m = re.match("^/// (.*)", line)
+ if m :
+ if programName :
+ programs[programName] = program
+ program = ""
+ programName = m.group(1).strip().replace(" ", "")
+ continue
+ line = re.sub("\t", " ", line)
+ program += line
+ programs[programName] = program
+ inputfile.close()
- for programName, program in programs.items() :
- program = stripEmptyLines(program)
- (program, callouts) = createCallouts(program, filenameBase + "-" + programName)
+ for programName, program in programs.items() :
+ program = stripEmptyLines(program)
+ (program, callouts) = createCallouts(program, filenameBase + "-" + programName)
- document = "<foo><programlisting><![CDATA[" + program + "]]></programlisting>" + callouts + "</foo>"
+ document = "<foo><programlisting><![CDATA[" + program + "]]></programlisting>" + callouts + "</foo>"
- # Generate code
- output = open(target[0].abspath, 'w')
- output.write(document)
- output.close()
+ # Generate code
+ output = open(target[0].abspath, 'w')
+ output.write(document)
+ output.close()
################################################################################
if "doc" in ARGUMENTS :
- env.DocBook("Swiften Developers Guide.xml")
+ env.DocBook("Swiften Developers Guide.xml")
sources = []
for i in range(1, 7) :
- sources.append("Examples/EchoBot/EchoBot" + str(i) + ".cpp")
+ sources.append("Examples/EchoBot/EchoBot" + str(i) + ".cpp")
sources.append("Examples/EchoBot/EchoBot0x.cpp")
sources += ["Examples/EchoBot/" + i for i in ["EchoPayloadParserFactory.h", "EchoPayloadSerializer.h", "EchoPayload.h", "EchoComponent.cpp"]]
for source in sources :
- env.Command(source + ".xml", source, Action(generateDocBookCode, cmdstr = "$GENCOMSTR"))
+ env.Command(source + ".xml", source, Action(generateDocBookCode, cmdstr = "$GENCOMSTR"))
SConscript(dirs = ["Examples"])
diff --git a/Limber/SConscript b/Limber/SConscript
index 13bc0df..7aca509 100644
--- a/Limber/SConscript
+++ b/Limber/SConscript
@@ -1,30 +1,30 @@
Import("env")
if env["SCONS_STAGE"] == "flags" :
- env["LIMBER_FLAGS"] = {
- "LIBPATH": [Dir(".")],
- "LIBS": ["Limber"],
- }
+ env["LIMBER_FLAGS"] = {
+ "LIBPATH": [Dir(".")],
+ "LIBS": ["Limber"],
+ }
elif env["SCONS_STAGE"] == "build" :
- libenv = env.Clone()
- libenv.UseFlags(env["SWIFTEN_FLAGS"])
- libenv.UseFlags(env["SWIFTEN_DEP_FLAGS"])
- libenv.StaticLibrary("Limber", [
- "Server/ServerFromClientSession.cpp",
- "Server/ServerSession.cpp",
- "Server/ServerStanzaRouter.cpp",
- "Server/SimpleUserRegistry.cpp",
- "Server/UserRegistry.cpp",
- ])
+ libenv = env.Clone()
+ libenv.UseFlags(env["SWIFTEN_FLAGS"])
+ libenv.UseFlags(env["SWIFTEN_DEP_FLAGS"])
+ libenv.StaticLibrary("Limber", [
+ "Server/ServerFromClientSession.cpp",
+ "Server/ServerSession.cpp",
+ "Server/ServerStanzaRouter.cpp",
+ "Server/SimpleUserRegistry.cpp",
+ "Server/UserRegistry.cpp",
+ ])
- myenv = env.Clone()
- myenv.BuildVersion("BuildVersion.h", project = "limber")
- myenv.UseFlags(env["LIMBER_FLAGS"])
- myenv.UseFlags(env["SWIFTEN_FLAGS"])
- myenv.UseFlags(env["SWIFTEN_DEP_FLAGS"])
- myenv.Program("limber", ["main.cpp"])
+ myenv = env.Clone()
+ myenv.BuildVersion("BuildVersion.h", project = "limber")
+ myenv.UseFlags(env["LIMBER_FLAGS"])
+ myenv.UseFlags(env["SWIFTEN_FLAGS"])
+ myenv.UseFlags(env["SWIFTEN_DEP_FLAGS"])
+ myenv.Program("limber", ["main.cpp"])
- env.Append(UNITTEST_SOURCES = [
- File("Server/UnitTest/ServerStanzaRouterTest.cpp"),
- ])
+ env.Append(UNITTEST_SOURCES = [
+ File("Server/UnitTest/ServerStanzaRouterTest.cpp"),
+ ])
diff --git a/QA/Checker/SConscript b/QA/Checker/SConscript
index 13dec62..06ec01b 100644
--- a/QA/Checker/SConscript
+++ b/QA/Checker/SConscript
@@ -1,17 +1,17 @@
Import("env")
if env["TEST"] :
- if env["SCONS_STAGE"] == "flags" :
- env["CHECKER_FLAGS"] = {
- "CPPPATH" : ["#/3rdParty/HippoMocks"],
- "LIBS": ["Checker"],
- "LIBPATH": [Dir(".")],
- "LINKFLAGS": env["PLATFORM"] == "win32" and ["/SUBSYSTEM:CONSOLE"] or []
- }
+ if env["SCONS_STAGE"] == "flags" :
+ env["CHECKER_FLAGS"] = {
+ "CPPPATH" : ["#/3rdParty/HippoMocks"],
+ "LIBS": ["Checker"],
+ "LIBPATH": [Dir(".")],
+ "LINKFLAGS": env["PLATFORM"] == "win32" and ["/SUBSYSTEM:CONSOLE"] or []
+ }
- if env["SCONS_STAGE"] == "build" :
- checker_env = env.Clone()
- checker_env.UseFlags(env["SWIFTEN_FLAGS"])
- checker_env.UseFlags(env["BOOST_FLAGS"])
- checker_env.UseFlags(env["CPPUNIT_FLAGS"])
- checker_env.Library("Checker", ["checker.cpp", "IO.cpp"])
+ if env["SCONS_STAGE"] == "build" :
+ checker_env = env.Clone()
+ checker_env.UseFlags(env["SWIFTEN_FLAGS"])
+ checker_env.UseFlags(env["BOOST_FLAGS"])
+ checker_env.UseFlags(env["CPPUNIT_FLAGS"])
+ checker_env.Library("Checker", ["checker.cpp", "IO.cpp"])
diff --git a/QA/SConscript b/QA/SConscript
index 5c626e3..b4125cf 100644
--- a/QA/SConscript
+++ b/QA/SConscript
@@ -1,4 +1,4 @@
SConscript(dirs = [
- "Checker",
- "UnitTest"
- ])
+ "Checker",
+ "UnitTest"
+ ])
diff --git a/QA/UnitTest/SConscript b/QA/UnitTest/SConscript
index 0cacc7c..1874f99 100644
--- a/QA/UnitTest/SConscript
+++ b/QA/UnitTest/SConscript
@@ -3,27 +3,27 @@ import os
Import("env")
if env["TEST"] :
- if env["SCONS_STAGE"] == "flags" :
- env["UNITTEST_SOURCES"] = []
- env["UNITTEST_OBJECTS"] = []
- if env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
- myenv.UseFlags(env.get("CHECKER_FLAGS",""))
- myenv.UseFlags(env.get("INJECTED_UNITTEST_FLAGS","")) # So things that piggy-back our build system can piggy-back our test system too
- myenv.UseFlags(env.get("SLIMBER_FLAGS",""))
- myenv.UseFlags(env.get("SWIFT_CONTROLLERS_FLAGS",""))
- myenv.UseFlags(env.get("SWIFTOOLS_FLAGS",""))
- myenv.UseFlags(env.get("LIMBER_FLAGS",""))
- myenv.UseFlags(env.get("SWIFTEN_FLAGS",""))
- myenv.UseFlags(env.get("CPPUNIT_FLAGS",""))
- myenv.UseFlags(env.get("SWIFTEN_DEP_FLAGS", ""))
- if env.get("HAVE_LIBXML") :
- myenv.Append(CPPDEFINES = ["HAVE_LIBXML"])
- if env.get("HAVE_EXPAT") :
- myenv.Append(CPPDEFINES = ["HAVE_EXPAT"])
- if env["TEST_CREATE_LIBRARIES"] :
- lib = myenv.StaticLibrary("Swift_UnitTests", env["UNITTEST_SOURCES"] + env["UNITTEST_OBJECTS"])
- myenv.Program("checker", lib)
- else :
- checker = myenv.Program("checker", env["UNITTEST_SOURCES"] + env["UNITTEST_OBJECTS"])
- myenv.Test(checker, is_checker = True)
+ if env["SCONS_STAGE"] == "flags" :
+ env["UNITTEST_SOURCES"] = []
+ env["UNITTEST_OBJECTS"] = []
+ if env["SCONS_STAGE"] == "build" :
+ myenv = env.Clone()
+ myenv.UseFlags(env.get("CHECKER_FLAGS",""))
+ myenv.UseFlags(env.get("INJECTED_UNITTEST_FLAGS","")) # So things that piggy-back our build system can piggy-back our test system too
+ myenv.UseFlags(env.get("SLIMBER_FLAGS",""))
+ myenv.UseFlags(env.get("SWIFT_CONTROLLERS_FLAGS",""))
+ myenv.UseFlags(env.get("SWIFTOOLS_FLAGS",""))
+ myenv.UseFlags(env.get("LIMBER_FLAGS",""))
+ myenv.UseFlags(env.get("SWIFTEN_FLAGS",""))
+ myenv.UseFlags(env.get("CPPUNIT_FLAGS",""))
+ myenv.UseFlags(env.get("SWIFTEN_DEP_FLAGS", ""))
+ if env.get("HAVE_LIBXML") :
+ myenv.Append(CPPDEFINES = ["HAVE_LIBXML"])
+ if env.get("HAVE_EXPAT") :
+ myenv.Append(CPPDEFINES = ["HAVE_EXPAT"])
+ if env["TEST_CREATE_LIBRARIES"] :
+ lib = myenv.StaticLibrary("Swift_UnitTests", env["UNITTEST_SOURCES"] + env["UNITTEST_OBJECTS"])
+ myenv.Program("checker", lib)
+ else :
+ checker = myenv.Program("checker", env["UNITTEST_SOURCES"] + env["UNITTEST_OBJECTS"])
+ myenv.Test(checker, is_checker = True)
diff --git a/SConstruct b/SConstruct
index 15f6dd0..1cf0bd8 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1,5 +1,5 @@
variant_dir = SConscript("BuildTools/SCons/SConscript.boot")
if variant_dir :
- SConscript("BuildTools/SCons/SConstruct", variant_dir = variant_dir, src_dir = ".")
+ SConscript("BuildTools/SCons/SConstruct", variant_dir = variant_dir, src_dir = ".")
else :
- SConscript("BuildTools/SCons/SConstruct")
+ SConscript("BuildTools/SCons/SConstruct")
diff --git a/Slimber/CLI/SConscript b/Slimber/CLI/SConscript
index e17996d..9dfa174 100644
--- a/Slimber/CLI/SConscript
+++ b/Slimber/CLI/SConscript
@@ -8,6 +8,6 @@ myenv.UseFlags(env["SWIFTEN_FLAGS"])
myenv.UseFlags(env["SWIFTEN_DEP_FLAGS"])
myenv.Program("slimber", [
- "main.cpp",
- "DummyMenulet.cpp",
- ])
+ "main.cpp",
+ "DummyMenulet.cpp",
+ ])
diff --git a/Slimber/Cocoa/SConscript b/Slimber/Cocoa/SConscript
index 441dc27..8f3c104 100644
--- a/Slimber/Cocoa/SConscript
+++ b/Slimber/Cocoa/SConscript
@@ -8,22 +8,22 @@ myenv.MergeFlags(env["SWIFTEN_FLAGS"])
myenv.MergeFlags(env["SWIFTEN_DEP_FLAGS"])
myenv.Program("Slimber", [
- "main.mm",
- "CocoaController.mm",
- "CocoaMenulet.mm",
- ])
+ "main.mm",
+ "CocoaController.mm",
+ "CocoaMenulet.mm",
+ ])
myenv.Nib("MainMenu")
myenv.AppBundle("Slimber", resources = { "": [
- "MainMenu.nib",
- "../Resources/Slimber.icns",
- "../Resources/Credits.html",
- "../Resources/Online.png",
- "../Resources/Offline.png",
- "../Resources/UsersOnline.png",
- "../Resources/UsersOffline.png"
- ]}, info = {
- "NSMainNibFile" : "MainMenu",
- "LSUIElement" : "1",
- })
+ "MainMenu.nib",
+ "../Resources/Slimber.icns",
+ "../Resources/Credits.html",
+ "../Resources/Online.png",
+ "../Resources/Offline.png",
+ "../Resources/UsersOnline.png",
+ "../Resources/UsersOffline.png"
+ ]}, info = {
+ "NSMainNibFile" : "MainMenu",
+ "LSUIElement" : "1",
+ })
diff --git a/Slimber/Qt/SConscript b/Slimber/Qt/SConscript
index 9d965cc..8328f8c 100644
--- a/Slimber/Qt/SConscript
+++ b/Slimber/Qt/SConscript
@@ -15,11 +15,11 @@ myenv.UseFlags(env.get("AVAHI_FLAGS", ""))
myenv.UseFlags(myenv["PLATFORM_FLAGS"])
if myenv.get("HAVE_ICU") :
- myenv.MergeFlags(env["ICU_FLAGS"])
- myenv.Append(CPPDEFINES = ["HAVE_ICU"])
+ myenv.MergeFlags(env["ICU_FLAGS"])
+ myenv.Append(CPPDEFINES = ["HAVE_ICU"])
if myenv.get("HAVE_LIBIDN") :
- myenv.MergeFlags(env["LIBIDN_FLAGS"])
- myenv.Append(CPPDEFINES = ["HAVE_LIBIDN"])
+ myenv.MergeFlags(env["LIBIDN_FLAGS"])
+ myenv.Append(CPPDEFINES = ["HAVE_LIBIDN"])
myenv.Tool("qt4", toolpath = ["#/BuildTools/SCons/Tools"])
myenv.Tool("nsis", toolpath = ["#/BuildTools/SCons/Tools"])
@@ -27,39 +27,39 @@ myenv.Tool("nsis", toolpath = ["#/BuildTools/SCons/Tools"])
qt4modules = ['QtCore', 'QtGui']
if myenv["qt5"] :
- qt_version = '5'
- qt4modules += ['QtWidgets']
+ qt_version = '5'
+ qt4modules += ['QtWidgets']
else :
- qt_version = '4'
+ qt_version = '4'
myenv.EnableQt4Modules(qt4modules, debug = False, version = qt_version)
if env["PLATFORM"] == "win32" :
- myenv.Append(LINKFLAGS = ["/SUBSYSTEM:WINDOWS"])
- myenv.Append(LIBS = "qtmain")
+ myenv.Append(LINKFLAGS = ["/SUBSYSTEM:WINDOWS"])
+ myenv.Append(LIBS = "qtmain")
myenv.BuildVersion("BuildVersion.h", project = "slimber")
sources = [
- "main.cpp",
- "QtMenulet.cpp",
- "QtAboutDialog.cpp",
- myenv.Qrc("Slimber.qrc"),
- ]
+ "main.cpp",
+ "QtMenulet.cpp",
+ "QtAboutDialog.cpp",
+ myenv.Qrc("Slimber.qrc"),
+ ]
#if env["PLATFORM"] == "win32" :
-# myenv.RES("../resources/Windows/Slimber.rc")
-# sources += ["../resources/Windows/Slimber.res"]
+# myenv.RES("../resources/Windows/Slimber.rc")
+# sources += ["../resources/Windows/Slimber.res"]
if env["PLATFORM"] == "win32" :
- slimberProgram = myenv.Program("Slimber", sources)
+ slimberProgram = myenv.Program("Slimber", sources)
else :
- slimberProgram = myenv.Program("slimber", sources)
+ slimberProgram = myenv.Program("slimber", sources)
if env["PLATFORM"] == "win32" :
- if "dist" in COMMAND_LINE_TARGETS or env.GetOption("clean") :
- myenv.WindowsBundle("Slimber", resources = {}, qtlibs = ["QtCore4", "QtGui4"])
- myenv.Append(NSIS_OPTIONS = [
- "/DmsvccRedistributableDir=\"" + env["vcredist"] + "\"",
- "/DbuildDate=" + datetime.date.today().strftime("%Y%m%d")
- ])
- #myenv.Nsis("../Packaging/nsis/slimber.nsi")
+ if "dist" in COMMAND_LINE_TARGETS or env.GetOption("clean") :
+ myenv.WindowsBundle("Slimber", resources = {}, qtlibs = ["QtCore4", "QtGui4"])
+ myenv.Append(NSIS_OPTIONS = [
+ "/DmsvccRedistributableDir=\"" + env["vcredist"] + "\"",
+ "/DbuildDate=" + datetime.date.today().strftime("%Y%m%d")
+ ])
+ #myenv.Nsis("../Packaging/nsis/slimber.nsi")
diff --git a/Slimber/SConscript b/Slimber/SConscript
index ff4f57d..a41fe0b 100644
--- a/Slimber/SConscript
+++ b/Slimber/SConscript
@@ -4,18 +4,18 @@ Import("env")
env["BUILD_SLIMBER"] = True
if env["PLATFORM"] == "win32" :
- if not env.get("HAVE_BONJOUR") and "Slimber" in env["PROJECTS"] :
- env["PROJECTS"].remove("Slimber")
+ if not env.get("HAVE_BONJOUR") and "Slimber" in env["PROJECTS"] :
+ env["PROJECTS"].remove("Slimber")
elif env["PLATFORM"] != "darwin" :
- if not env.get("HAVE_AVAHI", False) and "Slimber" in env["PROJECTS"] :
- env["PROJECTS"].remove("Slimber")
+ if not env.get("HAVE_AVAHI", False) and "Slimber" in env["PROJECTS"] :
+ env["PROJECTS"].remove("Slimber")
if not "Slimber" in env["PROJECTS"] and env["SCONS_STAGE"] == "flags" :
- print "Bonjour missing. Not building Slimber."
+ print "Bonjour missing. Not building Slimber."
if not env.get("HAVE_QT", False) and "Slimber" in env["PROJECTS"] :
- print "Qt missing. Not building Slimber."
- env["PROJECTS"].remove("Slimber")
+ print "Qt missing. Not building Slimber."
+ env["PROJECTS"].remove("Slimber")
if "Slimber" in env["PROJECTS"] :
@@ -23,42 +23,42 @@ if "Slimber" in env["PROJECTS"] :
# Flags
################################################################################
- if env["SCONS_STAGE"] == "flags" :
- env["SLIMBER_FLAGS"] = {
- "LIBPATH": [Dir(".")],
- "LIBS": ["Slimber"]
- }
+ if env["SCONS_STAGE"] == "flags" :
+ env["SLIMBER_FLAGS"] = {
+ "LIBPATH": [Dir(".")],
+ "LIBS": ["Slimber"]
+ }
################################################################################
# Build
################################################################################
- if env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
- myenv.UseFlags(env["LIMBER_FLAGS"])
- myenv.MergeFlags(env["BOOST_FLAGS"])
- myenv.MergeFlags(env["SWIFTEN_FLAGS"])
- myenv.MergeFlags(env["SWIFTEN_DEP_FLAGS"])
- myenv.StaticLibrary("Slimber", [
- "LinkLocalPresenceManager.cpp",
- "FileVCardCollection.cpp",
- "VCardCollection.cpp",
- "Server.cpp",
- "MainController.cpp",
- "MenuletController.cpp",
- "Menulet.cpp"
- ])
+ if env["SCONS_STAGE"] == "build" :
+ myenv = env.Clone()
+ myenv.UseFlags(env["LIMBER_FLAGS"])
+ myenv.MergeFlags(env["BOOST_FLAGS"])
+ myenv.MergeFlags(env["SWIFTEN_FLAGS"])
+ myenv.MergeFlags(env["SWIFTEN_DEP_FLAGS"])
+ myenv.StaticLibrary("Slimber", [
+ "LinkLocalPresenceManager.cpp",
+ "FileVCardCollection.cpp",
+ "VCardCollection.cpp",
+ "Server.cpp",
+ "MainController.cpp",
+ "MenuletController.cpp",
+ "Menulet.cpp"
+ ])
- env["SLIMBER_VERSION"] = "0.9.9." + datetime.date.today().strftime("%Y%m%d")
+ env["SLIMBER_VERSION"] = "0.9.9." + datetime.date.today().strftime("%Y%m%d")
- env.Append(UNITTEST_SOURCES = [
- File("UnitTest/LinkLocalPresenceManagerTest.cpp"),
- File("UnitTest/MenuletControllerTest.cpp")
- ])
+ env.Append(UNITTEST_SOURCES = [
+ File("UnitTest/LinkLocalPresenceManagerTest.cpp"),
+ File("UnitTest/MenuletControllerTest.cpp")
+ ])
- SConscript("CLI/SConscript")
- if env["PLATFORM"] == "darwin" :
- SConscript("Cocoa/SConscript")
- else :
- SConscript("Qt/SConscript")
+ SConscript("CLI/SConscript")
+ if env["PLATFORM"] == "darwin" :
+ SConscript("Cocoa/SConscript")
+ else :
+ SConscript("Qt/SConscript")
diff --git a/Sluift/ElementConvertors/SConscript b/Sluift/ElementConvertors/SConscript
index 265017b..b67c65b 100644
--- a/Sluift/ElementConvertors/SConscript
+++ b/Sluift/ElementConvertors/SConscript
@@ -2,53 +2,53 @@
Import('env')
convertors = [
- env.File("PubSubRetractConvertor.cpp"),
- env.File("PubSubAffiliationsConvertor.cpp"),
- env.File("PubSubPublishConvertor.cpp"),
- env.File("PubSubItemsConvertor.cpp"),
- env.File("PubSubOwnerRedirectConvertor.cpp"),
- env.File("PubSubEventRedirectConvertor.cpp"),
- env.File("UserTuneConvertor.cpp"),
- env.File("PubSubConfigureConvertor.cpp"),
- env.File("PubSubEventDisassociateConvertor.cpp"),
- env.File("PubSubOwnerAffiliationsConvertor.cpp"),
- env.File("PubSubOwnerConfigureConvertor.cpp"),
- env.File("UserLocationConvertor.cpp"),
- env.File("PubSubSubscribeOptionsConvertor.cpp"),
- env.File("PubSubOwnerSubscriptionsConvertor.cpp"),
- env.File("PubSubDefaultConvertor.cpp"),
- env.File("PubSubEventCollectionConvertor.cpp"),
- env.File("PubSubEventSubscriptionConvertor.cpp"),
- env.File("PubSubEventRetractConvertor.cpp"),
- env.File("PubSubItemConvertor.cpp"),
- env.File("PubSubUnsubscribeConvertor.cpp"),
- env.File("PubSubEventDeleteConvertor.cpp"),
- env.File("PubSubCreateConvertor.cpp"),
- env.File("PubSubOwnerPurgeConvertor.cpp"),
- env.File("PubSubEventItemsConvertor.cpp"),
- env.File("PubSubOptionsConvertor.cpp"),
- env.File("PubSubEventItemConvertor.cpp"),
- env.File("PubSubOwnerSubscriptionConvertor.cpp"),
- env.File("PubSubOwnerAffiliationConvertor.cpp"),
- env.File("PubSubEventPurgeConvertor.cpp"),
- env.File("PubSubAffiliationConvertor.cpp"),
- env.File("PubSubSubscribeConvertor.cpp"),
- env.File("PubSubOwnerDeleteConvertor.cpp"),
- env.File("PubSubOwnerDefaultConvertor.cpp"),
- env.File("PubSubSubscriptionsConvertor.cpp"),
- env.File("PubSubEventAssociateConvertor.cpp"),
- env.File("PubSubSubscriptionConvertor.cpp"),
- env.File("SecurityLabelConvertor.cpp"),
- env.File("PubSubEventConfigurationConvertor.cpp"),
- env.File("IQConvertor.cpp"),
- env.File("PresenceConvertor.cpp"),
- env.File("MessageConvertor.cpp"),
- env.File("ResultSetConvertor.cpp"),
- env.File("ForwardedConvertor.cpp"),
- env.File("MAMResultConvertor.cpp"),
- env.File("MAMQueryConvertor.cpp"),
- env.File("MAMFinConvertor.cpp"),
- env.File("SubjectConvertor.cpp"),
- env.File("IsodeIQDelegationConvertor.cpp")
+ env.File("PubSubRetractConvertor.cpp"),
+ env.File("PubSubAffiliationsConvertor.cpp"),
+ env.File("PubSubPublishConvertor.cpp"),
+ env.File("PubSubItemsConvertor.cpp"),
+ env.File("PubSubOwnerRedirectConvertor.cpp"),
+ env.File("PubSubEventRedirectConvertor.cpp"),
+ env.File("UserTuneConvertor.cpp"),
+ env.File("PubSubConfigureConvertor.cpp"),
+ env.File("PubSubEventDisassociateConvertor.cpp"),
+ env.File("PubSubOwnerAffiliationsConvertor.cpp"),
+ env.File("PubSubOwnerConfigureConvertor.cpp"),
+ env.File("UserLocationConvertor.cpp"),
+ env.File("PubSubSubscribeOptionsConvertor.cpp"),
+ env.File("PubSubOwnerSubscriptionsConvertor.cpp"),
+ env.File("PubSubDefaultConvertor.cpp"),
+ env.File("PubSubEventCollectionConvertor.cpp"),
+ env.File("PubSubEventSubscriptionConvertor.cpp"),
+ env.File("PubSubEventRetractConvertor.cpp"),
+ env.File("PubSubItemConvertor.cpp"),
+ env.File("PubSubUnsubscribeConvertor.cpp"),
+ env.File("PubSubEventDeleteConvertor.cpp"),
+ env.File("PubSubCreateConvertor.cpp"),
+ env.File("PubSubOwnerPurgeConvertor.cpp"),
+ env.File("PubSubEventItemsConvertor.cpp"),
+ env.File("PubSubOptionsConvertor.cpp"),
+ env.File("PubSubEventItemConvertor.cpp"),
+ env.File("PubSubOwnerSubscriptionConvertor.cpp"),
+ env.File("PubSubOwnerAffiliationConvertor.cpp"),
+ env.File("PubSubEventPurgeConvertor.cpp"),
+ env.File("PubSubAffiliationConvertor.cpp"),
+ env.File("PubSubSubscribeConvertor.cpp"),
+ env.File("PubSubOwnerDeleteConvertor.cpp"),
+ env.File("PubSubOwnerDefaultConvertor.cpp"),
+ env.File("PubSubSubscriptionsConvertor.cpp"),
+ env.File("PubSubEventAssociateConvertor.cpp"),
+ env.File("PubSubSubscriptionConvertor.cpp"),
+ env.File("SecurityLabelConvertor.cpp"),
+ env.File("PubSubEventConfigurationConvertor.cpp"),
+ env.File("IQConvertor.cpp"),
+ env.File("PresenceConvertor.cpp"),
+ env.File("MessageConvertor.cpp"),
+ env.File("ResultSetConvertor.cpp"),
+ env.File("ForwardedConvertor.cpp"),
+ env.File("MAMResultConvertor.cpp"),
+ env.File("MAMQueryConvertor.cpp"),
+ env.File("MAMFinConvertor.cpp"),
+ env.File("SubjectConvertor.cpp"),
+ env.File("IsodeIQDelegationConvertor.cpp")
]
Return('convertors')
diff --git a/Sluift/SConscript b/Sluift/SConscript
index 09da0a9..de9cab6 100644
--- a/Sluift/SConscript
+++ b/Sluift/SConscript
@@ -3,86 +3,86 @@ import Version, os.path
Import(["env"])
if env["SCONS_STAGE"] == "build" and not GetOption("help") and not env.get("HAVE_LUA", 0) :
- print "Warning: Lua was not found. Sluift will not be built."
- if "Sluift" in env["PROJECTS"] :
- env["PROJECTS"].remove("Sluift")
-
+ print "Warning: Lua was not found. Sluift will not be built."
+ if "Sluift" in env["PROJECTS"] :
+ env["PROJECTS"].remove("Sluift")
+
elif env["SCONS_STAGE"] == "build" :
- sluift_sources = [
- "Lua/Value.cpp",
- "Lua/Exception.cpp",
- "Lua/Check.cpp",
- "Lua/FunctionRegistration.cpp",
- "Lua/FunctionRegistry.cpp",
- "Lua/LuaUtils.cpp",
- "LuaElementConvertors.cpp",
- "LuaElementConvertor.cpp",
- "Response.cpp",
- "ElementConvertors/BodyConvertor.cpp",
- "ElementConvertors/VCardUpdateConvertor.cpp",
- "ElementConvertors/PubSubEventConvertor.cpp",
- "ElementConvertors/RawXMLElementConvertor.cpp",
- "ElementConvertors/DOMElementConvertor.cpp",
- "ElementConvertors/DefaultElementConvertor.cpp",
- "ElementConvertors/DiscoInfoConvertor.cpp",
- "ElementConvertors/DiscoItemsConvertor.cpp",
- "ElementConvertors/FormConvertor.cpp",
- "ElementConvertors/SoftwareVersionConvertor.cpp",
- "ElementConvertors/VCardConvertor.cpp",
- "ElementConvertors/CommandConvertor.cpp",
- "ElementConvertors/StatusConvertor.cpp",
- "ElementConvertors/StatusShowConvertor.cpp",
- "ElementConvertors/DelayConvertor.cpp",
- "Helpers.cpp",
- "SluiftClient.cpp",
- "SluiftComponent.cpp",
- "Watchdog.cpp",
- "core.c",
- "client.cpp",
- "component.cpp",
- "sluift.cpp"
- ]
- sluift_sources += env.SConscript("ElementConvertors/SConscript")
+ sluift_sources = [
+ "Lua/Value.cpp",
+ "Lua/Exception.cpp",
+ "Lua/Check.cpp",
+ "Lua/FunctionRegistration.cpp",
+ "Lua/FunctionRegistry.cpp",
+ "Lua/LuaUtils.cpp",
+ "LuaElementConvertors.cpp",
+ "LuaElementConvertor.cpp",
+ "Response.cpp",
+ "ElementConvertors/BodyConvertor.cpp",
+ "ElementConvertors/VCardUpdateConvertor.cpp",
+ "ElementConvertors/PubSubEventConvertor.cpp",
+ "ElementConvertors/RawXMLElementConvertor.cpp",
+ "ElementConvertors/DOMElementConvertor.cpp",
+ "ElementConvertors/DefaultElementConvertor.cpp",
+ "ElementConvertors/DiscoInfoConvertor.cpp",
+ "ElementConvertors/DiscoItemsConvertor.cpp",
+ "ElementConvertors/FormConvertor.cpp",
+ "ElementConvertors/SoftwareVersionConvertor.cpp",
+ "ElementConvertors/VCardConvertor.cpp",
+ "ElementConvertors/CommandConvertor.cpp",
+ "ElementConvertors/StatusConvertor.cpp",
+ "ElementConvertors/StatusShowConvertor.cpp",
+ "ElementConvertors/DelayConvertor.cpp",
+ "Helpers.cpp",
+ "SluiftClient.cpp",
+ "SluiftComponent.cpp",
+ "Watchdog.cpp",
+ "core.c",
+ "client.cpp",
+ "component.cpp",
+ "sluift.cpp"
+ ]
+ sluift_sources += env.SConscript("ElementConvertors/SConscript")
- sluift_env = env.Clone()
- sluift_env.UseFlags(env.get("LUA_FLAGS", {}))
- sluift_env.UseFlags(env["SWIFTEN_FLAGS"])
- sluift_env.UseFlags(env["SWIFTEN_DEP_FLAGS"])
- # Support compilation on both Lua 5.1 and Lua 5.2
- sluift_env.Append(CPPDEFINES = ["LUA_COMPAT_ALL"])
- if sluift_env["PLATFORM"] == "win32" :
- sluift_env.Append(CPPDEFINES = ["SLUIFT_BUILD_DLL"])
+ sluift_env = env.Clone()
+ sluift_env.UseFlags(env.get("LUA_FLAGS", {}))
+ sluift_env.UseFlags(env["SWIFTEN_FLAGS"])
+ sluift_env.UseFlags(env["SWIFTEN_DEP_FLAGS"])
+ # Support compilation on both Lua 5.1 and Lua 5.2
+ sluift_env.Append(CPPDEFINES = ["LUA_COMPAT_ALL"])
+ if sluift_env["PLATFORM"] == "win32" :
+ sluift_env.Append(CPPDEFINES = ["SLUIFT_BUILD_DLL"])
- if sluift_env["PLATFORM"] == "darwin" and os.path.isdir("/Applications/iTunes.app") :
- sluift_env.Append(FRAMEWORKS = ["ScriptingBridge"])
- sluift_env.Command("iTunes.h", "/Applications/iTunes.app",
- "sdef ${SOURCE} | sdp -fh --basename iTunes -V 10.10 -o ${TARGET.dir}")
- sluift_env.Append(CPPDEFINES = ["HAVE_ITUNES"])
- sluift_sources += ["ITunesInterface.mm"]
+ if sluift_env["PLATFORM"] == "darwin" and os.path.isdir("/Applications/iTunes.app") :
+ sluift_env.Append(FRAMEWORKS = ["ScriptingBridge"])
+ sluift_env.Command("iTunes.h", "/Applications/iTunes.app",
+ "sdef ${SOURCE} | sdp -fh --basename iTunes -V 10.10 -o ${TARGET.dir}")
+ sluift_env.Append(CPPDEFINES = ["HAVE_ITUNES"])
+ sluift_sources += ["ITunesInterface.mm"]
- # Generate Version.h
- version_header = "#pragma once\n\n"
- version_header += "#define SLUIFT_VERSION_STRING \"" + Version.getBuildVersion(env.Dir("#").abspath, "sluift") + "\"\n"
- sluift_env.WriteVal("Version.h", sluift_env.Value(version_header))
+ # Generate Version.h
+ version_header = "#pragma once\n\n"
+ version_header += "#define SLUIFT_VERSION_STRING \"" + Version.getBuildVersion(env.Dir("#").abspath, "sluift") + "\"\n"
+ sluift_env.WriteVal("Version.h", sluift_env.Value(version_header))
- # Generate core.c
- def generate_embedded_lua(env, target, source) :
- f = open(source[0].abspath, "r")
- data = f.read()
- f.close()
- f = open(target[0].abspath, "w")
- f.write('#include <stddef.h>\n')
- f.write('const size_t ' + source[0].name.replace(".", "_") + "_size = " + str(len(data)) + ";\n")
- f.write('const char ' + source[0].name.replace(".", "_") + "[] = {" + ", ".join([str(ord(c)) for c in data]) + "};\n")
- f.close()
- sluift_env.Command("core.c", ["core.lua"], env.Action(generate_embedded_lua, cmdstr="$GENCOMSTR"))
+ # Generate core.c
+ def generate_embedded_lua(env, target, source) :
+ f = open(source[0].abspath, "r")
+ data = f.read()
+ f.close()
+ f = open(target[0].abspath, "w")
+ f.write('#include <stddef.h>\n')
+ f.write('const size_t ' + source[0].name.replace(".", "_") + "_size = " + str(len(data)) + ";\n")
+ f.write('const char ' + source[0].name.replace(".", "_") + "[] = {" + ", ".join([str(ord(c)) for c in data]) + "};\n")
+ f.close()
+ sluift_env.Command("core.c", ["core.lua"], env.Action(generate_embedded_lua, cmdstr="$GENCOMSTR"))
- sluift_env.WriteVal("dll.c", sluift_env.Value(""))
+ sluift_env.WriteVal("dll.c", sluift_env.Value(""))
- sluift_sources = [env.File(x) for x in sluift_sources]
- for sluift_variant in ['dll', 'exe'] :
- SConscript(["SConscript.variant"], variant_dir = sluift_variant,
- duplicate = 0,
- exports = ['sluift_sources', 'sluift_variant', 'sluift_env'])
+ sluift_sources = [env.File(x) for x in sluift_sources]
+ for sluift_variant in ['dll', 'exe'] :
+ SConscript(["SConscript.variant"], variant_dir = sluift_variant,
+ duplicate = 0,
+ exports = ['sluift_sources', 'sluift_variant', 'sluift_env'])
diff --git a/Sluift/SConscript.variant b/Sluift/SConscript.variant
index d0e2b18..9f56c91 100644
--- a/Sluift/SConscript.variant
+++ b/Sluift/SConscript.variant
@@ -6,37 +6,37 @@ Import('sluift_variant')
Import('sluift_sources')
if sluift_variant == 'exe' :
- common_objects = sluift_env.StaticObject(sluift_sources)
+ common_objects = sluift_env.StaticObject(sluift_sources)
- sluift_exe_env = sluift_env.Clone()
- tokenize = sluift_exe_env.StaticObject("#/Sluift/tokenize.cpp")
- exe_sources = tokenize + [
- "#/Sluift/Console.cpp",
- "#/Sluift/Terminal.cpp",
- "#/Sluift/StandardTerminal.cpp",
- "#/Sluift/Completer.cpp",
- "#/Sluift/main.cpp",
- ]
+ sluift_exe_env = sluift_env.Clone()
+ tokenize = sluift_exe_env.StaticObject("#/Sluift/tokenize.cpp")
+ exe_sources = tokenize + [
+ "#/Sluift/Console.cpp",
+ "#/Sluift/Terminal.cpp",
+ "#/Sluift/StandardTerminal.cpp",
+ "#/Sluift/Completer.cpp",
+ "#/Sluift/main.cpp",
+ ]
- if sluift_exe_env.get("HAVE_EDITLINE", False) :
- sluift_exe_env.Append(CPPDEFINES = ["HAVE_EDITLINE"])
- sluift_exe_env.MergeFlags(sluift_exe_env["EDITLINE_FLAGS"])
- exe_sources += ["#/Sluift/EditlineTerminal.cpp"]
+ if sluift_exe_env.get("HAVE_EDITLINE", False) :
+ sluift_exe_env.Append(CPPDEFINES = ["HAVE_EDITLINE"])
+ sluift_exe_env.MergeFlags(sluift_exe_env["EDITLINE_FLAGS"])
+ exe_sources += ["#/Sluift/EditlineTerminal.cpp"]
- env["SLUIFT"] = sluift_exe_env.Program("sluift", common_objects + exe_sources)
- if sluift_exe_env.get("SLUIFT_INSTALLDIR", "") :
- sluift_exe_env.Install(os.path.join(sluift_exe_env["SLUIFT_INSTALLDIR"], "bin"), env["SLUIFT"])
+ env["SLUIFT"] = sluift_exe_env.Program("sluift", common_objects + exe_sources)
+ if sluift_exe_env.get("SLUIFT_INSTALLDIR", "") :
+ sluift_exe_env.Install(os.path.join(sluift_exe_env["SLUIFT_INSTALLDIR"], "bin"), env["SLUIFT"])
- # Unit tests
- env.Append(UNITTEST_OBJECTS = tokenize + ["#/Sluift/UnitTest/TokenizeTest.cpp"])
+ # Unit tests
+ env.Append(UNITTEST_OBJECTS = tokenize + ["#/Sluift/UnitTest/TokenizeTest.cpp"])
else :
- sluift_env["SLUIFT_DLL_SUFFIX"] = "${SHLIBSUFFIX}"
- if sluift_env["PLATFORM"] == "darwin" :
- sluift_env["SLUIFT_DLL_SUFFIX"] = ".so"
- sluift_dll = sluift_env.SharedLibrary(sluift_env.File("sluift${SLUIFT_DLL_SUFFIX}"),
- sluift_sources + ["#/Sluift/dll.c"])
- if sluift_env.get("SLUIFT_INSTALLDIR", False) and sluift_env.get("LUA_VERSION", False) :
- sluift_env.Install(
- os.path.join(sluift_env["SLUIFT_INSTALLDIR"], "lib", "lua", sluift_env["LUA_VERSION"]),
- sluift_dll)
+ sluift_env["SLUIFT_DLL_SUFFIX"] = "${SHLIBSUFFIX}"
+ if sluift_env["PLATFORM"] == "darwin" :
+ sluift_env["SLUIFT_DLL_SUFFIX"] = ".so"
+ sluift_dll = sluift_env.SharedLibrary(sluift_env.File("sluift${SLUIFT_DLL_SUFFIX}"),
+ sluift_sources + ["#/Sluift/dll.c"])
+ if sluift_env.get("SLUIFT_INSTALLDIR", False) and sluift_env.get("LUA_VERSION", False) :
+ sluift_env.Install(
+ os.path.join(sluift_env["SLUIFT_INSTALLDIR"], "lib", "lua", sluift_env["LUA_VERSION"]),
+ sluift_dll)
diff --git a/SwifTools/Application/SConscript b/SwifTools/Application/SConscript
index 32924fc..29bcceb 100644
--- a/SwifTools/Application/SConscript
+++ b/SwifTools/Application/SConscript
@@ -1,27 +1,27 @@
Import("swiftools_env", "env")
sources = [
- "ApplicationPathProvider.cpp",
- ]
+ "ApplicationPathProvider.cpp",
+ ]
if swiftools_env["PLATFORM"] == "darwin" and swiftools_env["target"] == "native" :
- sources += [
- "CocoaApplication.mm",
- "MacOSXApplicationPathProvider.cpp",
- ]
+ sources += [
+ "CocoaApplication.mm",
+ "MacOSXApplicationPathProvider.cpp",
+ ]
elif swiftools_env["PLATFORM"] == "win32" :
- sources += [
- "WindowsApplicationPathProvider.cpp"
- ]
+ sources += [
+ "WindowsApplicationPathProvider.cpp"
+ ]
else :
- sources += [
- "UnixApplicationPathProvider.cpp"
- ]
+ sources += [
+ "UnixApplicationPathProvider.cpp"
+ ]
objects = swiftools_env.StaticObject(sources)
swiftools_env.Append(SWIFTOOLS_OBJECTS = [objects])
if swiftools_env["PLATFORM"] != "darwin" or swiftools_env["target"] == "native" :
- env.Append(UNITTEST_SOURCES = [
- File("UnitTest/ApplicationPathProviderTest.cpp")
- ])
+ env.Append(UNITTEST_SOURCES = [
+ File("UnitTest/ApplicationPathProviderTest.cpp")
+ ])
diff --git a/SwifTools/Cocoa/SConscript b/SwifTools/Cocoa/SConscript
index 4ae4a07..f4bd286 100644
--- a/SwifTools/Cocoa/SConscript
+++ b/SwifTools/Cocoa/SConscript
@@ -2,7 +2,7 @@ Import("swiftools_env", "env")
sources = []
if swiftools_env["PLATFORM"] == "darwin" and swiftools_env["target"] == "native" :
- sources += ["CocoaAction.mm"]
+ sources += ["CocoaAction.mm"]
objects = swiftools_env.StaticObject(sources)
swiftools_env.Append(SWIFTOOLS_OBJECTS = [objects])
diff --git a/SwifTools/Dock/SConscript b/SwifTools/Dock/SConscript
index 94797cb..3dbcf60 100644
--- a/SwifTools/Dock/SConscript
+++ b/SwifTools/Dock/SConscript
@@ -1,13 +1,13 @@
Import("swiftools_env")
sources = [
- "Dock.cpp",
- ]
+ "Dock.cpp",
+ ]
if swiftools_env["PLATFORM"] == "darwin" and swiftools_env["target"] == "native" :
- sources += [
- "MacOSXDock.mm",
- ]
+ sources += [
+ "MacOSXDock.mm",
+ ]
objects = swiftools_env.StaticObject(sources)
swiftools_env.Append(SWIFTOOLS_OBJECTS = objects)
diff --git a/SwifTools/Idle/IdleQuerierTest/SConscript b/SwifTools/Idle/IdleQuerierTest/SConscript
index 5878a46..89bb3f9 100644
--- a/SwifTools/Idle/IdleQuerierTest/SConscript
+++ b/SwifTools/Idle/IdleQuerierTest/SConscript
@@ -1,12 +1,12 @@
Import("env")
if env["TEST"] :
- myenv = env.Clone()
- myenv.MergeFlags(myenv["SWIFTOOLS_FLAGS"])
- myenv.MergeFlags(myenv["SWIFTEN_FLAGS"])
- myenv.MergeFlags(myenv["BOOST_FLAGS"])
- if myenv["HAVE_XSS"] :
- myenv.MergeFlags(myenv.get("XSS_FLAGS", {}))
- myenv.Append(LIBS = ["X11"])
- myenv.MergeFlags(myenv["PLATFORM_FLAGS"])
- tester = myenv.Program("IdleQuerierTest", ["IdleQuerierTest.cpp"])
+ myenv = env.Clone()
+ myenv.MergeFlags(myenv["SWIFTOOLS_FLAGS"])
+ myenv.MergeFlags(myenv["SWIFTEN_FLAGS"])
+ myenv.MergeFlags(myenv["BOOST_FLAGS"])
+ if myenv["HAVE_XSS"] :
+ myenv.MergeFlags(myenv.get("XSS_FLAGS", {}))
+ myenv.Append(LIBS = ["X11"])
+ myenv.MergeFlags(myenv["PLATFORM_FLAGS"])
+ tester = myenv.Program("IdleQuerierTest", ["IdleQuerierTest.cpp"])
diff --git a/SwifTools/Idle/UnitTest/SConscript b/SwifTools/Idle/UnitTest/SConscript
index f193349..26a9190 100644
--- a/SwifTools/Idle/UnitTest/SConscript
+++ b/SwifTools/Idle/UnitTest/SConscript
@@ -1,5 +1,5 @@
Import("env")
env.Append(UNITTEST_SOURCES = [
- File("ActualIdleDetectorTest.cpp")
- ])
+ File("ActualIdleDetectorTest.cpp")
+ ])
diff --git a/SwifTools/Notifier/SConscript b/SwifTools/Notifier/SConscript
index e60937b..a8e8590 100644
--- a/SwifTools/Notifier/SConscript
+++ b/SwifTools/Notifier/SConscript
@@ -3,25 +3,25 @@ Import("swiftools_env")
myenv = swiftools_env.Clone()
sources = [
- "Notifier.cpp",
- ]
+ "Notifier.cpp",
+ ]
if swiftools_env.get("HAVE_GROWL", False) :
- sources += [
- "GrowlNotifier.mm",
- "GrowlNotifierDelegate.mm",
- ]
+ sources += [
+ "GrowlNotifier.mm",
+ "GrowlNotifierDelegate.mm",
+ ]
elif myenv["PLATFORM"] == "darwin" :
- sources += [
- "NotificationCenterNotifier.mm",
- "NotificationCenterNotifierDelegate.mm",
- ]
+ sources += [
+ "NotificationCenterNotifier.mm",
+ "NotificationCenterNotifierDelegate.mm",
+ ]
if swiftools_env.get("HAVE_SNARL", False) :
- myenv.MergeFlags(myenv["SNARL_FLAGS"])
- sources += [
- "SnarlNotifier.cpp",
- ]
-
+ myenv.MergeFlags(myenv["SNARL_FLAGS"])
+ sources += [
+ "SnarlNotifier.cpp",
+ ]
+
objects = myenv.StaticObject(sources)
swiftools_env.Append(SWIFTOOLS_OBJECTS = objects)
diff --git a/SwifTools/SConscript b/SwifTools/SConscript
index b9822e0..aa6d47e 100644
--- a/SwifTools/SConscript
+++ b/SwifTools/SConscript
@@ -5,79 +5,79 @@ Import("env")
################################################################################
if env["SCONS_STAGE"] == "flags" :
- env["SWIFTOOLS_FLAGS"] = {
- "LIBPATH": [Dir(".")],
- "LIBS": ["SwifTools"]
- }
+ env["SWIFTOOLS_FLAGS"] = {
+ "LIBPATH": [Dir(".")],
+ "LIBS": ["SwifTools"]
+ }
################################################################################
# Build
################################################################################
if env["SCONS_STAGE"] == "build" :
- swiftools_env = env.Clone()
- swiftools_env.UseFlags(swiftools_env["SWIFTEN_FLAGS"])
- swiftools_env.UseFlags(swiftools_env["BOOST_FLAGS"])
+ swiftools_env = env.Clone()
+ swiftools_env.UseFlags(swiftools_env["SWIFTEN_FLAGS"])
+ swiftools_env.UseFlags(swiftools_env["BOOST_FLAGS"])
- sources = [
- "Idle/IdleDetector.cpp",
- "Idle/ActualIdleDetector.cpp",
- "Idle/IdleQuerier.cpp",
- "Idle/PlatformIdleQuerier.cpp",
- "AutoUpdater/AutoUpdater.cpp",
- "AutoUpdater/PlatformAutoUpdaterFactory.cpp",
- "Linkify.cpp",
- "TabComplete.cpp",
- "LastLineTracker.cpp",
- ]
-
- if swiftools_env["HAVE_HUNSPELL"] :
- swiftools_env.UseFlags(swiftools_env["HUNSPELL_FLAGS"])
- swiftools_env.Append(CPPDEFINES = ["HAVE_HUNSPELL"])
- sources += [
- "SpellCheckerFactory.cpp",
- "HunspellChecker.cpp",
- "SpellParser.cpp",
- ]
- elif swiftools_env["PLATFORM"] == "darwin" and env["target"] == "native" :
- sources += [
- "SpellCheckerFactory.cpp",
- "MacOSXChecker.mm",
- "SpellParser.cpp",
- ]
+ sources = [
+ "Idle/IdleDetector.cpp",
+ "Idle/ActualIdleDetector.cpp",
+ "Idle/IdleQuerier.cpp",
+ "Idle/PlatformIdleQuerier.cpp",
+ "AutoUpdater/AutoUpdater.cpp",
+ "AutoUpdater/PlatformAutoUpdaterFactory.cpp",
+ "Linkify.cpp",
+ "TabComplete.cpp",
+ "LastLineTracker.cpp",
+ ]
+ if swiftools_env["HAVE_HUNSPELL"] :
+ swiftools_env.UseFlags(swiftools_env["HUNSPELL_FLAGS"])
+ swiftools_env.Append(CPPDEFINES = ["HAVE_HUNSPELL"])
+ sources += [
+ "SpellCheckerFactory.cpp",
+ "HunspellChecker.cpp",
+ "SpellParser.cpp",
+ ]
+ elif swiftools_env["PLATFORM"] == "darwin" and env["target"] == "native" :
+ sources += [
+ "SpellCheckerFactory.cpp",
+ "MacOSXChecker.mm",
+ "SpellParser.cpp",
+ ]
- if swiftools_env.get("HAVE_SPARKLE", 0) :
- swiftools_env.UseFlags(swiftools_env["SPARKLE_FLAGS"])
- swiftools_env.Append(CPPDEFINES = ["HAVE_SPARKLE"])
- sources += ["AutoUpdater/SparkleAutoUpdater.mm"]
- if swiftools_env["PLATFORM"] == "win32" :
- sources += ["Idle/WindowsIdleQuerier.cpp"]
- elif swiftools_env["PLATFORM"] == "darwin" and swiftools_env.get("HAVE_IOKIT", False) :
- swiftools_env.Append(CPPDEFINES = ["HAVE_IOKIT"])
- sources += ["Idle/MacOSXIdleQuerier.cpp"]
- elif swiftools_env["HAVE_XSS"] :
- swiftools_env.Append(CPPDEFINES = ["HAVE_XSS"])
- sources += ["Idle/XSSIdleQuerier.cpp"]
+ if swiftools_env.get("HAVE_SPARKLE", 0) :
+ swiftools_env.UseFlags(swiftools_env["SPARKLE_FLAGS"])
+ swiftools_env.Append(CPPDEFINES = ["HAVE_SPARKLE"])
+ sources += ["AutoUpdater/SparkleAutoUpdater.mm"]
- if env.get("HAVE_BREAKPAD", False) :
- swiftools_env.UseFlags(swiftools_env["BREAKPAD_FLAGS"])
- swiftools_env.Append(CPPDEFINES = ["HAVE_BREAKPAD"])
- sources += ["CrashReporter.cpp"]
-
- swiftools_env["SWIFTOOLS_OBJECTS"] = []
- Export("swiftools_env")
-
- SConscript(dirs = [
- "Application",
- "Dock",
- "Notifier",
- "URIHandler",
- "Idle/IdleQuerierTest",
- "Idle/UnitTest",
- "Cocoa",
- "UnitTest"
- ])
+ if swiftools_env["PLATFORM"] == "win32" :
+ sources += ["Idle/WindowsIdleQuerier.cpp"]
+ elif swiftools_env["PLATFORM"] == "darwin" and swiftools_env.get("HAVE_IOKIT", False) :
+ swiftools_env.Append(CPPDEFINES = ["HAVE_IOKIT"])
+ sources += ["Idle/MacOSXIdleQuerier.cpp"]
+ elif swiftools_env["HAVE_XSS"] :
+ swiftools_env.Append(CPPDEFINES = ["HAVE_XSS"])
+ sources += ["Idle/XSSIdleQuerier.cpp"]
- swiftools_env.StaticLibrary("SwifTools", sources + swiftools_env["SWIFTOOLS_OBJECTS"])
+ if env.get("HAVE_BREAKPAD", False) :
+ swiftools_env.UseFlags(swiftools_env["BREAKPAD_FLAGS"])
+ swiftools_env.Append(CPPDEFINES = ["HAVE_BREAKPAD"])
+ sources += ["CrashReporter.cpp"]
+
+ swiftools_env["SWIFTOOLS_OBJECTS"] = []
+ Export("swiftools_env")
+
+ SConscript(dirs = [
+ "Application",
+ "Dock",
+ "Notifier",
+ "URIHandler",
+ "Idle/IdleQuerierTest",
+ "Idle/UnitTest",
+ "Cocoa",
+ "UnitTest"
+ ])
+
+ swiftools_env.StaticLibrary("SwifTools", sources + swiftools_env["SWIFTOOLS_OBJECTS"])
diff --git a/SwifTools/URIHandler/SConscript b/SwifTools/URIHandler/SConscript
index 90ec00a..8ebbdaf 100644
--- a/SwifTools/URIHandler/SConscript
+++ b/SwifTools/URIHandler/SConscript
@@ -1,22 +1,22 @@
Import("swiftools_env", "env")
sources = [
- "XMPPURI.cpp",
- "URIHandler.cpp",
- ]
+ "XMPPURI.cpp",
+ "URIHandler.cpp",
+ ]
if swiftools_env["PLATFORM"] == "darwin" and swiftools_env["target"] == "native" :
- sources += [
- "MacOSXURIHandler.mm"
- ]
+ sources += [
+ "MacOSXURIHandler.mm"
+ ]
elif swiftools_env["PLATFORM"] == "win32" :
- sources += []
+ sources += []
else :
- sources += []
+ sources += []
objects = swiftools_env.StaticObject(sources)
swiftools_env.Append(SWIFTOOLS_OBJECTS = [objects])
env.Append(UNITTEST_SOURCES = [
- File("UnitTest/XMPPURITest.cpp"),
- ])
+ File("UnitTest/XMPPURITest.cpp"),
+ ])
diff --git a/SwifTools/UnitTest/SConscript b/SwifTools/UnitTest/SConscript
index dbd1ce5..bf44899 100644
--- a/SwifTools/UnitTest/SConscript
+++ b/SwifTools/UnitTest/SConscript
@@ -1,12 +1,12 @@
Import("env")
env.Append(UNITTEST_SOURCES = [
- File("LinkifyTest.cpp"),
- File("TabCompleteTest.cpp"),
- File("LastLineTrackerTest.cpp"),
- ])
+ File("LinkifyTest.cpp"),
+ File("TabCompleteTest.cpp"),
+ File("LastLineTrackerTest.cpp"),
+ ])
if env["HAVE_HUNSPELL"] :
- env.Append(UNITTEST_SOURCES = [
- File("SpellParserTest.cpp"),
- ])
+ env.Append(UNITTEST_SOURCES = [
+ File("SpellParserTest.cpp"),
+ ])
diff --git a/Swift/Controllers/SConscript b/Swift/Controllers/SConscript
index 5ebbdd3..105b44b 100644
--- a/Swift/Controllers/SConscript
+++ b/Swift/Controllers/SConscript
@@ -6,10 +6,10 @@ import Version
################################################################################
if env["SCONS_STAGE"] == "flags" :
- env["SWIFT_CONTROLLERS_FLAGS"] = {
- "LIBPATH": [Dir(".")],
- "LIBS": ["SwiftControllers"]
- }
+ env["SWIFT_CONTROLLERS_FLAGS"] = {
+ "LIBPATH": [Dir(".")],
+ "LIBS": ["SwiftControllers"]
+ }
################################################################################
@@ -17,95 +17,95 @@ if env["SCONS_STAGE"] == "flags" :
################################################################################
if env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
- myenv.BuildVersion("BuildVersion.h", project = "swift")
- myenv.UseFlags(env["SWIFTEN_FLAGS"])
- myenv.UseFlags(env["SWIFTEN_DEP_FLAGS"])
- myenv.StaticLibrary("SwiftControllers", [
- "Chat/ChatController.cpp",
- "Chat/ChatControllerBase.cpp",
- "Chat/ChatsManager.cpp",
- "Chat/MUCController.cpp",
- "Chat/MUCSearchController.cpp",
- "Chat/UserSearchController.cpp",
- "Chat/ChatMessageParser.cpp",
- "ContactSuggester.cpp",
- "MainController.cpp",
- "ProfileController.cpp",
- "ShowProfileController.cpp",
- "ContactEditController.cpp",
- "FileTransfer/FileTransferController.cpp",
- "FileTransfer/FileTransferOverview.cpp",
- "FileTransfer/FileTransferProgressInfo.cpp",
- "Roster/RosterController.cpp",
- "Roster/RosterGroupExpandinessPersister.cpp",
- "Roster/ContactRosterItem.cpp",
- "Roster/GroupRosterItem.cpp",
- "Roster/RosterItem.cpp",
- "Roster/Roster.cpp",
- "Roster/RosterVCardProvider.cpp",
- "Roster/TableRoster.cpp",
- "EventWindowController.cpp",
- "SoundEventController.cpp",
- "SystemTrayController.cpp",
- "XMLConsoleController.cpp",
- "HistoryViewController.cpp",
- "HistoryController.cpp",
- "FileTransferListController.cpp",
- "BlockListController.cpp",
- "StatusTracker.cpp",
- "PresenceNotifier.cpp",
- "EventNotifier.cpp",
- "AdHocManager.cpp",
- "AdHocController.cpp",
- "XMPPEvents/EventController.cpp",
- "UIEvents/UIEvent.cpp",
- "UIInterfaces/XMLConsoleWidget.cpp",
- "UIInterfaces/ChatListWindow.cpp",
- "UIInterfaces/HighlightEditorWindow.cpp",
- "PreviousStatusStore.cpp",
- "ProfileSettingsProvider.cpp",
- "Settings/SettingsProviderHierachy.cpp",
- "Settings/XMLSettingsProvider.cpp",
- "Storages/CertificateStorageFactory.cpp",
- "Storages/CertificateStorage.cpp",
- "Storages/CertificateFileStorage.cpp",
- "Storages/CertificateMemoryStorage.cpp",
- "Storages/AvatarFileStorage.cpp",
- "Storages/FileStorages.cpp",
- "Storages/RosterFileStorage.cpp",
- "Storages/CapsFileStorage.cpp",
- "Storages/VCardFileStorage.cpp",
- "StatusUtil.cpp",
- "Translator.cpp",
- "XMPPURIController.cpp",
- "ChatMessageSummarizer.cpp",
- "SettingConstants.cpp",
- "WhiteboardManager.cpp",
- "StatusCache.cpp",
- "HighlightAction.cpp",
- "HighlightEditorController.cpp",
- "HighlightManager.cpp",
- "HighlightRule.cpp",
- "Highlighter.cpp",
- "ContactsFromXMPPRoster.cpp",
- "ContactProvider.cpp",
- "Contact.cpp"
- ])
+ myenv = env.Clone()
+ myenv.BuildVersion("BuildVersion.h", project = "swift")
+ myenv.UseFlags(env["SWIFTEN_FLAGS"])
+ myenv.UseFlags(env["SWIFTEN_DEP_FLAGS"])
+ myenv.StaticLibrary("SwiftControllers", [
+ "Chat/ChatController.cpp",
+ "Chat/ChatControllerBase.cpp",
+ "Chat/ChatsManager.cpp",
+ "Chat/MUCController.cpp",
+ "Chat/MUCSearchController.cpp",
+ "Chat/UserSearchController.cpp",
+ "Chat/ChatMessageParser.cpp",
+ "ContactSuggester.cpp",
+ "MainController.cpp",
+ "ProfileController.cpp",
+ "ShowProfileController.cpp",
+ "ContactEditController.cpp",
+ "FileTransfer/FileTransferController.cpp",
+ "FileTransfer/FileTransferOverview.cpp",
+ "FileTransfer/FileTransferProgressInfo.cpp",
+ "Roster/RosterController.cpp",
+ "Roster/RosterGroupExpandinessPersister.cpp",
+ "Roster/ContactRosterItem.cpp",
+ "Roster/GroupRosterItem.cpp",
+ "Roster/RosterItem.cpp",
+ "Roster/Roster.cpp",
+ "Roster/RosterVCardProvider.cpp",
+ "Roster/TableRoster.cpp",
+ "EventWindowController.cpp",
+ "SoundEventController.cpp",
+ "SystemTrayController.cpp",
+ "XMLConsoleController.cpp",
+ "HistoryViewController.cpp",
+ "HistoryController.cpp",
+ "FileTransferListController.cpp",
+ "BlockListController.cpp",
+ "StatusTracker.cpp",
+ "PresenceNotifier.cpp",
+ "EventNotifier.cpp",
+ "AdHocManager.cpp",
+ "AdHocController.cpp",
+ "XMPPEvents/EventController.cpp",
+ "UIEvents/UIEvent.cpp",
+ "UIInterfaces/XMLConsoleWidget.cpp",
+ "UIInterfaces/ChatListWindow.cpp",
+ "UIInterfaces/HighlightEditorWindow.cpp",
+ "PreviousStatusStore.cpp",
+ "ProfileSettingsProvider.cpp",
+ "Settings/SettingsProviderHierachy.cpp",
+ "Settings/XMLSettingsProvider.cpp",
+ "Storages/CertificateStorageFactory.cpp",
+ "Storages/CertificateStorage.cpp",
+ "Storages/CertificateFileStorage.cpp",
+ "Storages/CertificateMemoryStorage.cpp",
+ "Storages/AvatarFileStorage.cpp",
+ "Storages/FileStorages.cpp",
+ "Storages/RosterFileStorage.cpp",
+ "Storages/CapsFileStorage.cpp",
+ "Storages/VCardFileStorage.cpp",
+ "StatusUtil.cpp",
+ "Translator.cpp",
+ "XMPPURIController.cpp",
+ "ChatMessageSummarizer.cpp",
+ "SettingConstants.cpp",
+ "WhiteboardManager.cpp",
+ "StatusCache.cpp",
+ "HighlightAction.cpp",
+ "HighlightEditorController.cpp",
+ "HighlightManager.cpp",
+ "HighlightRule.cpp",
+ "Highlighter.cpp",
+ "ContactsFromXMPPRoster.cpp",
+ "ContactProvider.cpp",
+ "Contact.cpp"
+ ])
- env.Append(UNITTEST_SOURCES = [
- File("Roster/UnitTest/RosterControllerTest.cpp"),
- File("Roster/UnitTest/RosterTest.cpp"),
- File("Roster/UnitTest/LeastCommonSubsequenceTest.cpp"),
- File("Roster/UnitTest/TableRosterTest.cpp"),
- File("UnitTest/PreviousStatusStoreTest.cpp"),
- File("UnitTest/PresenceNotifierTest.cpp"),
- File("Chat/UnitTest/ChatsManagerTest.cpp"),
- File("Chat/UnitTest/MUCControllerTest.cpp"),
- File("Chat/UnitTest/ChatMessageParserTest.cpp"),
- File("UnitTest/MockChatWindow.cpp"),
- File("UnitTest/ChatMessageSummarizerTest.cpp"),
- File("Settings/UnitTest/SettingsProviderHierachyTest.cpp"),
- File("UnitTest/HighlightRuleTest.cpp"),
- File("UnitTest/ContactSuggesterTest.cpp")
- ])
+ env.Append(UNITTEST_SOURCES = [
+ File("Roster/UnitTest/RosterControllerTest.cpp"),
+ File("Roster/UnitTest/RosterTest.cpp"),
+ File("Roster/UnitTest/LeastCommonSubsequenceTest.cpp"),
+ File("Roster/UnitTest/TableRosterTest.cpp"),
+ File("UnitTest/PreviousStatusStoreTest.cpp"),
+ File("UnitTest/PresenceNotifierTest.cpp"),
+ File("Chat/UnitTest/ChatsManagerTest.cpp"),
+ File("Chat/UnitTest/MUCControllerTest.cpp"),
+ File("Chat/UnitTest/ChatMessageParserTest.cpp"),
+ File("UnitTest/MockChatWindow.cpp"),
+ File("UnitTest/ChatMessageSummarizerTest.cpp"),
+ File("Settings/UnitTest/SettingsProviderHierachyTest.cpp"),
+ File("UnitTest/HighlightRuleTest.cpp"),
+ File("UnitTest/ContactSuggesterTest.cpp")
+ ])
diff --git a/Swift/QtUI/SConscript b/Swift/QtUI/SConscript
index e3a8d39..9c3d0af 100644
--- a/Swift/QtUI/SConscript
+++ b/Swift/QtUI/SConscript
@@ -2,20 +2,20 @@ import os, datetime, re, time
import Version
def generateQRCTheme(dir, prefix) :
- sourceDir = dir.abspath
- result = "<!-- WARNING: This file is automatically generated. Any changes will be overwritten. -->\n"
- result += "<RCC version =\"1.0\">"
- result += "<qresource prefix=\"/themes/" + prefix + "\">"
- for (path, dirs, files) in os.walk(sourceDir) :
- for file in files :
- filePath = os.path.join(path,file)
- result += "<file alias=\"%(alias)s\">%(path)s</file>" % {
- "alias": filePath[len(sourceDir)+1:],
- "path": filePath
- }
- result += "</qresource>"
- result += "</RCC>"
- return result
+ sourceDir = dir.abspath
+ result = "<!-- WARNING: This file is automatically generated. Any changes will be overwritten. -->\n"
+ result += "<RCC version =\"1.0\">"
+ result += "<qresource prefix=\"/themes/" + prefix + "\">"
+ for (path, dirs, files) in os.walk(sourceDir) :
+ for file in files :
+ filePath = os.path.join(path,file)
+ result += "<file alias=\"%(alias)s\">%(path)s</file>" % {
+ "alias": filePath[len(sourceDir)+1:],
+ "path": filePath
+ }
+ result += "</qresource>"
+ result += "</RCC>"
+ return result
Import("env")
@@ -24,33 +24,33 @@ myenv = env.Clone()
# Disable warnings that affect Qt
myenv["CXXFLAGS"] = filter(lambda x : x != "-Wfloat-equal", myenv["CXXFLAGS"])
if "clang" in env["CC"] :
- myenv.Append(CXXFLAGS = ["-Wno-float-equal", "-Wno-shorten-64-to-32", "-Wno-missing-prototypes", "-Wno-unreachable-code", "-Wno-disabled-macro-expansion", "-Wno-unused-private-field", "-Wno-extra-semi", "-Wno-duplicate-enum", "-Wno-missing-variable-declarations", "-Wno-conversion", "-Wno-undefined-reinterpret-cast"])
+ myenv.Append(CXXFLAGS = ["-Wno-float-equal", "-Wno-shorten-64-to-32", "-Wno-missing-prototypes", "-Wno-unreachable-code", "-Wno-disabled-macro-expansion", "-Wno-unused-private-field", "-Wno-extra-semi", "-Wno-duplicate-enum", "-Wno-missing-variable-declarations", "-Wno-conversion", "-Wno-undefined-reinterpret-cast"])
myenv.UseFlags(env["SWIFT_CONTROLLERS_FLAGS"])
myenv.UseFlags(env["SWIFTOOLS_FLAGS"])
if myenv["HAVE_XSS"] :
- myenv.UseFlags(env["XSS_FLAGS"])
+ myenv.UseFlags(env["XSS_FLAGS"])
if env["PLATFORM"] == "posix" :
- myenv.Append(LIBS = ["X11"])
+ myenv.Append(LIBS = ["X11"])
if myenv["HAVE_SPARKLE"] :
- myenv.UseFlags(env["SPARKLE_FLAGS"])
+ myenv.UseFlags(env["SPARKLE_FLAGS"])
myenv.UseFlags(env["SWIFTEN_FLAGS"])
myenv.UseFlags(env["SWIFTEN_DEP_FLAGS"])
if myenv.get("HAVE_BREAKPAD") :
- myenv.UseFlags(env["BREAKPAD_FLAGS"])
+ myenv.UseFlags(env["BREAKPAD_FLAGS"])
if myenv.get("HAVE_GROWL", False) :
- myenv.UseFlags(myenv["GROWL_FLAGS"])
- myenv.Append(CPPDEFINES = ["HAVE_GROWL"])
+ myenv.UseFlags(myenv["GROWL_FLAGS"])
+ myenv.Append(CPPDEFINES = ["HAVE_GROWL"])
if myenv["swift_mobile"] :
- myenv.Append(CPPDEFINES = ["SWIFT_MOBILE"])
+ myenv.Append(CPPDEFINES = ["SWIFT_MOBILE"])
if myenv.get("HAVE_SNARL", False) :
- myenv.UseFlags(myenv["SNARL_FLAGS"])
- myenv.Append(CPPDEFINES = ["HAVE_SNARL"])
+ myenv.UseFlags(myenv["SNARL_FLAGS"])
+ myenv.Append(CPPDEFINES = ["HAVE_SNARL"])
if myenv.get("HAVE_HUNSPELL", True):
- myenv.Append(CPPDEFINES = ["HAVE_HUNSPELL"])
- myenv.UseFlags(myenv["HUNSPELL_FLAGS"])
+ myenv.Append(CPPDEFINES = ["HAVE_HUNSPELL"])
+ myenv.UseFlags(myenv["HUNSPELL_FLAGS"])
if env["PLATFORM"] == "win32" :
- myenv.Append(LIBS = ["cryptui"])
+ myenv.Append(LIBS = ["cryptui"])
myenv.UseFlags(myenv["PLATFORM_FLAGS"])
myenv.Tool("qt4", toolpath = ["#/BuildTools/SCons/Tools"])
@@ -59,174 +59,174 @@ myenv.Tool("wix", toolpath = ["#/BuildTools/SCons/Tools"])
myenv.Tool("textfile", toolpath = ["#/BuildTools/SCons/Tools"])
qt4modules = ['QtCore', 'QtWebKit', 'QtGui']
if myenv["qt5"] :
- qt_version = '5'
- qt4modules += ['QtWidgets', 'QtWebKitWidgets', 'QtMultimedia']
- if env["PLATFORM"] != "win32" and env["PLATFORM"] != "darwin" :
- qt4modules += ['QtX11Extras']
+ qt_version = '5'
+ qt4modules += ['QtWidgets', 'QtWebKitWidgets', 'QtMultimedia']
+ if env["PLATFORM"] != "win32" and env["PLATFORM"] != "darwin" :
+ qt4modules += ['QtX11Extras']
else :
- qt_version = '4'
+ qt_version = '4'
if env["PLATFORM"] == "posix" :
- qt4modules += ["QtDBus"]
+ qt4modules += ["QtDBus"]
if env["PLATFORM"] != "win32" and env["PLATFORM"] != "darwin" :
- qt4modules += ["QtNetwork"]
+ qt4modules += ["QtNetwork"]
myenv.EnableQt4Modules(qt4modules, debug = False, version = qt_version)
if env["PLATFORM"] == "win32" :
- #myenv.Append(LINKFLAGS = ["/SUBSYSTEM:CONSOLE"])
- myenv.Append(LINKFLAGS = ["/SUBSYSTEM:WINDOWS"])
- myenv.Append(LIBS = "qtmain")
- if myenv.get("HAVE_SCHANNEL", 0) :
- myenv.Append(LIBS = "Cryptui")
- myenv.Append(CPPDEFINES = "HAVE_SCHANNEL")
- if env["debug"] and not env["optimize"]:
- myenv.Append(LINKFLAGS = ["/NODEFAULTLIB:msvcrt"])
+ #myenv.Append(LINKFLAGS = ["/SUBSYSTEM:CONSOLE"])
+ myenv.Append(LINKFLAGS = ["/SUBSYSTEM:WINDOWS"])
+ myenv.Append(LIBS = "qtmain")
+ if myenv.get("HAVE_SCHANNEL", 0) :
+ myenv.Append(LIBS = "Cryptui")
+ myenv.Append(CPPDEFINES = "HAVE_SCHANNEL")
+ if env["debug"] and not env["optimize"]:
+ myenv.Append(LINKFLAGS = ["/NODEFAULTLIB:msvcrt"])
myenv.WriteVal("DefaultTheme.qrc", myenv.Value(generateQRCTheme(myenv.Dir("#/Swift/resources/themes/Default"), "Default")))
sources = [
- "main.cpp",
- "QtAboutWidget.cpp",
- "QtSpellCheckerWindow.cpp",
- "QtAvatarWidget.cpp",
- "QtUIFactory.cpp",
- "QtChatWindowFactory.cpp",
- "QtClickableLabel.cpp",
- "QtLoginWindow.cpp",
- "QtMainWindow.cpp",
- "QtProfileWindow.cpp",
- "QtBlockListEditorWindow.cpp",
- "QtNameWidget.cpp",
- "QtSettingsProvider.cpp",
- "QtStatusWidget.cpp",
- "QtScaledAvatarCache.cpp",
- "QtSwift.cpp",
- "QtURIHandler.cpp",
- "QtChatWindow.cpp",
- "QtChatView.cpp",
- "QtWebKitChatView.cpp",
- "QtPlainChatView.cpp",
- "QtChatTheme.cpp",
- "QtChatTabs.cpp",
- "QtChatTabsBase.cpp",
- "QtChatTabsShortcutOnlySubstitute.cpp",
- "QtSoundPlayer.cpp",
- "QtSystemTray.cpp",
- "QtCachedImageScaler.cpp",
- "QtTabbable.cpp",
- "QtTabWidget.cpp",
- "QtTextEdit.cpp",
- "QtXMLConsoleWidget.cpp",
- "QtHistoryWindow.cpp",
- "QtFileTransferListWidget.cpp",
- "QtFileTransferListItemModel.cpp",
- "QtAdHocCommandWindow.cpp",
- "QtAdHocCommandWithJIDWindow.cpp",
- "QtUtilities.cpp",
- "QtBookmarkDetailWindow.cpp",
- "QtAddBookmarkWindow.cpp",
- "QtEditBookmarkWindow.cpp",
- "QtEmoticonsGrid.cpp",
- "QtEmoticonCell.cpp",
- "QtContactEditWindow.cpp",
- "QtContactEditWidget.cpp",
- "QtSingleWindow.cpp",
- "QtHighlightEditor.cpp",
- "QtColorToolButton.cpp",
- "QtClosableLineEdit.cpp",
- "ChatSnippet.cpp",
- "MessageSnippet.cpp",
- "SystemMessageSnippet.cpp",
- "QtElidingLabel.cpp",
- "QtFormWidget.cpp",
- "QtFormResultItemModel.cpp",
- "QtLineEdit.cpp",
- "QtJoinMUCWindow.cpp",
- "QtConnectionSettingsWindow.cpp",
- "Roster/RosterModel.cpp",
- "Roster/QtTreeWidget.cpp",
-# "Roster/QtTreeWidgetItem.cpp",
- "Roster/RosterDelegate.cpp",
- "Roster/GroupItemDelegate.cpp",
- "Roster/DelegateCommons.cpp",
- "Roster/QtFilterWidget.cpp",
- "Roster/QtRosterWidget.cpp",
- "Roster/QtOccupantListWidget.cpp",
- "Roster/RosterTooltip.cpp",
- "EventViewer/EventModel.cpp",
- "EventViewer/EventDelegate.cpp",
- "EventViewer/TwoLineDelegate.cpp",
- "EventViewer/QtEventWindow.cpp",
- "EventViewer/QtEvent.cpp",
- "ChatList/QtChatListWindow.cpp",
- "ChatList/ChatListModel.cpp",
- "ChatList/ChatListDelegate.cpp",
- "ChatList/ChatListMUCItem.cpp",
- "ChatList/ChatListRecentItem.cpp",
- "ChatList/ChatListWhiteboardItem.cpp",
- "MUCSearch/QtMUCSearchWindow.cpp",
- "MUCSearch/MUCSearchModel.cpp",
- "MUCSearch/MUCSearchRoomItem.cpp",
- "MUCSearch/MUCSearchEmptyItem.cpp",
- "MUCSearch/MUCSearchDelegate.cpp",
- "UserSearch/ContactListDelegate.cpp",
- "UserSearch/ContactListModel.cpp",
- "UserSearch/QtContactListWidget.cpp",
- "UserSearch/QtSuggestingJIDInput.cpp",
- "UserSearch/QtUserSearchFirstPage.cpp",
- "UserSearch/QtUserSearchFirstMultiJIDPage.cpp",
- "UserSearch/QtUserSearchFieldsPage.cpp",
- "UserSearch/QtUserSearchResultsPage.cpp",
- "UserSearch/QtUserSearchDetailsPage.cpp",
- "UserSearch/QtUserSearchWindow.cpp",
- "UserSearch/UserSearchModel.cpp",
- "UserSearch/UserSearchDelegate.cpp",
- "Whiteboard/FreehandLineItem.cpp",
- "Whiteboard/GView.cpp",
- "Whiteboard/TextDialog.cpp",
- "Whiteboard/QtWhiteboardWindow.cpp",
- "Whiteboard/ColorWidget.cpp",
- "QtSubscriptionRequestWindow.cpp",
- "QtRosterHeader.cpp",
- "QtWebView.cpp",
- "qrc_DefaultTheme.cc",
- "qrc_Swift.cc",
- "QtChatWindowJSBridge.cpp",
- "QtMUCConfigurationWindow.cpp",
- "QtAffiliationEditor.cpp",
- "QtUISettingConstants.cpp",
- "QtURLValidator.cpp",
- "QtResourceHelper.cpp",
- "QtSpellCheckHighlighter.cpp",
- "Trellis/QtDynamicGridLayout.cpp",
- "Trellis/QtDNDTabBar.cpp",
- "Trellis/QtGridSelectionDialog.cpp"
+ "main.cpp",
+ "QtAboutWidget.cpp",
+ "QtSpellCheckerWindow.cpp",
+ "QtAvatarWidget.cpp",
+ "QtUIFactory.cpp",
+ "QtChatWindowFactory.cpp",
+ "QtClickableLabel.cpp",
+ "QtLoginWindow.cpp",
+ "QtMainWindow.cpp",
+ "QtProfileWindow.cpp",
+ "QtBlockListEditorWindow.cpp",
+ "QtNameWidget.cpp",
+ "QtSettingsProvider.cpp",
+ "QtStatusWidget.cpp",
+ "QtScaledAvatarCache.cpp",
+ "QtSwift.cpp",
+ "QtURIHandler.cpp",
+ "QtChatWindow.cpp",
+ "QtChatView.cpp",
+ "QtWebKitChatView.cpp",
+ "QtPlainChatView.cpp",
+ "QtChatTheme.cpp",
+ "QtChatTabs.cpp",
+ "QtChatTabsBase.cpp",
+ "QtChatTabsShortcutOnlySubstitute.cpp",
+ "QtSoundPlayer.cpp",
+ "QtSystemTray.cpp",
+ "QtCachedImageScaler.cpp",
+ "QtTabbable.cpp",
+ "QtTabWidget.cpp",
+ "QtTextEdit.cpp",
+ "QtXMLConsoleWidget.cpp",
+ "QtHistoryWindow.cpp",
+ "QtFileTransferListWidget.cpp",
+ "QtFileTransferListItemModel.cpp",
+ "QtAdHocCommandWindow.cpp",
+ "QtAdHocCommandWithJIDWindow.cpp",
+ "QtUtilities.cpp",
+ "QtBookmarkDetailWindow.cpp",
+ "QtAddBookmarkWindow.cpp",
+ "QtEditBookmarkWindow.cpp",
+ "QtEmoticonsGrid.cpp",
+ "QtEmoticonCell.cpp",
+ "QtContactEditWindow.cpp",
+ "QtContactEditWidget.cpp",
+ "QtSingleWindow.cpp",
+ "QtHighlightEditor.cpp",
+ "QtColorToolButton.cpp",
+ "QtClosableLineEdit.cpp",
+ "ChatSnippet.cpp",
+ "MessageSnippet.cpp",
+ "SystemMessageSnippet.cpp",
+ "QtElidingLabel.cpp",
+ "QtFormWidget.cpp",
+ "QtFormResultItemModel.cpp",
+ "QtLineEdit.cpp",
+ "QtJoinMUCWindow.cpp",
+ "QtConnectionSettingsWindow.cpp",
+ "Roster/RosterModel.cpp",
+ "Roster/QtTreeWidget.cpp",
+# "Roster/QtTreeWidgetItem.cpp",
+ "Roster/RosterDelegate.cpp",
+ "Roster/GroupItemDelegate.cpp",
+ "Roster/DelegateCommons.cpp",
+ "Roster/QtFilterWidget.cpp",
+ "Roster/QtRosterWidget.cpp",
+ "Roster/QtOccupantListWidget.cpp",
+ "Roster/RosterTooltip.cpp",
+ "EventViewer/EventModel.cpp",
+ "EventViewer/EventDelegate.cpp",
+ "EventViewer/TwoLineDelegate.cpp",
+ "EventViewer/QtEventWindow.cpp",
+ "EventViewer/QtEvent.cpp",
+ "ChatList/QtChatListWindow.cpp",
+ "ChatList/ChatListModel.cpp",
+ "ChatList/ChatListDelegate.cpp",
+ "ChatList/ChatListMUCItem.cpp",
+ "ChatList/ChatListRecentItem.cpp",
+ "ChatList/ChatListWhiteboardItem.cpp",
+ "MUCSearch/QtMUCSearchWindow.cpp",
+ "MUCSearch/MUCSearchModel.cpp",
+ "MUCSearch/MUCSearchRoomItem.cpp",
+ "MUCSearch/MUCSearchEmptyItem.cpp",
+ "MUCSearch/MUCSearchDelegate.cpp",
+ "UserSearch/ContactListDelegate.cpp",
+ "UserSearch/ContactListModel.cpp",
+ "UserSearch/QtContactListWidget.cpp",
+ "UserSearch/QtSuggestingJIDInput.cpp",
+ "UserSearch/QtUserSearchFirstPage.cpp",
+ "UserSearch/QtUserSearchFirstMultiJIDPage.cpp",
+ "UserSearch/QtUserSearchFieldsPage.cpp",
+ "UserSearch/QtUserSearchResultsPage.cpp",
+ "UserSearch/QtUserSearchDetailsPage.cpp",
+ "UserSearch/QtUserSearchWindow.cpp",
+ "UserSearch/UserSearchModel.cpp",
+ "UserSearch/UserSearchDelegate.cpp",
+ "Whiteboard/FreehandLineItem.cpp",
+ "Whiteboard/GView.cpp",
+ "Whiteboard/TextDialog.cpp",
+ "Whiteboard/QtWhiteboardWindow.cpp",
+ "Whiteboard/ColorWidget.cpp",
+ "QtSubscriptionRequestWindow.cpp",
+ "QtRosterHeader.cpp",
+ "QtWebView.cpp",
+ "qrc_DefaultTheme.cc",
+ "qrc_Swift.cc",
+ "QtChatWindowJSBridge.cpp",
+ "QtMUCConfigurationWindow.cpp",
+ "QtAffiliationEditor.cpp",
+ "QtUISettingConstants.cpp",
+ "QtURLValidator.cpp",
+ "QtResourceHelper.cpp",
+ "QtSpellCheckHighlighter.cpp",
+ "Trellis/QtDynamicGridLayout.cpp",
+ "Trellis/QtDNDTabBar.cpp",
+ "Trellis/QtGridSelectionDialog.cpp"
]
if env["PLATFORM"] == "win32" :
- sources.extend(["qrc_SwiftWindows.cc"])
+ sources.extend(["qrc_SwiftWindows.cc"])
# QtVCardWidget
sources.extend([
- "QtVCardWidget/QtCloseButton.cpp",
- "QtVCardWidget/QtRemovableItemDelegate.cpp",
- "QtVCardWidget/QtResizableLineEdit.cpp",
- "QtVCardWidget/QtTagComboBox.cpp",
- "QtVCardWidget/QtVCardHomeWork.cpp",
- "QtVCardWidget/QtVCardAddressField.cpp",
- "QtVCardWidget/QtVCardAddressLabelField.cpp",
- "QtVCardWidget/QtVCardBirthdayField.cpp",
- "QtVCardWidget/QtVCardDescriptionField.cpp",
- "QtVCardWidget/QtVCardInternetEMailField.cpp",
- "QtVCardWidget/QtVCardJIDField.cpp",
- "QtVCardWidget/QtVCardOrganizationField.cpp",
- "QtVCardWidget/QtVCardPhotoAndNameFields.cpp",
- "QtVCardWidget/QtVCardRoleField.cpp",
- "QtVCardWidget/QtVCardTelephoneField.cpp",
- "QtVCardWidget/QtVCardTitleField.cpp",
- "QtVCardWidget/QtVCardURLField.cpp",
- "QtVCardWidget/QtVCardGeneralField.cpp",
- "QtVCardWidget/QtVCardWidget.cpp"
+ "QtVCardWidget/QtCloseButton.cpp",
+ "QtVCardWidget/QtRemovableItemDelegate.cpp",
+ "QtVCardWidget/QtResizableLineEdit.cpp",
+ "QtVCardWidget/QtTagComboBox.cpp",
+ "QtVCardWidget/QtVCardHomeWork.cpp",
+ "QtVCardWidget/QtVCardAddressField.cpp",
+ "QtVCardWidget/QtVCardAddressLabelField.cpp",
+ "QtVCardWidget/QtVCardBirthdayField.cpp",
+ "QtVCardWidget/QtVCardDescriptionField.cpp",
+ "QtVCardWidget/QtVCardInternetEMailField.cpp",
+ "QtVCardWidget/QtVCardJIDField.cpp",
+ "QtVCardWidget/QtVCardOrganizationField.cpp",
+ "QtVCardWidget/QtVCardPhotoAndNameFields.cpp",
+ "QtVCardWidget/QtVCardRoleField.cpp",
+ "QtVCardWidget/QtVCardTelephoneField.cpp",
+ "QtVCardWidget/QtVCardTitleField.cpp",
+ "QtVCardWidget/QtVCardURLField.cpp",
+ "QtVCardWidget/QtVCardGeneralField.cpp",
+ "QtVCardWidget/QtVCardWidget.cpp"
])
myenv.Uic4("QtVCardWidget/QtVCardPhotoAndNameFields.ui")
@@ -237,52 +237,52 @@ myenv.Uic4("QtProfileWindow.ui")
# Determine the version
myenv["SWIFT_VERSION"] = Version.getBuildVersion(env.Dir("#").abspath, "swift")
if env["PLATFORM"] == "win32" :
- swift_windows_version = Version.convertToWindowsVersion(myenv["SWIFT_VERSION"])
- myenv["SWIFT_VERSION_MAJOR"] = swift_windows_version[0]
- myenv["SWIFT_VERSION_MINOR"] = swift_windows_version[1]
- myenv["SWIFT_VERSION_PATCH"] = swift_windows_version[2]
+ swift_windows_version = Version.convertToWindowsVersion(myenv["SWIFT_VERSION"])
+ myenv["SWIFT_VERSION_MAJOR"] = swift_windows_version[0]
+ myenv["SWIFT_VERSION_MINOR"] = swift_windows_version[1]
+ myenv["SWIFT_VERSION_PATCH"] = swift_windows_version[2]
if env["PLATFORM"] == "win32" :
- res_env = myenv.Clone()
- res_env.Append(CPPDEFINES = [
- ("SWIFT_COPYRIGHT_YEAR", "\"\\\"2010-%s\\\"\"" % str(time.localtime()[0])),
- ("SWIFT_VERSION_MAJOR", "${SWIFT_VERSION_MAJOR}"),
- ("SWIFT_VERSION_MINOR", "${SWIFT_VERSION_MINOR}"),
- ("SWIFT_VERSION_PATCH", "${SWIFT_VERSION_PATCH}"),
- ])
- res = res_env.RES("#/Swift/resources/Windows/Swift.rc")
- # For some reason, SCons isn't picking up the dependency correctly
- # Adding it explicitly until i figure out why
- myenv.Depends(res, "../Controllers/BuildVersion.h")
- sources += [
- "WinUIHelpers.cpp",
- "CAPICertificateSelector.cpp",
- "WindowsNotifier.cpp",
- "#/Swift/resources/Windows/Swift.res"
- ]
+ res_env = myenv.Clone()
+ res_env.Append(CPPDEFINES = [
+ ("SWIFT_COPYRIGHT_YEAR", "\"\\\"2010-%s\\\"\"" % str(time.localtime()[0])),
+ ("SWIFT_VERSION_MAJOR", "${SWIFT_VERSION_MAJOR}"),
+ ("SWIFT_VERSION_MINOR", "${SWIFT_VERSION_MINOR}"),
+ ("SWIFT_VERSION_PATCH", "${SWIFT_VERSION_PATCH}"),
+ ])
+ res = res_env.RES("#/Swift/resources/Windows/Swift.rc")
+ # For some reason, SCons isn't picking up the dependency correctly
+ # Adding it explicitly until i figure out why
+ myenv.Depends(res, "../Controllers/BuildVersion.h")
+ sources += [
+ "WinUIHelpers.cpp",
+ "CAPICertificateSelector.cpp",
+ "WindowsNotifier.cpp",
+ "#/Swift/resources/Windows/Swift.res"
+ ]
if env["PLATFORM"] == "posix" :
- sources += [
- "FreeDesktopNotifier.cpp",
- "QtDBUSURIHandler.cpp",
- ]
+ sources += [
+ "FreeDesktopNotifier.cpp",
+ "QtDBUSURIHandler.cpp",
+ ]
if env["PLATFORM"] == "darwin" :
- sources += ["CocoaApplicationActivateHelper.mm"]
- sources += ["CocoaUIHelpers.mm"]
+ sources += ["CocoaApplicationActivateHelper.mm"]
+ sources += ["CocoaUIHelpers.mm"]
if env["PLATFORM"] == "darwin" or env["PLATFORM"] == "win32" :
- swiftProgram = myenv.Program("Swift", sources)
+ swiftProgram = myenv.Program("Swift", sources)
else :
- sources += ["QtCertificateViewerDialog.cpp"];
- myenv.Uic4("QtCertificateViewerDialog.ui");
- swiftProgram = myenv.Program("swift-im", sources)
+ sources += ["QtCertificateViewerDialog.cpp"];
+ myenv.Uic4("QtCertificateViewerDialog.ui");
+ swiftProgram = myenv.Program("swift-im", sources)
if env["PLATFORM"] != "darwin" and env["PLATFORM"] != "win32" :
- openURIProgram = myenv.Program("swift-open-uri", "swift-open-uri.cpp")
+ openURIProgram = myenv.Program("swift-open-uri", "swift-open-uri.cpp")
else :
- openURIProgram = []
+ openURIProgram = []
myenv.Uic4("MUCSearch/QtMUCSearchWindow.ui")
myenv.Uic4("UserSearch/QtUserSearchWizard.ui")
@@ -302,11 +302,11 @@ myenv.Qrc("DefaultTheme.qrc")
myenv.Qrc("Swift.qrc")
if env["PLATFORM"] == "win32" :
- myenv.Qrc("SwiftWindows.qrc")
+ myenv.Qrc("SwiftWindows.qrc")
# Resources
commonResources = {
- "": ["#/Swift/resources/sounds"]
+ "": ["#/Swift/resources/sounds"]
}
myenv["TEXTFILESUFFIX"] = ""
@@ -319,138 +319,138 @@ myenv.MyTextfile(target = "COPYING", source = [myenv.File("../../COPYING.gpl"),
# Collect available languages
translation_languages = []
for file in os.listdir(Dir("#/Swift/Translations").abspath) :
- if file.startswith("swift_") and file.endswith(".ts") :
- translation_languages.append(file[6:-3])
+ if file.startswith("swift_") and file.endswith(".ts") :
+ translation_languages.append(file[6:-3])
# Generate translation modules
translation_sources = [env.File("#/Swift/Translations/swift.ts").abspath]
translation_modules = []
for lang in translation_languages :
- translation_resource = "#/Swift/resources/translations/swift_" + lang + ".qm"
- translation_source = "#/Swift/Translations/swift_" + lang + ".ts"
- translation_sources.append(env.File(translation_source).abspath)
- translation_modules.append(env.File(translation_resource).abspath)
- myenv.Qm(translation_resource, translation_source)
- commonResources["translations"] = commonResources.get("translations", []) + [translation_resource]
+ translation_resource = "#/Swift/resources/translations/swift_" + lang + ".qm"
+ translation_source = "#/Swift/Translations/swift_" + lang + ".ts"
+ translation_sources.append(env.File(translation_source).abspath)
+ translation_modules.append(env.File(translation_resource).abspath)
+ myenv.Qm(translation_resource, translation_source)
+ commonResources["translations"] = commonResources.get("translations", []) + [translation_resource]
# LUpdate translation (if requested)
if ARGUMENTS.get("update_translations", False) :
- myenv.Precious(translation_sources)
- remove_obsolete_option = ""
- codecfortr = ""
- if ARGUMENTS.get("remove_obsolete_translations", False) :
- remove_obsolete_option = " -no-obsolete"
- if qt_version == '4':
- codecfortr = "-codecfortr UTF-8"
- for translation_source in filter(lambda x: not x.endswith("_en.ts"), translation_sources) :
- t = myenv.Command([translation_source], [], [myenv.Action("$QT4_LUPDATE -I " + env.Dir("#").abspath + remove_obsolete_option + " -silent " + codecfortr + " -recursive Swift -ts " + translation_source, cmdstr = "$QT4_LUPDATECOMSTR")])
- myenv.AlwaysBuild(t)
+ myenv.Precious(translation_sources)
+ remove_obsolete_option = ""
+ codecfortr = ""
+ if ARGUMENTS.get("remove_obsolete_translations", False) :
+ remove_obsolete_option = " -no-obsolete"
+ if qt_version == '4':
+ codecfortr = "-codecfortr UTF-8"
+ for translation_source in filter(lambda x: not x.endswith("_en.ts"), translation_sources) :
+ t = myenv.Command([translation_source], [], [myenv.Action("$QT4_LUPDATE -I " + env.Dir("#").abspath + remove_obsolete_option + " -silent " + codecfortr + " -recursive Swift -ts " + translation_source, cmdstr = "$QT4_LUPDATECOMSTR")])
+ myenv.AlwaysBuild(t)
# NSIS installation script
if env["PLATFORM"] == "win32" :
- nsis_translation_install_script = ""
- nsis_translation_uninstall_script = ""
- for lang in translation_languages :
- nsis_translation_install_script += "File \"..\\..\\QtUI\\Swift\\translations\\swift_" + lang + ".qm\"\n"
- nsis_translation_uninstall_script += "delete $INSTDIR\\translations\\swift_" + lang + ".qm\n"
- myenv.WriteVal("../Packaging/nsis/translations-install.nsh", myenv.Value(nsis_translation_install_script))
- myenv.WriteVal("../Packaging/nsis/translations-uninstall.nsh", myenv.Value(nsis_translation_uninstall_script))
+ nsis_translation_install_script = ""
+ nsis_translation_uninstall_script = ""
+ for lang in translation_languages :
+ nsis_translation_install_script += "File \"..\\..\\QtUI\\Swift\\translations\\swift_" + lang + ".qm\"\n"
+ nsis_translation_uninstall_script += "delete $INSTDIR\\translations\\swift_" + lang + ".qm\n"
+ myenv.WriteVal("../Packaging/nsis/translations-install.nsh", myenv.Value(nsis_translation_install_script))
+ myenv.WriteVal("../Packaging/nsis/translations-uninstall.nsh", myenv.Value(nsis_translation_uninstall_script))
################################################################################
if env["PLATFORM"] == "darwin" :
- frameworks = []
- if env["HAVE_SPARKLE"] :
- frameworks.append(env["SPARKLE_FRAMEWORK"])
- if env["HAVE_GROWL"] :
- frameworks.append(env["GROWL_FRAMEWORK"])
- commonResources[""] = commonResources.get("", []) + ["#/Swift/resources/MacOSX/Swift.icns"]
- app = myenv.AppBundle("Swift", version = myenv["SWIFT_VERSION"], resources = commonResources, frameworks = frameworks, handlesXMPPURIs = True)
- if env["DIST"] :
- myenv.Command(["#/Packages/Swift/Swift-${SWIFT_VERSION}.dmg"], [app], ["Swift/Packaging/MacOSX/package.sh " + app.path + " Swift/Packaging/MacOSX/Swift.dmg.gz $TARGET $QTDIR"])
- dsym = myenv.Command(["Swift-${SWIFT_VERSION}.dSYM"], ["Swift"], ["dsymutil -o ${TARGET} ${SOURCE}"])
- myenv.Command(["#/Packages/Swift/Swift-${SWIFT_VERSION}.dSYM.zip"], dsym, ["cd ${SOURCE.dir} && zip -r ${TARGET.abspath} ${SOURCE.name}"])
+ frameworks = []
+ if env["HAVE_SPARKLE"] :
+ frameworks.append(env["SPARKLE_FRAMEWORK"])
+ if env["HAVE_GROWL"] :
+ frameworks.append(env["GROWL_FRAMEWORK"])
+ commonResources[""] = commonResources.get("", []) + ["#/Swift/resources/MacOSX/Swift.icns"]
+ app = myenv.AppBundle("Swift", version = myenv["SWIFT_VERSION"], resources = commonResources, frameworks = frameworks, handlesXMPPURIs = True)
+ if env["DIST"] :
+ myenv.Command(["#/Packages/Swift/Swift-${SWIFT_VERSION}.dmg"], [app], ["Swift/Packaging/MacOSX/package.sh " + app.path + " Swift/Packaging/MacOSX/Swift.dmg.gz $TARGET $QTDIR"])
+ dsym = myenv.Command(["Swift-${SWIFT_VERSION}.dSYM"], ["Swift"], ["dsymutil -o ${TARGET} ${SOURCE}"])
+ myenv.Command(["#/Packages/Swift/Swift-${SWIFT_VERSION}.dSYM.zip"], dsym, ["cd ${SOURCE.dir} && zip -r ${TARGET.abspath} ${SOURCE.name}"])
if env.get("SWIFT_INSTALLDIR", "") :
- env.Install(os.path.join(env["SWIFT_INSTALLDIR"], "bin"), swiftProgram + openURIProgram)
- env.InstallAs(os.path.join(env["SWIFT_INSTALLDIR"], "share", "pixmaps", "swift.xpm"), "#/Swift/resources/logo/logo-icon-32.xpm")
- icons_path = os.path.join(env["SWIFT_INSTALLDIR"], "share", "icons", "hicolor")
- env.InstallAs(os.path.join(icons_path, "32x32", "apps", "swift.xpm"), "#/Swift/resources/logo/logo-icon-32.xpm")
- env.InstallAs(os.path.join(icons_path, "scalable", "apps", "swift.svg"), "#/Swift/resources/logo/logo-icon.svg")
- for i in ["16", "22", "24", "64", "128"] :
- env.InstallAs(os.path.join(icons_path, i + "x" + i, "apps", "swift.png"), "#/Swift/resources/logo/logo-icon-" + i + ".png")
- env.Install(os.path.join(env["SWIFT_INSTALLDIR"], "share", "applications"), "#/Swift/resources/swift.desktop")
- for dir, resource in commonResources.items() :
- env.Install(os.path.join(env["SWIFT_INSTALLDIR"], "share", "swift", dir), resource)
+ env.Install(os.path.join(env["SWIFT_INSTALLDIR"], "bin"), swiftProgram + openURIProgram)
+ env.InstallAs(os.path.join(env["SWIFT_INSTALLDIR"], "share", "pixmaps", "swift.xpm"), "#/Swift/resources/logo/logo-icon-32.xpm")
+ icons_path = os.path.join(env["SWIFT_INSTALLDIR"], "share", "icons", "hicolor")
+ env.InstallAs(os.path.join(icons_path, "32x32", "apps", "swift.xpm"), "#/Swift/resources/logo/logo-icon-32.xpm")
+ env.InstallAs(os.path.join(icons_path, "scalable", "apps", "swift.svg"), "#/Swift/resources/logo/logo-icon.svg")
+ for i in ["16", "22", "24", "64", "128"] :
+ env.InstallAs(os.path.join(icons_path, i + "x" + i, "apps", "swift.png"), "#/Swift/resources/logo/logo-icon-" + i + ".png")
+ env.Install(os.path.join(env["SWIFT_INSTALLDIR"], "share", "applications"), "#/Swift/resources/swift.desktop")
+ for dir, resource in commonResources.items() :
+ env.Install(os.path.join(env["SWIFT_INSTALLDIR"], "share", "swift", dir), resource)
if env["PLATFORM"] == "win32" :
- if env["DIST"] or ARGUMENTS.get("dump_trace") :
- commonResources[""] = commonResources.get("", []) + [
- #os.path.join(env["OPENSSL_DIR"], "bin", "ssleay32.dll"),
- #os.path.join(env["OPENSSL_DIR"], "bin", "libeay32.dll"),
- "#/Swift/resources/images",
- ]
- if env["SWIFTEN_DLL"] :
- commonResources[""] = commonResources.get("", []) + ["#/Swiften/${SWIFTEN_LIBRARY_FILE}"]
- qtplugins = {}
- qtplugins["imageformats"] = ["gif", "ico", "jpeg", "mng", "svg", "tiff"]
- qtlibs = ["QtCore", "QtGui", "QtNetwork", "QtWebKit", "QtXMLPatterns"]
- if qt_version == '4' :
- qtlibs.append("phonon")
- qtlibs = [lib + '4' for lib in qtlibs]
- else :
- qtlibs += ['QtQuick', 'QtQml', 'QtPositioning', 'QtMultimedia', 'QtSql', 'QtSensors', 'QtWidgets', 'QtWebChannel', 'QtWebKitWidgets', 'QtMultimediaWidgets', 'QtOpenGL', 'QtPrintSupport']
- qtlibs = [lib.replace('Qt', 'Qt5') for lib in qtlibs]
- qtlibs += ['icuin51', 'icuuc51', 'icudt51', 'libGLESv2', 'libEGL']
- qtplugins["platforms"] = ['windows']
- qtplugins["accessible"] = ["taccessiblewidgets"]
-
- windowsBundleFiles = myenv.WindowsBundle("Swift",
- resources = commonResources,
- qtplugins = qtplugins,
- qtlibs = qtlibs,
- qtversion = qt_version)
-
- if env["DIST"] :
- #myenv.Append(NSIS_OPTIONS = [
- # "/DmsvccRedistributableDir=\"" + env["vcredist"] + "\"",
- # "/DbuildVersion=" + myenv["SWIFT_VERSION"]
- # ])
- #myenv.Nsis("../Packaging/nsis/swift.nsi")
- if env["SCONS_STAGE"] == "build" and env.get("wix_bindir", None):
- def convertToRTF(env, target, source) :
- infile = open(source[0].abspath, 'r')
- outfile = open(target[0].abspath, 'w')
- outfile.write('{\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\fs16\\f0\\pard\n')
- for line in infile:
- for char in line.decode("utf-8") :
- if ord(char) > 127 :
- # FIXME: This is incorrect, because it only works for latin1.
- # The correct way is \u<decimal utf16 point>? , but this is more
- # work
- outfile.write("\\'%X" % ord(char))
- else :
- outfile.write(char)
- outfile.write('\\par ')
- outfile.write('}')
- outfile.close()
- infile.close()
- copying = env.Command(["Swift/COPYING.rtf"], ["COPYING"], convertToRTF)
- wixvariables = {
- 'VCCRTFile': env["vcredist"],
- 'Version': str(myenv["SWIFT_VERSION_MAJOR"]) + "." + str(myenv["SWIFT_VERSION_MINOR"]) + "." + str(myenv["SWIFT_VERSION_PATCH"])
- }
- wixincludecontent = "<Include>"
- for key in wixvariables:
- wixincludecontent += "<?define %s = \"%s\" ?>" % (key, wixvariables[key])
- wixincludecontent += "</Include>"
- myenv.WriteVal("..\\Packaging\\Wix\\variables.wxs", env.Value(wixincludecontent))
- myenv["WIX_SOURCE_OBJECT_DIR"] = "Swift\\QtUI\\Swift"
- myenv.WiX_Heat('..\\Packaging\\WiX\\gen_files.wxs', windowsBundleFiles + copying)
- myenv.WiX_Candle('..\\Packaging\\WiX\\Swift.wixobj', '..\\Packaging\\WiX\\Swift.wxs')
- myenv.WiX_Candle('..\\Packaging\\WiX\\gen_files.wixobj', '..\\Packaging\\WiX\\gen_files.wxs')
- myenv.WiX_Light('#/Packages/Swift/Swift-' + myenv["SWIFT_VERSION"] + '.msi', ['..\\Packaging\\WiX\\gen_files.wixobj','..\\Packaging\\WiX\\Swift.wixobj'])
-
- if myenv["debug"] :
- myenv.InstallAs('#/Packages/Swift/Swift-' + myenv["SWIFT_VERSION"] + '.pdb', "Swift.pdb")
+ if env["DIST"] or ARGUMENTS.get("dump_trace") :
+ commonResources[""] = commonResources.get("", []) + [
+ #os.path.join(env["OPENSSL_DIR"], "bin", "ssleay32.dll"),
+ #os.path.join(env["OPENSSL_DIR"], "bin", "libeay32.dll"),
+ "#/Swift/resources/images",
+ ]
+ if env["SWIFTEN_DLL"] :
+ commonResources[""] = commonResources.get("", []) + ["#/Swiften/${SWIFTEN_LIBRARY_FILE}"]
+ qtplugins = {}
+ qtplugins["imageformats"] = ["gif", "ico", "jpeg", "mng", "svg", "tiff"]
+ qtlibs = ["QtCore", "QtGui", "QtNetwork", "QtWebKit", "QtXMLPatterns"]
+ if qt_version == '4' :
+ qtlibs.append("phonon")
+ qtlibs = [lib + '4' for lib in qtlibs]
+ else :
+ qtlibs += ['QtQuick', 'QtQml', 'QtPositioning', 'QtMultimedia', 'QtSql', 'QtSensors', 'QtWidgets', 'QtWebChannel', 'QtWebKitWidgets', 'QtMultimediaWidgets', 'QtOpenGL', 'QtPrintSupport']
+ qtlibs = [lib.replace('Qt', 'Qt5') for lib in qtlibs]
+ qtlibs += ['icuin51', 'icuuc51', 'icudt51', 'libGLESv2', 'libEGL']
+ qtplugins["platforms"] = ['windows']
+ qtplugins["accessible"] = ["taccessiblewidgets"]
+
+ windowsBundleFiles = myenv.WindowsBundle("Swift",
+ resources = commonResources,
+ qtplugins = qtplugins,
+ qtlibs = qtlibs,
+ qtversion = qt_version)
+
+ if env["DIST"] :
+ #myenv.Append(NSIS_OPTIONS = [
+ # "/DmsvccRedistributableDir=\"" + env["vcredist"] + "\"",
+ # "/DbuildVersion=" + myenv["SWIFT_VERSION"]
+ # ])
+ #myenv.Nsis("../Packaging/nsis/swift.nsi")
+ if env["SCONS_STAGE"] == "build" and env.get("wix_bindir", None):
+ def convertToRTF(env, target, source) :
+ infile = open(source[0].abspath, 'r')
+ outfile = open(target[0].abspath, 'w')
+ outfile.write('{\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\fs16\\f0\\pard\n')
+ for line in infile:
+ for char in line.decode("utf-8") :
+ if ord(char) > 127 :
+ # FIXME: This is incorrect, because it only works for latin1.
+ # The correct way is \u<decimal utf16 point>? , but this is more
+ # work
+ outfile.write("\\'%X" % ord(char))
+ else :
+ outfile.write(char)
+ outfile.write('\\par ')
+ outfile.write('}')
+ outfile.close()
+ infile.close()
+ copying = env.Command(["Swift/COPYING.rtf"], ["COPYING"], convertToRTF)
+ wixvariables = {
+ 'VCCRTFile': env["vcredist"],
+ 'Version': str(myenv["SWIFT_VERSION_MAJOR"]) + "." + str(myenv["SWIFT_VERSION_MINOR"]) + "." + str(myenv["SWIFT_VERSION_PATCH"])
+ }
+ wixincludecontent = "<Include>"
+ for key in wixvariables:
+ wixincludecontent += "<?define %s = \"%s\" ?>" % (key, wixvariables[key])
+ wixincludecontent += "</Include>"
+ myenv.WriteVal("..\\Packaging\\Wix\\variables.wxs", env.Value(wixincludecontent))
+ myenv["WIX_SOURCE_OBJECT_DIR"] = "Swift\\QtUI\\Swift"
+ myenv.WiX_Heat('..\\Packaging\\WiX\\gen_files.wxs', windowsBundleFiles + copying)
+ myenv.WiX_Candle('..\\Packaging\\WiX\\Swift.wixobj', '..\\Packaging\\WiX\\Swift.wxs')
+ myenv.WiX_Candle('..\\Packaging\\WiX\\gen_files.wixobj', '..\\Packaging\\WiX\\gen_files.wxs')
+ myenv.WiX_Light('#/Packages/Swift/Swift-' + myenv["SWIFT_VERSION"] + '.msi', ['..\\Packaging\\WiX\\gen_files.wixobj','..\\Packaging\\WiX\\Swift.wixobj'])
+
+ if myenv["debug"] :
+ myenv.InstallAs('#/Packages/Swift/Swift-' + myenv["SWIFT_VERSION"] + '.pdb', "Swift.pdb")
diff --git a/Swiften/AdHoc/SConscript b/Swiften/AdHoc/SConscript
index 69c9083..6d3f176 100644
--- a/Swiften/AdHoc/SConscript
+++ b/Swiften/AdHoc/SConscript
@@ -1,6 +1,6 @@
Import("swiften_env")
objects = swiften_env.SwiftenObject([
- "OutgoingAdHocCommandSession.cpp",
- ])
+ "OutgoingAdHocCommandSession.cpp",
+ ])
swiften_env.Append(SWIFTEN_OBJECTS = [objects])
diff --git a/Swiften/Avatars/SConscript b/Swiften/Avatars/SConscript
index 9c219a4..0cd419d 100644
--- a/Swiften/Avatars/SConscript
+++ b/Swiften/Avatars/SConscript
@@ -1,13 +1,13 @@
Import("swiften_env")
objects = swiften_env.SwiftenObject([
- "VCardUpdateAvatarManager.cpp",
- "VCardAvatarManager.cpp",
- "OfflineAvatarManager.cpp",
- "AvatarManager.cpp",
- "AvatarManagerImpl.cpp",
- "AvatarStorage.cpp",
- "AvatarProvider.cpp",
- "CombinedAvatarProvider.cpp",
- ])
+ "VCardUpdateAvatarManager.cpp",
+ "VCardAvatarManager.cpp",
+ "OfflineAvatarManager.cpp",
+ "AvatarManager.cpp",
+ "AvatarManagerImpl.cpp",
+ "AvatarStorage.cpp",
+ "AvatarProvider.cpp",
+ "CombinedAvatarProvider.cpp",
+ ])
swiften_env.Append(SWIFTEN_OBJECTS = [objects])
diff --git a/Swiften/Base/SConscript b/Swiften/Base/SConscript
index d7fd7cc..62e5117 100644
--- a/Swiften/Base/SConscript
+++ b/Swiften/Base/SConscript
@@ -1,22 +1,22 @@
Import("swiften_env")
objects = swiften_env.SwiftenObject([
- "ByteArray.cpp",
- "DateTime.cpp",
- "SafeByteArray.cpp",
- "SafeAllocator.cpp",
- "Error.cpp",
- "Log.cpp",
- "Path.cpp",
- "Paths.cpp",
- "String.cpp",
- "IDGenerator.cpp",
- "SimpleIDGenerator.cpp",
- "RandomGenerator.cpp",
- "BoostRandomGenerator.cpp",
- "sleep.cpp",
- "URL.cpp",
- "Regex.cpp",
- "FileSize.cpp"
- ])
+ "ByteArray.cpp",
+ "DateTime.cpp",
+ "SafeByteArray.cpp",
+ "SafeAllocator.cpp",
+ "Error.cpp",
+ "Log.cpp",
+ "Path.cpp",
+ "Paths.cpp",
+ "String.cpp",
+ "IDGenerator.cpp",
+ "SimpleIDGenerator.cpp",
+ "RandomGenerator.cpp",
+ "BoostRandomGenerator.cpp",
+ "sleep.cpp",
+ "URL.cpp",
+ "Regex.cpp",
+ "FileSize.cpp"
+ ])
swiften_env.Append(SWIFTEN_OBJECTS = [objects])
diff --git a/Swiften/Component/SConscript b/Swiften/Component/SConscript
index ef5700c..2553ac6 100644
--- a/Swiften/Component/SConscript
+++ b/Swiften/Component/SConscript
@@ -1,13 +1,13 @@
Import("swiften_env")
sources = [
- "ComponentHandshakeGenerator.cpp",
- "ComponentConnector.cpp",
- "ComponentSession.cpp",
- "ComponentSessionStanzaChannel.cpp",
- "CoreComponent.cpp",
- "Component.cpp",
- "ComponentXMLTracer.cpp",
- ]
+ "ComponentHandshakeGenerator.cpp",
+ "ComponentConnector.cpp",
+ "ComponentSession.cpp",
+ "ComponentSessionStanzaChannel.cpp",
+ "CoreComponent.cpp",
+ "Component.cpp",
+ "ComponentXMLTracer.cpp",
+ ]
swiften_env.Append(SWIFTEN_OBJECTS = swiften_env.SwiftenObject(sources))
diff --git a/Swiften/Config/SConscript b/Swiften/Config/SConscript
index 837884b..6eddb0e 100644
--- a/Swiften/Config/SConscript
+++ b/Swiften/Config/SConscript
@@ -3,16 +3,16 @@ import os.path
Import("env")
def replaceSwiftenPath(input) :
- return input.replace(env.Dir("#").abspath, "#")
+ return input.replace(env.Dir("#").abspath, "#")
def cStringVariable(env, cVar, sconsVar) :
- result = "static const char* " + cVar + "[] = {\n"
- # FIXME: Probably not very robust
- for var in sconsVar.split(" ") :
- result += "\t\"" + env.subst(var).replace("\\", "\\\\") + "\",\n"
- result += "\t0\n"
- result += "};\n"
- return result
+ result = "static const char* " + cVar + "[] = {\n"
+ # FIXME: Probably not very robust
+ for var in sconsVar.split(" ") :
+ result += "\t\"" + env.subst(var).replace("\\", "\\\\") + "\",\n"
+ result += "\t0\n"
+ result += "};\n"
+ return result
config_flags = ""
@@ -21,36 +21,36 @@ swiften_env.UseFlags(swiften_env["SWIFTEN_FLAGS"])
swiften_env.UseFlags(swiften_env["SWIFTEN_DEP_FLAGS"])
cppflags = replaceSwiftenPath(" ".join([
- swiften_env.subst("$CPPFLAGS").replace("-isystem ","-I"),
- swiften_env.subst("$_CPPDEFFLAGS"),
- swiften_env.subst("$_CPPINCFLAGS")]))
+ swiften_env.subst("$CPPFLAGS").replace("-isystem ","-I"),
+ swiften_env.subst("$_CPPDEFFLAGS"),
+ swiften_env.subst("$_CPPINCFLAGS")]))
config_flags += cStringVariable(swiften_env, "CPPFLAGS", cppflags)
libflags = replaceSwiftenPath(" ".join([
- swiften_env.subst("$_LIBDIRFLAGS"),
- swiften_env.subst("$_LIBFLAGS"),
- swiften_env.subst("$_FRAMEWORKPATH"),
- swiften_env.subst("$_FRAMEWORKS"),
- swiften_env.subst("$_FRAMEWORKSFLAGS")
- ]))
+ swiften_env.subst("$_LIBDIRFLAGS"),
+ swiften_env.subst("$_LIBFLAGS"),
+ swiften_env.subst("$_FRAMEWORKPATH"),
+ swiften_env.subst("$_FRAMEWORKS"),
+ swiften_env.subst("$_FRAMEWORKSFLAGS")
+ ]))
config_flags += cStringVariable(swiften_env, "LIBFLAGS", libflags)
config_env = env.Clone()
# Create a local copy of Paths.cpp to avoid a Swiften dependency
config_env.Install(".", [
- "#/Swiften/Base/Paths.cpp",
- "#/Swiften/Base/Path.cpp",
- "#/Swiften/Base/String.cpp",
+ "#/Swiften/Base/Paths.cpp",
+ "#/Swiften/Base/Path.cpp",
+ "#/Swiften/Base/String.cpp",
])
config_env.UseFlags(config_env["BOOST_FLAGS"])
config_env.UseFlags(config_env["PLATFORM_FLAGS"])
config_env.WriteVal("swiften-config.h", config_env.Value(config_flags))
swiften_config = config_env.Program("swiften-config", [
- "Paths.cpp",
- "Path.cpp",
- "String.cpp",
- "swiften-config.cpp"
- ])
+ "Paths.cpp",
+ "Path.cpp",
+ "String.cpp",
+ "swiften-config.cpp"
+ ])
if swiften_env.get("SWIFTEN_INSTALLDIR", "") :
- swiften_env.Install(os.path.join(swiften_env["SWIFTEN_INSTALLDIR"], "bin"), swiften_config)
+ swiften_env.Install(os.path.join(swiften_env["SWIFTEN_INSTALLDIR"], "bin"), swiften_config)
diff --git a/Swiften/Crypto/SConscript b/Swiften/Crypto/SConscript
index ce4bdae..d5532fd 100644
--- a/Swiften/Crypto/SConscript
+++ b/Swiften/Crypto/SConscript
@@ -2,27 +2,27 @@ Import("swiften_env", "env")
objects = swiften_env.SwiftenObject([
- "CryptoProvider.cpp",
- "Hash.cpp"
+ "CryptoProvider.cpp",
+ "Hash.cpp"
])
myenv = swiften_env.Clone()
if myenv["PLATFORM"] == "win32" :
- objects += myenv.SwiftenObject(["WindowsCryptoProvider.cpp"])
+ objects += myenv.SwiftenObject(["WindowsCryptoProvider.cpp"])
if myenv.get("HAVE_OPENSSL", False) :
- myenv.Append(CPPDEFINES = ["HAVE_OPENSSL_CRYPTO_PROVIDER"])
- objects += myenv.SwiftenObject(["OpenSSLCryptoProvider.cpp"])
+ myenv.Append(CPPDEFINES = ["HAVE_OPENSSL_CRYPTO_PROVIDER"])
+ objects += myenv.SwiftenObject(["OpenSSLCryptoProvider.cpp"])
if myenv["PLATFORM"] == "darwin" and myenv["target"] == "native" :
- myenv.Append(CPPDEFINES = ["HAVE_COMMONCRYPTO_CRYPTO_PROVIDER"])
- objects += myenv.SwiftenObject(["CommonCryptoCryptoProvider.cpp"])
+ myenv.Append(CPPDEFINES = ["HAVE_COMMONCRYPTO_CRYPTO_PROVIDER"])
+ objects += myenv.SwiftenObject(["CommonCryptoCryptoProvider.cpp"])
objects += myenv.SwiftenObject(["PlatformCryptoProvider.cpp"])
swiften_env.Append(SWIFTEN_OBJECTS = [objects])
if env["TEST"] :
- test_env = myenv.Clone()
- test_env.UseFlags(swiften_env["CPPUNIT_FLAGS"])
- env.Append(UNITTEST_OBJECTS = test_env.SwiftenObject([
- File("UnitTest/CryptoProviderTest.cpp"),
- ]))
+ test_env = myenv.Clone()
+ test_env.UseFlags(swiften_env["CPPUNIT_FLAGS"])
+ env.Append(UNITTEST_OBJECTS = test_env.SwiftenObject([
+ File("UnitTest/CryptoProviderTest.cpp"),
+ ]))
diff --git a/Swiften/Disco/SConscript b/Swiften/Disco/SConscript
index 1779e26..15137ae 100644
--- a/Swiften/Disco/SConscript
+++ b/Swiften/Disco/SConscript
@@ -1,16 +1,16 @@
Import("swiften_env")
objects = swiften_env.SwiftenObject([
- "CapsInfoGenerator.cpp",
- "CapsManager.cpp",
- "EntityCapsManager.cpp",
- "EntityCapsProvider.cpp",
- "DummyEntityCapsProvider.cpp",
- "CapsStorage.cpp",
- "ClientDiscoManager.cpp",
- "DiscoInfoResponder.cpp",
- "JIDDiscoInfoResponder.cpp",
- "DiscoServiceWalker.cpp",
- "FeatureOracle.cpp",
- ])
+ "CapsInfoGenerator.cpp",
+ "CapsManager.cpp",
+ "EntityCapsManager.cpp",
+ "EntityCapsProvider.cpp",
+ "DummyEntityCapsProvider.cpp",
+ "CapsStorage.cpp",
+ "ClientDiscoManager.cpp",
+ "DiscoInfoResponder.cpp",
+ "JIDDiscoInfoResponder.cpp",
+ "DiscoServiceWalker.cpp",
+ "FeatureOracle.cpp",
+ ])
swiften_env.Append(SWIFTEN_OBJECTS = [objects])
diff --git a/Swiften/Entity/SConscript b/Swiften/Entity/SConscript
index 1342ec1..284e0c0 100644
--- a/Swiften/Entity/SConscript
+++ b/Swiften/Entity/SConscript
@@ -1,6 +1,6 @@
Import("swiften_env")
objects = swiften_env.SwiftenObject([
- "Entity.cpp",
- ])
+ "Entity.cpp",
+ ])
swiften_env.Append(SWIFTEN_OBJECTS = [objects])
diff --git a/Swiften/EventLoop/SConscript b/Swiften/EventLoop/SConscript
index b810e8c..7aea53f 100644
--- a/Swiften/EventLoop/SConscript
+++ b/Swiften/EventLoop/SConscript
@@ -1,23 +1,23 @@
Import("swiften_env")
sources = [
- "BoostASIOEventLoop.cpp",
- "DummyEventLoop.cpp",
- "Event.cpp",
- "EventLoop.cpp",
- "EventOwner.cpp",
- "SimpleEventLoop.cpp",
- "SingleThreadedEventLoop.cpp",
- ]
+ "BoostASIOEventLoop.cpp",
+ "DummyEventLoop.cpp",
+ "Event.cpp",
+ "EventLoop.cpp",
+ "EventOwner.cpp",
+ "SimpleEventLoop.cpp",
+ "SingleThreadedEventLoop.cpp",
+ ]
objects = swiften_env.SwiftenObject(sources)
swiften_env.Append(SWIFTEN_OBJECTS = [objects])
if swiften_env["PLATFORM"] == "darwin" and swiften_env["target"] == "native" or swiften_env["target"] == 'xcode':
- myenv = swiften_env.Clone()
- myenv.Append(CXXFLAGS = myenv["OBJCCFLAGS"])
- objects = myenv.SwiftenObject([
- "Cocoa/CocoaEventLoop.mm",
- "Cocoa/CocoaEvent.mm"
- ])
- swiften_env.Append(SWIFTEN_OBJECTS = [objects])
+ myenv = swiften_env.Clone()
+ myenv.Append(CXXFLAGS = myenv["OBJCCFLAGS"])
+ objects = myenv.SwiftenObject([
+ "Cocoa/CocoaEventLoop.mm",
+ "Cocoa/CocoaEvent.mm"
+ ])
+ swiften_env.Append(SWIFTEN_OBJECTS = [objects])
diff --git a/Swiften/Examples/LinkLocalTool/SConscript b/Swiften/Examples/LinkLocalTool/SConscript
index 18eb91f..d7617ed 100644
--- a/Swiften/Examples/LinkLocalTool/SConscript
+++ b/Swiften/Examples/LinkLocalTool/SConscript
@@ -5,5 +5,5 @@ myenv.UseFlags(myenv["SWIFTEN_FLAGS"])
myenv.UseFlags(myenv["SWIFTEN_DEP_FLAGS"])
linkLocalTool = myenv.Program("LinkLocalTool", [
- "main.cpp"
- ])
+ "main.cpp"
+ ])
diff --git a/Swiften/Examples/NetworkTool/SConscript b/Swiften/Examples/NetworkTool/SConscript
index 38622ff..c850232 100644
--- a/Swiften/Examples/NetworkTool/SConscript
+++ b/Swiften/Examples/NetworkTool/SConscript
@@ -1,10 +1,10 @@
Import("env")
if env["experimental"] :
- myenv = env.Clone()
- myenv.MergeFlags(myenv["SWIFTEN_FLAGS"])
- myenv.MergeFlags(myenv["SWIFTEN_DEP_FLAGS"])
+ myenv = env.Clone()
+ myenv.MergeFlags(myenv["SWIFTEN_FLAGS"])
+ myenv.MergeFlags(myenv["SWIFTEN_DEP_FLAGS"])
- linkLocalTool = myenv.Program("NetworkTool", [
- "main.cpp"
- ])
+ linkLocalTool = myenv.Program("NetworkTool", [
+ "main.cpp"
+ ])
diff --git a/Swiften/Examples/SConscript b/Swiften/Examples/SConscript
index 8a0a48f..601cba2 100644
--- a/Swiften/Examples/SConscript
+++ b/Swiften/Examples/SConscript
@@ -3,12 +3,12 @@ Import("swiften_env")
myenv = swiften_env.Clone()
SConscript(dirs = [
- "SendMessage",
- "SendFile",
- "ConnectivityTest",
- "LinkLocalTool",
- "NetworkTool",
- "ParserTester",
- "BenchTool",
- "MUCListAndJoin",
+ "SendMessage",
+ "SendFile",
+ "ConnectivityTest",
+ "LinkLocalTool",
+ "NetworkTool",
+ "ParserTester",
+ "BenchTool",
+ "MUCListAndJoin",
])
diff --git a/Swiften/FileTransfer/SConscript b/Swiften/FileTransfer/SConscript
index 41af8d4..83f229b 100644
--- a/Swiften/FileTransfer/SConscript
+++ b/Swiften/FileTransfer/SConscript
@@ -1,52 +1,52 @@
Import("swiften_env", "env")
sources = [
- "ByteArrayReadBytestream.cpp",
- "OutgoingFileTransfer.cpp",
- "OutgoingJingleFileTransfer.cpp",
- "OutgoingFileTransferManager.cpp",
- "IncomingFileTransfer.cpp",
- "IncomingJingleFileTransfer.cpp",
- "IncomingFileTransferManager.cpp",
- "JingleFileTransfer.cpp",
- "FileTransferOptions.cpp",
- "FileTransferTransporter.cpp",
- "FileTransferTransporterFactory.cpp",
- "DefaultFileTransferTransporter.cpp",
- "DefaultFileTransferTransporterFactory.cpp",
- "RemoteJingleTransportCandidateSelector.cpp",
- "LocalJingleTransportCandidateGenerator.cpp",
- "ReadBytestream.cpp",
- "WriteBytestream.cpp",
- "FileReadBytestream.cpp",
- "FileWriteBytestream.cpp",
- "FileTransfer.cpp",
- "TransportSession.cpp",
- "IBBSendTransportSession.cpp",
- "IBBReceiveTransportSession.cpp",
- "SOCKS5BytestreamClientSession.cpp",
- "SOCKS5BytestreamServerManager.cpp",
- "SOCKS5BytestreamServer.cpp",
- "SOCKS5BytestreamServerSession.cpp",
- "SOCKS5BytestreamRegistry.cpp",
- "SOCKS5BytestreamProxiesManager.cpp",
- "SOCKS5BytestreamProxyFinder.cpp",
- "IBBSendSession.cpp",
- "IBBReceiveSession.cpp",
- "FileTransferManager.cpp",
- "FileTransferManagerImpl.cpp",
- "IncrementalBytestreamHashCalculator.cpp",
- "SOCKS5BytestreamServerResourceUser.cpp",
- "SOCKS5BytestreamServerPortForwardingUser.cpp",
- ]
+ "ByteArrayReadBytestream.cpp",
+ "OutgoingFileTransfer.cpp",
+ "OutgoingJingleFileTransfer.cpp",
+ "OutgoingFileTransferManager.cpp",
+ "IncomingFileTransfer.cpp",
+ "IncomingJingleFileTransfer.cpp",
+ "IncomingFileTransferManager.cpp",
+ "JingleFileTransfer.cpp",
+ "FileTransferOptions.cpp",
+ "FileTransferTransporter.cpp",
+ "FileTransferTransporterFactory.cpp",
+ "DefaultFileTransferTransporter.cpp",
+ "DefaultFileTransferTransporterFactory.cpp",
+ "RemoteJingleTransportCandidateSelector.cpp",
+ "LocalJingleTransportCandidateGenerator.cpp",
+ "ReadBytestream.cpp",
+ "WriteBytestream.cpp",
+ "FileReadBytestream.cpp",
+ "FileWriteBytestream.cpp",
+ "FileTransfer.cpp",
+ "TransportSession.cpp",
+ "IBBSendTransportSession.cpp",
+ "IBBReceiveTransportSession.cpp",
+ "SOCKS5BytestreamClientSession.cpp",
+ "SOCKS5BytestreamServerManager.cpp",
+ "SOCKS5BytestreamServer.cpp",
+ "SOCKS5BytestreamServerSession.cpp",
+ "SOCKS5BytestreamRegistry.cpp",
+ "SOCKS5BytestreamProxiesManager.cpp",
+ "SOCKS5BytestreamProxyFinder.cpp",
+ "IBBSendSession.cpp",
+ "IBBReceiveSession.cpp",
+ "FileTransferManager.cpp",
+ "FileTransferManagerImpl.cpp",
+ "IncrementalBytestreamHashCalculator.cpp",
+ "SOCKS5BytestreamServerResourceUser.cpp",
+ "SOCKS5BytestreamServerPortForwardingUser.cpp",
+ ]
swiften_env.Append(SWIFTEN_OBJECTS = swiften_env.SwiftenObject(sources))
env.Append(UNITTEST_SOURCES = [
- File("UnitTest/SOCKS5BytestreamServerSessionTest.cpp"),
- File("UnitTest/SOCKS5BytestreamClientSessionTest.cpp"),
- File("UnitTest/IBBSendSessionTest.cpp"),
- File("UnitTest/IBBReceiveSessionTest.cpp"),
- File("UnitTest/IncomingJingleFileTransferTest.cpp"),
- File("UnitTest/OutgoingJingleFileTransferTest.cpp"),
- ])
+ File("UnitTest/SOCKS5BytestreamServerSessionTest.cpp"),
+ File("UnitTest/SOCKS5BytestreamClientSessionTest.cpp"),
+ File("UnitTest/IBBSendSessionTest.cpp"),
+ File("UnitTest/IBBReceiveSessionTest.cpp"),
+ File("UnitTest/IncomingJingleFileTransferTest.cpp"),
+ File("UnitTest/OutgoingJingleFileTransferTest.cpp"),
+ ])
diff --git a/Swiften/History/SConscript b/Swiften/History/SConscript
index bd56818..65be489 100644
--- a/Swiften/History/SConscript
+++ b/Swiften/History/SConscript
@@ -2,10 +2,10 @@ Import("swiften_env")
myenv = swiften_env.Clone()
if myenv["target"] == "native":
- myenv.MergeFlags(swiften_env.get("SQLITE_FLAGS", {}))
+ myenv.MergeFlags(swiften_env.get("SQLITE_FLAGS", {}))
if myenv["experimental"]:
- objects = myenv.SwiftenObject([
- "SQLiteHistoryStorage.cpp",
- ])
- swiften_env.Append(SWIFTEN_OBJECTS = [objects])
+ objects = myenv.SwiftenObject([
+ "SQLiteHistoryStorage.cpp",
+ ])
+ swiften_env.Append(SWIFTEN_OBJECTS = [objects])
diff --git a/Swiften/IDN/SConscript b/Swiften/IDN/SConscript
index 7a3c061..28596f7 100644
--- a/Swiften/IDN/SConscript
+++ b/Swiften/IDN/SConscript
@@ -5,27 +5,27 @@ objects = swiften_env.SwiftenObject(["IDNConverter.cpp"])
myenv = swiften_env.Clone()
if myenv.get("NEED_IDN"):
- myenv.Append(CPPDEFINES = ["NEED_IDN"])
+ myenv.Append(CPPDEFINES = ["NEED_IDN"])
if myenv.get("HAVE_ICU") :
- myenv.MergeFlags(swiften_env["ICU_FLAGS"])
- myenv.Append(CPPDEFINES = ["HAVE_ICU"])
- objects += myenv.SwiftenObject(["ICUConverter.cpp"])
+ myenv.MergeFlags(swiften_env["ICU_FLAGS"])
+ myenv.Append(CPPDEFINES = ["HAVE_ICU"])
+ objects += myenv.SwiftenObject(["ICUConverter.cpp"])
if myenv.get("HAVE_LIBIDN") :
- myenv.MergeFlags(swiften_env["LIBIDN_FLAGS"])
- myenv.Append(CPPDEFINES = ["HAVE_LIBIDN"])
- objects += myenv.SwiftenObject(["LibIDNConverter.cpp"])
+ myenv.MergeFlags(swiften_env["LIBIDN_FLAGS"])
+ myenv.Append(CPPDEFINES = ["HAVE_LIBIDN"])
+ objects += myenv.SwiftenObject(["LibIDNConverter.cpp"])
objects += myenv.SwiftenObject([
- "PlatformIDNConverter.cpp"
- ])
+ "PlatformIDNConverter.cpp"
+ ])
swiften_env.Append(SWIFTEN_OBJECTS = [objects])
if env["TEST"] :
- test_env = myenv.Clone()
- test_env.UseFlags(swiften_env["CPPUNIT_FLAGS"])
- env.Append(UNITTEST_OBJECTS = test_env.SwiftenObject([
- File("UnitTest/IDNConverterTest.cpp"),
- File("UnitTest/UTF8ValidatorTest.cpp")
- ]))
+ test_env = myenv.Clone()
+ test_env.UseFlags(swiften_env["CPPUNIT_FLAGS"])
+ env.Append(UNITTEST_OBJECTS = test_env.SwiftenObject([
+ File("UnitTest/IDNConverterTest.cpp"),
+ File("UnitTest/UTF8ValidatorTest.cpp")
+ ]))
diff --git a/Swiften/JID/SConscript b/Swiften/JID/SConscript
index 12565fc..122388e 100644
--- a/Swiften/JID/SConscript
+++ b/Swiften/JID/SConscript
@@ -2,6 +2,6 @@ Import("swiften_env")
myenv = swiften_env.Clone()
objects = myenv.SwiftenObject([
- "JID.cpp",
- ])
+ "JID.cpp",
+ ])
swiften_env.Append(SWIFTEN_OBJECTS = [objects])
diff --git a/Swiften/Jingle/SConscript b/Swiften/Jingle/SConscript
index 546c1b2..4d25a78 100644
--- a/Swiften/Jingle/SConscript
+++ b/Swiften/Jingle/SConscript
@@ -1,14 +1,14 @@
Import("swiften_env")
sources = [
- "JingleSession.cpp",
- "JingleSessionListener.cpp",
- "AbstractJingleSessionListener.cpp",
- "JingleSessionImpl.cpp",
- "IncomingJingleSessionHandler.cpp",
- "JingleSessionManager.cpp",
- "JingleResponder.cpp",
- "FakeJingleSession.cpp",
- ]
+ "JingleSession.cpp",
+ "JingleSessionListener.cpp",
+ "AbstractJingleSessionListener.cpp",
+ "JingleSessionImpl.cpp",
+ "IncomingJingleSessionHandler.cpp",
+ "JingleSessionManager.cpp",
+ "JingleResponder.cpp",
+ "FakeJingleSession.cpp",
+ ]
swiften_env.Append(SWIFTEN_OBJECTS = swiften_env.SwiftenObject(sources))
diff --git a/Swiften/LinkLocal/SConscript b/Swiften/LinkLocal/SConscript
index 29ea692..697037a 100644
--- a/Swiften/LinkLocal/SConscript
+++ b/Swiften/LinkLocal/SConscript
@@ -4,39 +4,39 @@ myenv = swiften_env.Clone()
myenv.MergeFlags(swiften_env.get("BONJOUR_FLAGS", ""))
sources = [
- "DNSSD/DNSSDBrowseQuery.cpp",
- "DNSSD/DNSSDQuerier.cpp",
- "DNSSD/DNSSDRegisterQuery.cpp",
- "DNSSD/DNSSDResolveHostnameQuery.cpp",
- "DNSSD/DNSSDResolveServiceQuery.cpp",
- "DNSSD/DNSSDServiceID.cpp",
- "DNSSD/Fake/FakeDNSSDQuerier.cpp",
- "DNSSD/Fake/FakeDNSSDQuery.cpp",
- "DNSSD/PlatformDNSSDQuerierFactory.cpp",
- "IncomingLinkLocalSession.cpp",
- "LinkLocalConnector.cpp",
- "LinkLocalService.cpp",
- "LinkLocalServiceBrowser.cpp",
- "LinkLocalServiceInfo.cpp",
- "OutgoingLinkLocalSession.cpp",
- ]
+ "DNSSD/DNSSDBrowseQuery.cpp",
+ "DNSSD/DNSSDQuerier.cpp",
+ "DNSSD/DNSSDRegisterQuery.cpp",
+ "DNSSD/DNSSDResolveHostnameQuery.cpp",
+ "DNSSD/DNSSDResolveServiceQuery.cpp",
+ "DNSSD/DNSSDServiceID.cpp",
+ "DNSSD/Fake/FakeDNSSDQuerier.cpp",
+ "DNSSD/Fake/FakeDNSSDQuery.cpp",
+ "DNSSD/PlatformDNSSDQuerierFactory.cpp",
+ "IncomingLinkLocalSession.cpp",
+ "LinkLocalConnector.cpp",
+ "LinkLocalService.cpp",
+ "LinkLocalServiceBrowser.cpp",
+ "LinkLocalServiceInfo.cpp",
+ "OutgoingLinkLocalSession.cpp",
+ ]
if myenv.get("HAVE_BONJOUR", 0) :
- myenv.Append(CPPDEFINES = "HAVE_BONJOUR")
- sources += [
- "DNSSD/Bonjour/BonjourQuerier.cpp",
- "DNSSD/Bonjour/BonjourQuery.cpp",
- ]
+ myenv.Append(CPPDEFINES = "HAVE_BONJOUR")
+ sources += [
+ "DNSSD/Bonjour/BonjourQuerier.cpp",
+ "DNSSD/Bonjour/BonjourQuery.cpp",
+ ]
elif myenv.get("HAVE_AVAHI", 0) :
- myenv.Append(CPPDEFINES = ["HAVE_AVAHI"])
- sources += [
- "DNSSD/Avahi/AvahiQuerier.cpp",
- "DNSSD/Avahi/AvahiQuery.cpp",
- "DNSSD/Avahi/AvahiResolveHostnameQuery.cpp",
- "DNSSD/Avahi/AvahiResolveServiceQuery.cpp",
- "DNSSD/Avahi/AvahiRegisterQuery.cpp",
- "DNSSD/Avahi/AvahiBrowseQuery.cpp",
- ]
+ myenv.Append(CPPDEFINES = ["HAVE_AVAHI"])
+ sources += [
+ "DNSSD/Avahi/AvahiQuerier.cpp",
+ "DNSSD/Avahi/AvahiQuery.cpp",
+ "DNSSD/Avahi/AvahiResolveHostnameQuery.cpp",
+ "DNSSD/Avahi/AvahiResolveServiceQuery.cpp",
+ "DNSSD/Avahi/AvahiRegisterQuery.cpp",
+ "DNSSD/Avahi/AvahiBrowseQuery.cpp",
+ ]
objects = myenv.SwiftenObject(sources)
swiften_env.Append(SWIFTEN_OBJECTS = [objects])
diff --git a/Swiften/Network/SConscript b/Swiften/Network/SConscript
index e9da1bc..9c2a134 100644
--- a/Swiften/Network/SConscript
+++ b/Swiften/Network/SConscript
@@ -3,109 +3,109 @@ Import("swiften_env")
myenv = swiften_env.Clone()
if myenv.get("unbound", False) :
- myenv.MergeFlags(myenv.get("UNBOUND_FLAGS", {}))
- myenv.MergeFlags(myenv.get("LDNS_FLAGS", {}))
+ myenv.MergeFlags(myenv.get("UNBOUND_FLAGS", {}))
+ myenv.MergeFlags(myenv.get("LDNS_FLAGS", {}))
sourceList = [
- "ProxiedConnection.cpp",
- "HTTPConnectProxiedConnection.cpp",
- "HTTPConnectProxiedConnectionFactory.cpp",
- "SOCKS5ProxiedConnection.cpp",
- "SOCKS5ProxiedConnectionFactory.cpp",
- "BoostConnection.cpp",
- "BoostConnectionFactory.cpp",
- "BoostConnectionServer.cpp",
- "BoostConnectionServerFactory.cpp",
- "BoostIOServiceThread.cpp",
- "BOSHConnection.cpp",
- "BOSHConnectionPool.cpp",
- "CachingDomainNameResolver.cpp",
- "ConnectionFactory.cpp",
- "ConnectionServer.cpp",
- "ConnectionServerFactory.cpp",
- "DummyConnection.cpp",
- "FakeConnection.cpp",
- "ChainedConnector.cpp",
- "Connector.cpp",
- "Connection.cpp",
- "TimerFactory.cpp",
- "DummyTimerFactory.cpp",
- "BoostTimerFactory.cpp",
- "DomainNameResolver.cpp",
- "DomainNameAddressQuery.cpp",
- "DomainNameServiceQuery.cpp",
- "StaticDomainNameResolver.cpp",
- "HostAddress.cpp",
- "HostAddressPort.cpp",
- "HostNameOrAddress.cpp",
- "NetworkFactories.cpp",
- "BoostNetworkFactories.cpp",
- "NetworkEnvironment.cpp",
- "Timer.cpp",
- "TLSConnection.cpp",
- "TLSConnectionFactory.cpp",
- "BoostTimer.cpp",
- "ProxyProvider.cpp",
- "NullProxyProvider.cpp",
- "NATTraverser.cpp",
- "NullNATTraverser.cpp",
- "NATTraversalGetPublicIPRequest.cpp",
- "NATTraversalForwardPortRequest.cpp",
- "NATTraversalRemovePortForwardingRequest.cpp",
- "NATTraversalInterface.cpp",
- "HTTPTrafficFilter.cpp",
- ]
+ "ProxiedConnection.cpp",
+ "HTTPConnectProxiedConnection.cpp",
+ "HTTPConnectProxiedConnectionFactory.cpp",
+ "SOCKS5ProxiedConnection.cpp",
+ "SOCKS5ProxiedConnectionFactory.cpp",
+ "BoostConnection.cpp",
+ "BoostConnectionFactory.cpp",
+ "BoostConnectionServer.cpp",
+ "BoostConnectionServerFactory.cpp",
+ "BoostIOServiceThread.cpp",
+ "BOSHConnection.cpp",
+ "BOSHConnectionPool.cpp",
+ "CachingDomainNameResolver.cpp",
+ "ConnectionFactory.cpp",
+ "ConnectionServer.cpp",
+ "ConnectionServerFactory.cpp",
+ "DummyConnection.cpp",
+ "FakeConnection.cpp",
+ "ChainedConnector.cpp",
+ "Connector.cpp",
+ "Connection.cpp",
+ "TimerFactory.cpp",
+ "DummyTimerFactory.cpp",
+ "BoostTimerFactory.cpp",
+ "DomainNameResolver.cpp",
+ "DomainNameAddressQuery.cpp",
+ "DomainNameServiceQuery.cpp",
+ "StaticDomainNameResolver.cpp",
+ "HostAddress.cpp",
+ "HostAddressPort.cpp",
+ "HostNameOrAddress.cpp",
+ "NetworkFactories.cpp",
+ "BoostNetworkFactories.cpp",
+ "NetworkEnvironment.cpp",
+ "Timer.cpp",
+ "TLSConnection.cpp",
+ "TLSConnectionFactory.cpp",
+ "BoostTimer.cpp",
+ "ProxyProvider.cpp",
+ "NullProxyProvider.cpp",
+ "NATTraverser.cpp",
+ "NullNATTraverser.cpp",
+ "NATTraversalGetPublicIPRequest.cpp",
+ "NATTraversalForwardPortRequest.cpp",
+ "NATTraversalRemovePortForwardingRequest.cpp",
+ "NATTraversalInterface.cpp",
+ "HTTPTrafficFilter.cpp",
+ ]
if myenv.get("unbound", False) :
- myenv.Append(CPPDEFINES = "USE_UNBOUND")
- sourceList.append("UnboundDomainNameResolver.cpp")
+ myenv.Append(CPPDEFINES = "USE_UNBOUND")
+ sourceList.append("UnboundDomainNameResolver.cpp")
else :
- sourceList.append("PlatformDomainNameResolver.cpp")
- sourceList.append("PlatformDomainNameServiceQuery.cpp")
- sourceList.append("PlatformDomainNameAddressQuery.cpp")
+ sourceList.append("PlatformDomainNameResolver.cpp")
+ sourceList.append("PlatformDomainNameServiceQuery.cpp")
+ sourceList.append("PlatformDomainNameAddressQuery.cpp")
if myenv["PLATFORM"] == "darwin" and myenv["target"] != "android":
- myenv.Append(FRAMEWORKS = ["CoreServices", "SystemConfiguration"])
- sourceList += [ "MacOSXProxyProvider.cpp" ]
- sourceList += [ "UnixNetworkEnvironment.cpp" ]
+ myenv.Append(FRAMEWORKS = ["CoreServices", "SystemConfiguration"])
+ sourceList += [ "MacOSXProxyProvider.cpp" ]
+ sourceList += [ "UnixNetworkEnvironment.cpp" ]
elif myenv["PLATFORM"] == "win32" :
- sourceList += [ "WindowsProxyProvider.cpp" ]
- sourceList += [ "WindowsNetworkEnvironment.cpp" ]
+ sourceList += [ "WindowsProxyProvider.cpp" ]
+ sourceList += [ "WindowsNetworkEnvironment.cpp" ]
elif myenv["PLATFORM"] == "sunos" :
- sourceList += [ "UnixProxyProvider.cpp" ]
- sourceList += [ "SolarisNetworkEnvironment.cpp" ]
- sourceList += [ "EnvironmentProxyProvider.cpp" ]
+ sourceList += [ "UnixProxyProvider.cpp" ]
+ sourceList += [ "SolarisNetworkEnvironment.cpp" ]
+ sourceList += [ "EnvironmentProxyProvider.cpp" ]
else :
- sourceList += [ "UnixNetworkEnvironment.cpp" ]
- sourceList += [ "UnixProxyProvider.cpp" ]
- sourceList += [ "EnvironmentProxyProvider.cpp" ]
- if myenv.get("HAVE_GCONF", 0) :
- myenv.Append(CPPDEFINES = "HAVE_GCONF")
- myenv.MergeFlags(myenv["GCONF_FLAGS"])
- sourceList += [ "GConfProxyProvider.cpp" ]
+ sourceList += [ "UnixNetworkEnvironment.cpp" ]
+ sourceList += [ "UnixProxyProvider.cpp" ]
+ sourceList += [ "EnvironmentProxyProvider.cpp" ]
+ if myenv.get("HAVE_GCONF", 0) :
+ myenv.Append(CPPDEFINES = "HAVE_GCONF")
+ myenv.MergeFlags(myenv["GCONF_FLAGS"])
+ sourceList += [ "GConfProxyProvider.cpp" ]
objects = myenv.SwiftenObject(sourceList)
if myenv["experimental_ft"] :
- # LibNATPMP classes
- if myenv.get("HAVE_LIBNATPMP", False) :
- natpmp_env = myenv.Clone()
- natpmp_env.Append(CPPDEFINES = natpmp_env["LIBNATPMP_FLAGS"].get("INTERNAL_CPPDEFINES", []))
- myenv.Append(CPPDEFINES = ["HAVE_LIBNATPMP"])
- objects += natpmp_env.SwiftenObject([
- "NATPMPInterface.cpp",
- ])
+ # LibNATPMP classes
+ if myenv.get("HAVE_LIBNATPMP", False) :
+ natpmp_env = myenv.Clone()
+ natpmp_env.Append(CPPDEFINES = natpmp_env["LIBNATPMP_FLAGS"].get("INTERNAL_CPPDEFINES", []))
+ myenv.Append(CPPDEFINES = ["HAVE_LIBNATPMP"])
+ objects += natpmp_env.SwiftenObject([
+ "NATPMPInterface.cpp",
+ ])
- # LibMINIUPnP classes
- if myenv.get("HAVE_LIBMINIUPNPC", False) :
- upnp_env = myenv.Clone()
- upnp_env.Append(CPPDEFINES = upnp_env["LIBMINIUPNPC_FLAGS"].get("INTERNAL_CPPDEFINES", []))
- myenv.Append(CPPDEFINES = ["HAVE_LIBMINIUPNPC"])
- objects += upnp_env.SwiftenObject([
- "MiniUPnPInterface.cpp",
- ])
- objects += myenv.SwiftenObject([
- "PlatformNATTraversalWorker.cpp",
- ])
+ # LibMINIUPnP classes
+ if myenv.get("HAVE_LIBMINIUPNPC", False) :
+ upnp_env = myenv.Clone()
+ upnp_env.Append(CPPDEFINES = upnp_env["LIBMINIUPNPC_FLAGS"].get("INTERNAL_CPPDEFINES", []))
+ myenv.Append(CPPDEFINES = ["HAVE_LIBMINIUPNPC"])
+ objects += upnp_env.SwiftenObject([
+ "MiniUPnPInterface.cpp",
+ ])
+ objects += myenv.SwiftenObject([
+ "PlatformNATTraversalWorker.cpp",
+ ])
swiften_env.Append(SWIFTEN_OBJECTS = [objects])
diff --git a/Swiften/Parser/SConscript b/Swiften/Parser/SConscript
index 03870e5..840cbda 100644
--- a/Swiften/Parser/SConscript
+++ b/Swiften/Parser/SConscript
@@ -6,114 +6,114 @@ myenv.MergeFlags(swiften_env.get("LIBXML_FLAGS", ""))
myenv.MergeFlags(swiften_env.get("EXPAT_FLAGS", ""))
sources = [
- "AttributeMap.cpp",
- "AuthRequestParser.cpp",
- "AuthChallengeParser.cpp",
- "AuthSuccessParser.cpp",
- "AuthResponseParser.cpp",
- "CompressParser.cpp",
- "ElementParser.cpp",
- "IQParser.cpp",
- "MessageParser.cpp",
- "PayloadParser.cpp",
- "StanzaAckParser.cpp",
- "BOSHBodyExtractor.cpp",
- "ComponentHandshakeParser.cpp",
- "PayloadParserFactory.cpp",
- "PayloadParserFactoryCollection.cpp",
- "PayloadParsers/BodyParser.cpp",
- "PayloadParsers/SubjectParser.cpp",
- "PayloadParsers/ThreadParser.cpp",
- "PayloadParsers/CarbonsEnableParser.cpp",
- "PayloadParsers/CarbonsDisableParser.cpp",
- "PayloadParsers/CarbonsPrivateParser.cpp",
- "PayloadParsers/CarbonsReceivedParser.cpp",
- "PayloadParsers/CarbonsSentParser.cpp",
- "PayloadParsers/ChatStateParser.cpp",
- "PayloadParsers/CapsInfoParser.cpp",
- "PayloadParsers/DiscoInfoParser.cpp",
- "PayloadParsers/DiscoItemsParser.cpp",
- "PayloadParsers/ErrorParser.cpp",
- "PayloadParsers/FormParser.cpp",
- "PayloadParsers/IBBParser.cpp",
- "PayloadParsers/JingleParser.cpp",
- "PayloadParsers/JingleReasonParser.cpp",
- "PayloadParsers/JingleContentPayloadParser.cpp",
- "PayloadParsers/JingleIBBTransportMethodPayloadParser.cpp",
- "PayloadParsers/JingleS5BTransportMethodPayloadParser.cpp",
- "PayloadParsers/JingleFileTransferDescriptionParser.cpp",
- "PayloadParsers/JingleFileTransferHashParser.cpp",
- "PayloadParsers/JingleFileTransferFileInfoParser.cpp",
- "PayloadParsers/StreamInitiationFileInfoParser.cpp",
- "PayloadParsers/CommandParser.cpp",
- "PayloadParsers/InBandRegistrationPayloadParser.cpp",
- "PayloadParsers/SearchPayloadParser.cpp",
- "PayloadParsers/FullPayloadParserFactoryCollection.cpp",
- "PayloadParsers/PriorityParser.cpp",
- "PayloadParsers/PrivateStorageParser.cpp",
- "PayloadParsers/RawXMLPayloadParser.cpp",
- "PayloadParsers/ResourceBindParser.cpp",
- "PayloadParsers/RosterItemExchangeParser.cpp",
- "PayloadParsers/RosterParser.cpp",
- "PayloadParsers/SecurityLabelParser.cpp",
- "PayloadParsers/SecurityLabelsCatalogParser.cpp",
- "PayloadParsers/SoftwareVersionParser.cpp",
- "PayloadParsers/StorageParser.cpp",
- "PayloadParsers/StatusParser.cpp",
- "PayloadParsers/StatusShowParser.cpp",
- "PayloadParsers/StreamInitiationParser.cpp",
- "PayloadParsers/BytestreamsParser.cpp",
- "PayloadParsers/VCardParser.cpp",
- "PayloadParsers/VCardUpdateParser.cpp",
- "PayloadParsers/DelayParser.cpp",
- "PayloadParsers/MUCUserPayloadParser.cpp",
- "PayloadParsers/MUCAdminPayloadParser.cpp",
- "PayloadParsers/MUCOwnerPayloadParser.cpp",
- "PayloadParsers/MUCDestroyPayloadParser.cpp",
- "PayloadParsers/MUCInvitationPayloadParser.cpp",
- "PayloadParsers/MUCItemParser.cpp",
- "PayloadParsers/NicknameParser.cpp",
- "PayloadParsers/ReplaceParser.cpp",
- "PayloadParsers/LastParser.cpp",
- "PayloadParsers/IdleParser.cpp",
- "PayloadParsers/S5BProxyRequestParser.cpp",
- "PayloadParsers/DeliveryReceiptParser.cpp",
- "PayloadParsers/DeliveryReceiptRequestParser.cpp",
- "PayloadParsers/UserLocationParser.cpp",
- "PayloadParsers/UserTuneParser.cpp",
- "PayloadParsers/WhiteboardParser.cpp",
- "PayloadParsers/PubSubErrorParserFactory.cpp",
- "PayloadParsers/ResultSetParser.cpp",
- "PayloadParsers/ForwardedParser.cpp",
- "PayloadParsers/MAMFinParser.cpp",
- "PayloadParsers/MAMResultParser.cpp",
- "PayloadParsers/MAMQueryParser.cpp",
- "PayloadParsers/IsodeIQDelegationParser.cpp",
- "PlatformXMLParserFactory.cpp",
- "PresenceParser.cpp",
- "SerializingParser.cpp",
- "StanzaParser.cpp",
- "StreamErrorParser.cpp",
- "StreamFeaturesParser.cpp",
- "StreamManagementEnabledParser.cpp",
- "StreamResumeParser.cpp",
- "StreamResumedParser.cpp",
- "Tree/ParserElement.cpp",
- "Tree/NullParserElement.cpp",
- "Tree/TreeReparser.cpp",
- "XMLParser.cpp",
- "XMLParserClient.cpp",
- "XMLParserFactory.cpp",
- "XMPPParser.cpp",
- "XMPPParserClient.cpp",
- ]
+ "AttributeMap.cpp",
+ "AuthRequestParser.cpp",
+ "AuthChallengeParser.cpp",
+ "AuthSuccessParser.cpp",
+ "AuthResponseParser.cpp",
+ "CompressParser.cpp",
+ "ElementParser.cpp",
+ "IQParser.cpp",
+ "MessageParser.cpp",
+ "PayloadParser.cpp",
+ "StanzaAckParser.cpp",
+ "BOSHBodyExtractor.cpp",
+ "ComponentHandshakeParser.cpp",
+ "PayloadParserFactory.cpp",
+ "PayloadParserFactoryCollection.cpp",
+ "PayloadParsers/BodyParser.cpp",
+ "PayloadParsers/SubjectParser.cpp",
+ "PayloadParsers/ThreadParser.cpp",
+ "PayloadParsers/CarbonsEnableParser.cpp",
+ "PayloadParsers/CarbonsDisableParser.cpp",
+ "PayloadParsers/CarbonsPrivateParser.cpp",
+ "PayloadParsers/CarbonsReceivedParser.cpp",
+ "PayloadParsers/CarbonsSentParser.cpp",
+ "PayloadParsers/ChatStateParser.cpp",
+ "PayloadParsers/CapsInfoParser.cpp",
+ "PayloadParsers/DiscoInfoParser.cpp",
+ "PayloadParsers/DiscoItemsParser.cpp",
+ "PayloadParsers/ErrorParser.cpp",
+ "PayloadParsers/FormParser.cpp",
+ "PayloadParsers/IBBParser.cpp",
+ "PayloadParsers/JingleParser.cpp",
+ "PayloadParsers/JingleReasonParser.cpp",
+ "PayloadParsers/JingleContentPayloadParser.cpp",
+ "PayloadParsers/JingleIBBTransportMethodPayloadParser.cpp",
+ "PayloadParsers/JingleS5BTransportMethodPayloadParser.cpp",
+ "PayloadParsers/JingleFileTransferDescriptionParser.cpp",
+ "PayloadParsers/JingleFileTransferHashParser.cpp",
+ "PayloadParsers/JingleFileTransferFileInfoParser.cpp",
+ "PayloadParsers/StreamInitiationFileInfoParser.cpp",
+ "PayloadParsers/CommandParser.cpp",
+ "PayloadParsers/InBandRegistrationPayloadParser.cpp",
+ "PayloadParsers/SearchPayloadParser.cpp",
+ "PayloadParsers/FullPayloadParserFactoryCollection.cpp",
+ "PayloadParsers/PriorityParser.cpp",
+ "PayloadParsers/PrivateStorageParser.cpp",
+ "PayloadParsers/RawXMLPayloadParser.cpp",
+ "PayloadParsers/ResourceBindParser.cpp",
+ "PayloadParsers/RosterItemExchangeParser.cpp",
+ "PayloadParsers/RosterParser.cpp",
+ "PayloadParsers/SecurityLabelParser.cpp",
+ "PayloadParsers/SecurityLabelsCatalogParser.cpp",
+ "PayloadParsers/SoftwareVersionParser.cpp",
+ "PayloadParsers/StorageParser.cpp",
+ "PayloadParsers/StatusParser.cpp",
+ "PayloadParsers/StatusShowParser.cpp",
+ "PayloadParsers/StreamInitiationParser.cpp",
+ "PayloadParsers/BytestreamsParser.cpp",
+ "PayloadParsers/VCardParser.cpp",
+ "PayloadParsers/VCardUpdateParser.cpp",
+ "PayloadParsers/DelayParser.cpp",
+ "PayloadParsers/MUCUserPayloadParser.cpp",
+ "PayloadParsers/MUCAdminPayloadParser.cpp",
+ "PayloadParsers/MUCOwnerPayloadParser.cpp",
+ "PayloadParsers/MUCDestroyPayloadParser.cpp",
+ "PayloadParsers/MUCInvitationPayloadParser.cpp",
+ "PayloadParsers/MUCItemParser.cpp",
+ "PayloadParsers/NicknameParser.cpp",
+ "PayloadParsers/ReplaceParser.cpp",
+ "PayloadParsers/LastParser.cpp",
+ "PayloadParsers/IdleParser.cpp",
+ "PayloadParsers/S5BProxyRequestParser.cpp",
+ "PayloadParsers/DeliveryReceiptParser.cpp",
+ "PayloadParsers/DeliveryReceiptRequestParser.cpp",
+ "PayloadParsers/UserLocationParser.cpp",
+ "PayloadParsers/UserTuneParser.cpp",
+ "PayloadParsers/WhiteboardParser.cpp",
+ "PayloadParsers/PubSubErrorParserFactory.cpp",
+ "PayloadParsers/ResultSetParser.cpp",
+ "PayloadParsers/ForwardedParser.cpp",
+ "PayloadParsers/MAMFinParser.cpp",
+ "PayloadParsers/MAMResultParser.cpp",
+ "PayloadParsers/MAMQueryParser.cpp",
+ "PayloadParsers/IsodeIQDelegationParser.cpp",
+ "PlatformXMLParserFactory.cpp",
+ "PresenceParser.cpp",
+ "SerializingParser.cpp",
+ "StanzaParser.cpp",
+ "StreamErrorParser.cpp",
+ "StreamFeaturesParser.cpp",
+ "StreamManagementEnabledParser.cpp",
+ "StreamResumeParser.cpp",
+ "StreamResumedParser.cpp",
+ "Tree/ParserElement.cpp",
+ "Tree/NullParserElement.cpp",
+ "Tree/TreeReparser.cpp",
+ "XMLParser.cpp",
+ "XMLParserClient.cpp",
+ "XMLParserFactory.cpp",
+ "XMPPParser.cpp",
+ "XMPPParserClient.cpp",
+ ]
if myenv.get("HAVE_EXPAT", 0) :
- myenv.Append(CPPDEFINES = "HAVE_EXPAT")
- sources += ["ExpatParser.cpp"]
+ myenv.Append(CPPDEFINES = "HAVE_EXPAT")
+ sources += ["ExpatParser.cpp"]
if myenv.get("HAVE_LIBXML", 0) :
- myenv.Append(CPPDEFINES = "HAVE_LIBXML")
- sources += ["LibXMLParser.cpp"]
+ myenv.Append(CPPDEFINES = "HAVE_LIBXML")
+ sources += ["LibXMLParser.cpp"]
objects = myenv.SwiftenObject(sources)
swiften_env.Append(SWIFTEN_OBJECTS = [objects])
diff --git a/Swiften/Presence/SConscript b/Swiften/Presence/SConscript
index 33acbd3..c3e32f2 100644
--- a/Swiften/Presence/SConscript
+++ b/Swiften/Presence/SConscript
@@ -1,11 +1,11 @@
Import("swiften_env")
objects = swiften_env.SwiftenObject([
- "PresenceOracle.cpp",
- "PresenceSender.cpp",
- "DirectedPresenceSender.cpp",
- "PayloadAddingPresenceSender.cpp",
- "StanzaChannelPresenceSender.cpp",
- "SubscriptionManager.cpp",
- ])
+ "PresenceOracle.cpp",
+ "PresenceSender.cpp",
+ "DirectedPresenceSender.cpp",
+ "PayloadAddingPresenceSender.cpp",
+ "StanzaChannelPresenceSender.cpp",
+ "SubscriptionManager.cpp",
+ ])
swiften_env.Append(SWIFTEN_OBJECTS = [objects])
diff --git a/Swiften/QA/ClientTest/SConscript b/Swiften/QA/ClientTest/SConscript
index 15a68c6..812c472 100644
--- a/Swiften/QA/ClientTest/SConscript
+++ b/Swiften/QA/ClientTest/SConscript
@@ -3,15 +3,15 @@ import os
Import("env")
if env["TEST"] :
- myenv = env.Clone()
- myenv.UseFlags(myenv["SWIFTEN_FLAGS"])
- myenv.UseFlags(myenv["SWIFTEN_DEP_FLAGS"])
+ myenv = env.Clone()
+ myenv.UseFlags(myenv["SWIFTEN_FLAGS"])
+ myenv.UseFlags(myenv["SWIFTEN_DEP_FLAGS"])
- for i in ["SWIFT_CLIENTTEST_JID", "SWIFT_CLIENTTEST_PASS"]:
- if ARGUMENTS.get(i.lower(), False) :
- myenv["ENV"][i] = ARGUMENTS[i.lower()]
- elif os.environ.get(i, "") :
- myenv["ENV"][i] = os.environ[i]
+ for i in ["SWIFT_CLIENTTEST_JID", "SWIFT_CLIENTTEST_PASS"]:
+ if ARGUMENTS.get(i.lower(), False) :
+ myenv["ENV"][i] = ARGUMENTS[i.lower()]
+ elif os.environ.get(i, "") :
+ myenv["ENV"][i] = os.environ[i]
- tester = myenv.Program("ClientTest", ["ClientTest.cpp"])
- myenv.Test(tester, "system")
+ tester = myenv.Program("ClientTest", ["ClientTest.cpp"])
+ myenv.Test(tester, "system")
diff --git a/Swiften/QA/ConcurrentFileTransferTest/SConscript b/Swiften/QA/ConcurrentFileTransferTest/SConscript
index 1b4cdbc..94b37fd 100644
--- a/Swiften/QA/ConcurrentFileTransferTest/SConscript
+++ b/Swiften/QA/ConcurrentFileTransferTest/SConscript
@@ -3,15 +3,15 @@ import os
Import("env")
if env["TEST"] :
- myenv = env.Clone()
- myenv.UseFlags(myenv["SWIFTEN_FLAGS"])
- myenv.UseFlags(myenv["SWIFTEN_DEP_FLAGS"])
+ myenv = env.Clone()
+ myenv.UseFlags(myenv["SWIFTEN_FLAGS"])
+ myenv.UseFlags(myenv["SWIFTEN_DEP_FLAGS"])
- for i in ["SWIFT_FILETRANSFERTEST_JID", "SWIFT_FILETRANSFERTEST_PASS", "SWIFT_FILETRANSFERTEST2_JID", "SWIFT_FILETRANSFERTEST2_PASS"]:
- if ARGUMENTS.get(i.lower(), False) :
- myenv["ENV"][i] = ARGUMENTS[i.lower()]
- elif os.environ.get(i, "") :
- myenv["ENV"][i] = os.environ[i]
+ for i in ["SWIFT_FILETRANSFERTEST_JID", "SWIFT_FILETRANSFERTEST_PASS", "SWIFT_FILETRANSFERTEST2_JID", "SWIFT_FILETRANSFERTEST2_PASS"]:
+ if ARGUMENTS.get(i.lower(), False) :
+ myenv["ENV"][i] = ARGUMENTS[i.lower()]
+ elif os.environ.get(i, "") :
+ myenv["ENV"][i] = os.environ[i]
- tester = myenv.Program("ConcurrentFileTransferTest", ["ConcurrentFileTransferTest.cpp"])
- myenv.Test(tester, "system")
+ tester = myenv.Program("ConcurrentFileTransferTest", ["ConcurrentFileTransferTest.cpp"])
+ myenv.Test(tester, "system")
diff --git a/Swiften/QA/DNSSDTest/SConscript b/Swiften/QA/DNSSDTest/SConscript
index d35d06f..275a314 100644
--- a/Swiften/QA/DNSSDTest/SConscript
+++ b/Swiften/QA/DNSSDTest/SConscript
@@ -3,19 +3,19 @@ import os
Import("env")
if env["TEST"] :
- myenv = env.Clone()
- myenv.MergeFlags(myenv["CHECKER_FLAGS"])
- myenv.MergeFlags(myenv["SWIFTEN_FLAGS"])
- myenv.MergeFlags(myenv["CPPUNIT_FLAGS"])
- myenv.MergeFlags(myenv["BOOST_FLAGS"])
- myenv.MergeFlags(myenv["LIBIDN_FLAGS"])
- if myenv.get("HAVE_BONJOUR", 0) :
- myenv.Append(CPPDEFINES = "HAVE_BONJOUR")
- elif myenv.get("HAVE_AVAHI", 0) :
- myenv.Append(CPPDEFINES = ["HAVE_AVAHI"])
- myenv.MergeFlags(myenv["AVAHI_FLAGS"])
+ myenv = env.Clone()
+ myenv.MergeFlags(myenv["CHECKER_FLAGS"])
+ myenv.MergeFlags(myenv["SWIFTEN_FLAGS"])
+ myenv.MergeFlags(myenv["CPPUNIT_FLAGS"])
+ myenv.MergeFlags(myenv["BOOST_FLAGS"])
+ myenv.MergeFlags(myenv["LIBIDN_FLAGS"])
+ if myenv.get("HAVE_BONJOUR", 0) :
+ myenv.Append(CPPDEFINES = "HAVE_BONJOUR")
+ elif myenv.get("HAVE_AVAHI", 0) :
+ myenv.Append(CPPDEFINES = ["HAVE_AVAHI"])
+ myenv.MergeFlags(myenv["AVAHI_FLAGS"])
- tester = myenv.Program("DNSSDTest", [
- "DNSSDTest.cpp",
- ])
- myenv.Test(tester, "system")
+ tester = myenv.Program("DNSSDTest", [
+ "DNSSDTest.cpp",
+ ])
+ myenv.Test(tester, "system")
diff --git a/Swiften/QA/FileTransferTest/SConscript b/Swiften/QA/FileTransferTest/SConscript
index 3275985..4b77674 100644
--- a/Swiften/QA/FileTransferTest/SConscript
+++ b/Swiften/QA/FileTransferTest/SConscript
@@ -3,18 +3,18 @@ import os
Import("env")
if env["TEST"] :
- myenv = env.Clone()
- myenv.UseFlags(myenv["SWIFTEN_FLAGS"])
- myenv.UseFlags(myenv["SWIFTEN_DEP_FLAGS"])
+ myenv = env.Clone()
+ myenv.UseFlags(myenv["SWIFTEN_FLAGS"])
+ myenv.UseFlags(myenv["SWIFTEN_DEP_FLAGS"])
- for i in ["SWIFT_FILETRANSFERTEST_JID", "SWIFT_FILETRANSFERTEST_PASS", "SWIFT_FILETRANSFERTEST2_JID", "SWIFT_FILETRANSFERTEST2_PASS"]:
- if ARGUMENTS.get(i.lower(), False) :
- myenv["ENV"][i] = ARGUMENTS[i.lower()]
- elif os.environ.get(i, "") :
- myenv["ENV"][i] = os.environ[i]
+ for i in ["SWIFT_FILETRANSFERTEST_JID", "SWIFT_FILETRANSFERTEST_PASS", "SWIFT_FILETRANSFERTEST2_JID", "SWIFT_FILETRANSFERTEST2_PASS"]:
+ if ARGUMENTS.get(i.lower(), False) :
+ myenv["ENV"][i] = ARGUMENTS[i.lower()]
+ elif os.environ.get(i, "") :
+ myenv["ENV"][i] = os.environ[i]
- # test in-band transfers, direct SOCKS5 bytestream transfers and proxied SOCKS5 bytestream transfers
- myenv["ENV"]["SWIFT_FILETRANSFERTEST_CONFIG"] = "1:1|2:2|4:4"
+ # test in-band transfers, direct SOCKS5 bytestream transfers and proxied SOCKS5 bytestream transfers
+ myenv["ENV"]["SWIFT_FILETRANSFERTEST_CONFIG"] = "1:1|2:2|4:4"
- tester = myenv.Program("FileTransferTest", ["FileTransferTest.cpp"])
- myenv.Test(tester, "system")
+ tester = myenv.Program("FileTransferTest", ["FileTransferTest.cpp"])
+ myenv.Test(tester, "system")
diff --git a/Swiften/QA/NetworkTest/SConscript b/Swiften/QA/NetworkTest/SConscript
index b090165..387bafc 100644
--- a/Swiften/QA/NetworkTest/SConscript
+++ b/Swiften/QA/NetworkTest/SConscript
@@ -3,20 +3,20 @@ import os
Import("env")
if env["TEST"] :
- myenv = env.Clone()
- if "test_ipv6" in ARGUMENTS :
- myenv.Append(CPPDEFINES = ["TEST_IPV6"])
- myenv.MergeFlags(myenv["CHECKER_FLAGS"])
- myenv.MergeFlags(myenv["SWIFTEN_FLAGS"])
- myenv.MergeFlags(myenv["SWIFTEN_DEP_FLAGS"])
- myenv.MergeFlags(myenv["CPPUNIT_FLAGS"])
+ myenv = env.Clone()
+ if "test_ipv6" in ARGUMENTS :
+ myenv.Append(CPPDEFINES = ["TEST_IPV6"])
+ myenv.MergeFlags(myenv["CHECKER_FLAGS"])
+ myenv.MergeFlags(myenv["SWIFTEN_FLAGS"])
+ myenv.MergeFlags(myenv["SWIFTEN_DEP_FLAGS"])
+ myenv.MergeFlags(myenv["CPPUNIT_FLAGS"])
- if env.get("unbound", False) :
- myenv.Append(CPPDEFINES = ["USE_UNBOUND"])
+ if env.get("unbound", False) :
+ myenv.Append(CPPDEFINES = ["USE_UNBOUND"])
- tester = myenv.Program("NetworkTest", [
- "BoostConnectionServerTest.cpp",
- "BoostConnectionTest.cpp",
- "DomainNameResolverTest.cpp",
- ])
- myenv.Test(tester, "system", is_checker = True)
+ tester = myenv.Program("NetworkTest", [
+ "BoostConnectionServerTest.cpp",
+ "BoostConnectionTest.cpp",
+ "DomainNameResolverTest.cpp",
+ ])
+ myenv.Test(tester, "system", is_checker = True)
diff --git a/Swiften/QA/ProxyProviderTest/SConscript b/Swiften/QA/ProxyProviderTest/SConscript
index 2eb123d..3e28360 100644
--- a/Swiften/QA/ProxyProviderTest/SConscript
+++ b/Swiften/QA/ProxyProviderTest/SConscript
@@ -7,5 +7,5 @@ myenv.MergeFlags(myenv["SWIFTEN_FLAGS"])
myenv.MergeFlags(myenv["SWIFTEN_DEP_FLAGS"])
myenv.Program("ProxyProviderTest", [
- "ProxyProviderTest.cpp",
- ])
+ "ProxyProviderTest.cpp",
+ ])
diff --git a/Swiften/QA/ReconnectTest/SConscript b/Swiften/QA/ReconnectTest/SConscript
index 6db6a6f..a94af5e 100644
--- a/Swiften/QA/ReconnectTest/SConscript
+++ b/Swiften/QA/ReconnectTest/SConscript
@@ -3,23 +3,23 @@ import os
Import("env")
if env["TEST"] :
- myenv = env.Clone()
- myenv.MergeFlags(myenv["SWIFTEN_FLAGS"])
- myenv.MergeFlags(myenv["CPPUNIT_FLAGS"])
- myenv.MergeFlags(myenv["LIBIDN_FLAGS"])
- myenv.MergeFlags(myenv["BOOST_FLAGS"])
- myenv.MergeFlags(myenv.get("SQLITE_FLAGS", ""))
- myenv.MergeFlags(myenv["ZLIB_FLAGS"])
- myenv.MergeFlags(myenv["OPENSSL_FLAGS"])
- myenv.MergeFlags(myenv.get("LIBXML_FLAGS", ""))
- myenv.MergeFlags(myenv.get("EXPAT_FLAGS", ""))
- myenv.MergeFlags(myenv["PLATFORM_FLAGS"])
-# myenv.Append(LIBPATH = ["/opt/local/lib"])
-# myenv.Append(LIBS = ["efence"])
+ myenv = env.Clone()
+ myenv.MergeFlags(myenv["SWIFTEN_FLAGS"])
+ myenv.MergeFlags(myenv["CPPUNIT_FLAGS"])
+ myenv.MergeFlags(myenv["LIBIDN_FLAGS"])
+ myenv.MergeFlags(myenv["BOOST_FLAGS"])
+ myenv.MergeFlags(myenv.get("SQLITE_FLAGS", ""))
+ myenv.MergeFlags(myenv["ZLIB_FLAGS"])
+ myenv.MergeFlags(myenv["OPENSSL_FLAGS"])
+ myenv.MergeFlags(myenv.get("LIBXML_FLAGS", ""))
+ myenv.MergeFlags(myenv.get("EXPAT_FLAGS", ""))
+ myenv.MergeFlags(myenv["PLATFORM_FLAGS"])
+# myenv.Append(LIBPATH = ["/opt/local/lib"])
+# myenv.Append(LIBS = ["efence"])
- for i in ["SWIFT_CLIENTTEST_JID", "SWIFT_CLIENTTEST_PASS"]:
- if os.environ.get(i, "") :
- myenv["ENV"][i] = os.environ[i]
+ for i in ["SWIFT_CLIENTTEST_JID", "SWIFT_CLIENTTEST_PASS"]:
+ if os.environ.get(i, "") :
+ myenv["ENV"][i] = os.environ[i]
- tester = myenv.Program("ReconnectTest", ["ReconnectTest.cpp"])
- myenv.Test(tester, "system", is_checker = True)
+ tester = myenv.Program("ReconnectTest", ["ReconnectTest.cpp"])
+ myenv.Test(tester, "system", is_checker = True)
diff --git a/Swiften/QA/SConscript b/Swiften/QA/SConscript
index 2c588e5..2bb3e51 100644
--- a/Swiften/QA/SConscript
+++ b/Swiften/QA/SConscript
@@ -1,13 +1,13 @@
Import("swiften_env")
SConscript(dirs = [
- "NetworkTest",
-# "ReconnectTest",
- "ClientTest",
-# "DNSSDTest",
- "StorageTest",
- "TLSTest",
- "ScriptedTests",
- "ProxyProviderTest",
- "FileTransferTest",
- ])
+ "NetworkTest",
+# "ReconnectTest",
+ "ClientTest",
+# "DNSSDTest",
+ "StorageTest",
+ "TLSTest",
+ "ScriptedTests",
+ "ProxyProviderTest",
+ "FileTransferTest",
+ ])
diff --git a/Swiften/QA/ScriptedTests/SConscript b/Swiften/QA/ScriptedTests/SConscript
index 298c455..ae315fe 100644
--- a/Swiften/QA/ScriptedTests/SConscript
+++ b/Swiften/QA/ScriptedTests/SConscript
@@ -1,7 +1,7 @@
Import("env")
if env["TEST"] :
- env.ScriptTests([
- "SendMessage.lua",
- "MultipleClients.lua",
- ], "Swiften.QA.ScriptedTests", "system")
+ env.ScriptTests([
+ "SendMessage.lua",
+ "MultipleClients.lua",
+ ], "Swiften.QA.ScriptedTests", "system")
diff --git a/Swiften/QA/StorageTest/SConscript b/Swiften/QA/StorageTest/SConscript
index fff2a2b..bb1a2c6 100644
--- a/Swiften/QA/StorageTest/SConscript
+++ b/Swiften/QA/StorageTest/SConscript
@@ -3,20 +3,20 @@ import os
Import("env")
if env["TEST"] :
- myenv = env.Clone()
- myenv.MergeFlags(myenv["CHECKER_FLAGS"])
- myenv.MergeFlags(myenv["SWIFTOOLS_FLAGS"])
- myenv.MergeFlags(myenv["SWIFTEN_FLAGS"])
- myenv.MergeFlags(myenv["CPPUNIT_FLAGS"])
- myenv.MergeFlags(myenv["BOOST_FLAGS"])
- myenv.MergeFlags(myenv["LIBIDN_FLAGS"])
- myenv.MergeFlags(myenv.get("EXPAT_FLAGS", {}))
- myenv.MergeFlags(myenv.get("LIBXML_FLAGS", {}))
- myenv.MergeFlags(myenv["PLATFORM_FLAGS"])
+ myenv = env.Clone()
+ myenv.MergeFlags(myenv["CHECKER_FLAGS"])
+ myenv.MergeFlags(myenv["SWIFTOOLS_FLAGS"])
+ myenv.MergeFlags(myenv["SWIFTEN_FLAGS"])
+ myenv.MergeFlags(myenv["CPPUNIT_FLAGS"])
+ myenv.MergeFlags(myenv["BOOST_FLAGS"])
+ myenv.MergeFlags(myenv["LIBIDN_FLAGS"])
+ myenv.MergeFlags(myenv.get("EXPAT_FLAGS", {}))
+ myenv.MergeFlags(myenv.get("LIBXML_FLAGS", {}))
+ myenv.MergeFlags(myenv["PLATFORM_FLAGS"])
- tester = myenv.Program("StorageTest", [
- #"VCardFileStorageTest.cpp",
- "FileReadBytestreamTest.cpp",
- "FileWriteBytestreamTest.cpp",
- ])
- myenv.Test(tester, "system", is_checker = True)
+ tester = myenv.Program("StorageTest", [
+ #"VCardFileStorageTest.cpp",
+ "FileReadBytestreamTest.cpp",
+ "FileWriteBytestreamTest.cpp",
+ ])
+ myenv.Test(tester, "system", is_checker = True)
diff --git a/Swiften/QA/TLSTest/SConscript b/Swiften/QA/TLSTest/SConscript
index 1a2e2c0..ba884e4 100644
--- a/Swiften/QA/TLSTest/SConscript
+++ b/Swiften/QA/TLSTest/SConscript
@@ -3,23 +3,23 @@ import os
Import("env")
if env["TEST"] :
- myenv = env.Clone()
- myenv.MergeFlags(myenv["CHECKER_FLAGS"])
- myenv.MergeFlags(myenv["SWIFTOOLS_FLAGS"])
- myenv.MergeFlags(myenv["SWIFTEN_FLAGS"])
- myenv.MergeFlags(myenv["SWIFTEN_DEP_FLAGS"])
- myenv.MergeFlags(myenv["CPPUNIT_FLAGS"])
-
- if myenv.get("HAVE_OPENSSL", 0) :
- myenv.Append(CPPDEFINES = "HAVE_OPENSSL")
- myenv.MergeFlags(myenv["OPENSSL_FLAGS"])
- elif myenv.get("HAVE_SCHANNEL", 0) :
- myenv.Append(CPPDEFINES = "HAVE_SCHANNEL")
- elif myenv.get("HAVE_SECURETRANSPORT", 0) :
- myenv.Append(CPPDEFINES = "HAVE_SECURETRANSPORT")
-
- tester = myenv.Program("TLSTest", [
- "CertificateTest.cpp",
- "CertificateErrorTest.cpp"
- ])
- myenv.Test(tester, "system") \ No newline at end of file
+ myenv = env.Clone()
+ myenv.MergeFlags(myenv["CHECKER_FLAGS"])
+ myenv.MergeFlags(myenv["SWIFTOOLS_FLAGS"])
+ myenv.MergeFlags(myenv["SWIFTEN_FLAGS"])
+ myenv.MergeFlags(myenv["SWIFTEN_DEP_FLAGS"])
+ myenv.MergeFlags(myenv["CPPUNIT_FLAGS"])
+
+ if myenv.get("HAVE_OPENSSL", 0) :
+ myenv.Append(CPPDEFINES = "HAVE_OPENSSL")
+ myenv.MergeFlags(myenv["OPENSSL_FLAGS"])
+ elif myenv.get("HAVE_SCHANNEL", 0) :
+ myenv.Append(CPPDEFINES = "HAVE_SCHANNEL")
+ elif myenv.get("HAVE_SECURETRANSPORT", 0) :
+ myenv.Append(CPPDEFINES = "HAVE_SECURETRANSPORT")
+
+ tester = myenv.Program("TLSTest", [
+ "CertificateTest.cpp",
+ "CertificateErrorTest.cpp"
+ ])
+ myenv.Test(tester, "system") \ No newline at end of file
diff --git a/Swiften/SASL/SConscript b/Swiften/SASL/SConscript
index 7e1fd07..6aa3e72 100644
--- a/Swiften/SASL/SConscript
+++ b/Swiften/SASL/SConscript
@@ -3,31 +3,31 @@ Import("swiften_env", "env")
myenv = swiften_env.Clone()
objects = myenv.SwiftenObject([
- "ClientAuthenticator.cpp",
- "EXTERNALClientAuthenticator.cpp",
- "PLAINClientAuthenticator.cpp",
- "PLAINMessage.cpp",
- "SCRAMSHA1ClientAuthenticator.cpp",
- "DIGESTMD5Properties.cpp",
- "DIGESTMD5ClientAuthenticator.cpp",
- ])
+ "ClientAuthenticator.cpp",
+ "EXTERNALClientAuthenticator.cpp",
+ "PLAINClientAuthenticator.cpp",
+ "PLAINMessage.cpp",
+ "SCRAMSHA1ClientAuthenticator.cpp",
+ "DIGESTMD5Properties.cpp",
+ "DIGESTMD5ClientAuthenticator.cpp",
+ ])
if myenv["PLATFORM"] == "win32" :
- objects += myenv.SwiftenObject([
- "WindowsServicePrincipalName.cpp",
- "WindowsAuthentication.cpp",
- "WindowsGSSAPIClientAuthenticator.cpp"
- ])
+ objects += myenv.SwiftenObject([
+ "WindowsServicePrincipalName.cpp",
+ "WindowsAuthentication.cpp",
+ "WindowsGSSAPIClientAuthenticator.cpp"
+ ])
swiften_env.Append(SWIFTEN_OBJECTS = [objects])
env.Append(UNITTEST_SOURCES = [
- File("UnitTest/PLAINMessageTest.cpp"),
- File("UnitTest/PLAINClientAuthenticatorTest.cpp"),
- File("UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp"),
- File("UnitTest/DIGESTMD5PropertiesTest.cpp"),
- File("UnitTest/DIGESTMD5ClientAuthenticatorTest.cpp"),
- ])
+ File("UnitTest/PLAINMessageTest.cpp"),
+ File("UnitTest/PLAINClientAuthenticatorTest.cpp"),
+ File("UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp"),
+ File("UnitTest/DIGESTMD5PropertiesTest.cpp"),
+ File("UnitTest/DIGESTMD5ClientAuthenticatorTest.cpp"),
+ ])
if myenv["PLATFORM"] == "win32" :
- env.Append(UNITTEST_SOURCES = [
- File("UnitTest/WindowsServicePrincipalNameTest.cpp"),
- ])
+ env.Append(UNITTEST_SOURCES = [
+ File("UnitTest/WindowsServicePrincipalNameTest.cpp"),
+ ])
diff --git a/Swiften/SConscript b/Swiften/SConscript
index 54ce18b..5270ac5 100644
--- a/Swiften/SConscript
+++ b/Swiften/SConscript
@@ -10,592 +10,592 @@ swiften_dep_modules = ["BOOST", "GCONF", "ICU", "LIBIDN", "ZLIB", "LDNS", "UNBOU
external_swiften_dep_modules = ["BOOST"]
if env["SCONS_STAGE"] == "flags" :
- env["SWIFTEN_DLL"] = env["swiften_dll"]
- env["SWIFTEN_VERSION"] = Version.getBuildVersion(env.Dir("#").abspath, "swift")
- version_match = re.match("(\d+)\.(\d+).*", env["SWIFTEN_VERSION"])
- if version_match :
- env["SWIFTEN_VERSION_MAJOR"] = int(version_match.group(1))
- env["SWIFTEN_VERSION_MINOR"] = int(version_match.group(2))
- else :
- env["SWIFTEN_VERSION_MAJOR"] = 0
- env["SWIFTEN_VERSION_MINOR"] = 0
- env["SWIFTEN_VERSION_PATCH"] = 0
- env["SWIFTEN_LIBRARY"] = "Swiften"
- env["SWIFTEN_LIBRARY_FILE"] = "Swiften"
- env["SWIFTEN_LIBRARY_ALIASES"] = []
-
- if env["SWIFTEN_DLL"] :
- if env["PLATFORM"] == "win32" :
- env["SWIFTEN_LIBRARY"] = env.subst("Swiften${SWIFTEN_VERSION_MAJOR}")
- env["SWIFTEN_LIBRARY_FILE"] = env.subst("${SWIFTEN_LIBRARY}.dll")
- elif env["PLATFORM"] == "darwin" :
- env["SWIFTEN_LIBRARY_FILE"] = env.subst("Swiften.${SWIFTEN_VERSION_MAJOR}.${SWIFTEN_VERSION_MINOR}")
- env["SWIFTEN_LIBRARY_ALIASES"] = ["libSwiften.dylib", env.subst("libSwiften.${SWIFTEN_VERSION_MAJOR}.dylib")]
- else :
- env["SWIFTEN_LIBRARY_FILE"] = env.subst("libSwiften.so.${SWIFTEN_VERSION_MAJOR}.${SWIFTEN_VERSION_MINOR}")
- env["SWIFTEN_LIBRARY_ALIASES"] = ["libSwiften.so", env.subst("libSwiften.so.${SWIFTEN_VERSION_MAJOR}")]
+ env["SWIFTEN_DLL"] = env["swiften_dll"]
+ env["SWIFTEN_VERSION"] = Version.getBuildVersion(env.Dir("#").abspath, "swift")
+ version_match = re.match("(\d+)\.(\d+).*", env["SWIFTEN_VERSION"])
+ if version_match :
+ env["SWIFTEN_VERSION_MAJOR"] = int(version_match.group(1))
+ env["SWIFTEN_VERSION_MINOR"] = int(version_match.group(2))
+ else :
+ env["SWIFTEN_VERSION_MAJOR"] = 0
+ env["SWIFTEN_VERSION_MINOR"] = 0
+ env["SWIFTEN_VERSION_PATCH"] = 0
+ env["SWIFTEN_LIBRARY"] = "Swiften"
+ env["SWIFTEN_LIBRARY_FILE"] = "Swiften"
+ env["SWIFTEN_LIBRARY_ALIASES"] = []
+
+ if env["SWIFTEN_DLL"] :
+ if env["PLATFORM"] == "win32" :
+ env["SWIFTEN_LIBRARY"] = env.subst("Swiften${SWIFTEN_VERSION_MAJOR}")
+ env["SWIFTEN_LIBRARY_FILE"] = env.subst("${SWIFTEN_LIBRARY}.dll")
+ elif env["PLATFORM"] == "darwin" :
+ env["SWIFTEN_LIBRARY_FILE"] = env.subst("Swiften.${SWIFTEN_VERSION_MAJOR}.${SWIFTEN_VERSION_MINOR}")
+ env["SWIFTEN_LIBRARY_ALIASES"] = ["libSwiften.dylib", env.subst("libSwiften.${SWIFTEN_VERSION_MAJOR}.dylib")]
+ else :
+ env["SWIFTEN_LIBRARY_FILE"] = env.subst("libSwiften.so.${SWIFTEN_VERSION_MAJOR}.${SWIFTEN_VERSION_MINOR}")
+ env["SWIFTEN_LIBRARY_ALIASES"] = ["libSwiften.so", env.subst("libSwiften.so.${SWIFTEN_VERSION_MAJOR}")]
- if env["SWIFTEN_DLL"] :
- env.AddMethod(lambda e,s : e.SharedObject(s), "SwiftenObject")
- else :
- env.AddMethod(lambda e,s : e.StaticObject(s), "SwiftenObject")
+ if env["SWIFTEN_DLL"] :
+ env.AddMethod(lambda e,s : e.SharedObject(s), "SwiftenObject")
+ else :
+ env.AddMethod(lambda e,s : e.StaticObject(s), "SwiftenObject")
- swiften_env = env.Clone()
- swiften_env["LIBPATH"] = [Dir(".")]
- swiften_env["LIBRUNPATH"] = [Dir(".")]
- swiften_env["LIBS"] = [swiften_env["SWIFTEN_LIBRARY"]]
- if not env["SWIFTEN_DLL"] :
- swiften_env.Append(CPPDEFINES = ["SWIFTEN_STATIC"])
- dep_env = env.Clone()
- for module in swiften_dep_modules :
- module_flags = env.get(module + "_FLAGS", {})
- if env.get(module + "_BUNDLED", False) :
- if module in external_swiften_dep_modules :
- swiften_env.UseFlags(module_flags)
- else :
- if module in external_swiften_dep_modules :
- dep_env.UseFlags(module_flags)
- else :
- # Expose only libraries
- dep_env.Append(LIBPATH = module_flags.get("LIBPATH", []))
- dep_env.Append(LIBS = module_flags.get("LIBS", []))
- dep_env.Append(FRAMEWORKS = module_flags.get("FRAMEWORKS", []))
- dep_env.UseFlags(dep_env["PLATFORM_FLAGS"])
+ swiften_env = env.Clone()
+ swiften_env["LIBPATH"] = [Dir(".")]
+ swiften_env["LIBRUNPATH"] = [Dir(".")]
+ swiften_env["LIBS"] = [swiften_env["SWIFTEN_LIBRARY"]]
+ if not env["SWIFTEN_DLL"] :
+ swiften_env.Append(CPPDEFINES = ["SWIFTEN_STATIC"])
+ dep_env = env.Clone()
+ for module in swiften_dep_modules :
+ module_flags = env.get(module + "_FLAGS", {})
+ if env.get(module + "_BUNDLED", False) :
+ if module in external_swiften_dep_modules :
+ swiften_env.UseFlags(module_flags)
+ else :
+ if module in external_swiften_dep_modules :
+ dep_env.UseFlags(module_flags)
+ else :
+ # Expose only libraries
+ dep_env.Append(LIBPATH = module_flags.get("LIBPATH", []))
+ dep_env.Append(LIBS = module_flags.get("LIBS", []))
+ dep_env.Append(FRAMEWORKS = module_flags.get("FRAMEWORKS", []))
+ dep_env.UseFlags(dep_env["PLATFORM_FLAGS"])
- if env.get("HAVE_SCHANNEL", 0) :
- dep_env.Append(LIBS = ["Winscard"])
+ if env.get("HAVE_SCHANNEL", 0) :
+ dep_env.Append(LIBS = ["Winscard"])
- for var, e in [("SWIFTEN_FLAGS", swiften_env), ("SWIFTEN_DEP_FLAGS", dep_env)] :
- env[var] = {
- "CPPDEFINES": e.get("CPPDEFINES", []),
- "CPPPATH": e.get("CPPPATH", []),
- "CPPFLAGS": e.get("CPPFLAGS", []),
- "LIBPATH": e.get("LIBPATH", []),
- "LIBRUNPATH": e.get("LIBRUNPATH", []),
- "LIBS": e.get("LIBS", []),
- "FRAMEWORKS": e.get("FRAMEWORKS", []),
- }
+ for var, e in [("SWIFTEN_FLAGS", swiften_env), ("SWIFTEN_DEP_FLAGS", dep_env)] :
+ env[var] = {
+ "CPPDEFINES": e.get("CPPDEFINES", []),
+ "CPPPATH": e.get("CPPPATH", []),
+ "CPPFLAGS": e.get("CPPFLAGS", []),
+ "LIBPATH": e.get("LIBPATH", []),
+ "LIBRUNPATH": e.get("LIBRUNPATH", []),
+ "LIBS": e.get("LIBS", []),
+ "FRAMEWORKS": e.get("FRAMEWORKS", []),
+ }
- if env["PLATFORM"] == "win32" :
- # 0x0600 = _WIN32_WINNT_VISTA, 0x06000000 = NTDDI_VISTA
- env.Append(CPPDEFINES = [("_WIN32_WINNT","0x0600") , ("NTDDI_VERSION","0x06000000")])
+ if env["PLATFORM"] == "win32" :
+ # 0x0600 = _WIN32_WINNT_VISTA, 0x06000000 = NTDDI_VISTA
+ env.Append(CPPDEFINES = [("_WIN32_WINNT","0x0600") , ("NTDDI_VERSION","0x06000000")])
################################################################################
# Build
################################################################################
if env["SCONS_STAGE"] == "build" :
- swiften_env = env.Clone()
- swiften_env.Append(CPPDEFINES = ["SWIFTEN_BUILDING"])
- for module in swiften_dep_modules :
- swiften_env.UseFlags(swiften_env.get(module + "_FLAGS", {}))
- if env.get(module + "_BUNDLED", False) :
- swiften_env.Append(SWIFTEN_OBJECTS = env.get(module + "_OBJECTS", []))
- swiften_env.UseFlags(swiften_env["PLATFORM_FLAGS"])
-
- if swiften_env["SWIFTEN_DLL"] :
- swiften_env.AddMethod(lambda e,l,o : e.SharedLibrary(l,o), "SwiftenLibrary")
- else :
- swiften_env.Append(CPPDEFINES = ["SWIFTEN_STATIC"])
- swiften_env.AddMethod(lambda e,l,o : e.StaticLibrary(l,o), "SwiftenLibrary")
- Export("swiften_env")
+ swiften_env = env.Clone()
+ swiften_env.Append(CPPDEFINES = ["SWIFTEN_BUILDING"])
+ for module in swiften_dep_modules :
+ swiften_env.UseFlags(swiften_env.get(module + "_FLAGS", {}))
+ if env.get(module + "_BUNDLED", False) :
+ swiften_env.Append(SWIFTEN_OBJECTS = env.get(module + "_OBJECTS", []))
+ swiften_env.UseFlags(swiften_env["PLATFORM_FLAGS"])
+
+ if swiften_env["SWIFTEN_DLL"] :
+ swiften_env.AddMethod(lambda e,l,o : e.SharedLibrary(l,o), "SwiftenLibrary")
+ else :
+ swiften_env.Append(CPPDEFINES = ["SWIFTEN_STATIC"])
+ swiften_env.AddMethod(lambda e,l,o : e.StaticLibrary(l,o), "SwiftenLibrary")
+ Export("swiften_env")
# TODO: Move all this to a submodule SConscript
- sources = [
- "Base/Debug.cpp",
- "Chat/ChatStateTracker.cpp",
- "Chat/ChatStateNotifier.cpp",
- "Client/ClientSessionStanzaChannel.cpp",
- "Client/CoreClient.cpp",
- "Client/Client.cpp",
- "Client/ClientXMLTracer.cpp",
- "Client/ClientSession.cpp",
- "Client/BlockList.cpp",
- "Client/BlockListImpl.cpp",
- "Client/ClientBlockListManager.cpp",
- "Client/MemoryStorages.cpp",
- "Client/NickResolver.cpp",
- "Client/NickManager.cpp",
- "Client/NickManagerImpl.cpp",
- "Client/Storages.cpp",
- "Client/XMLBeautifier.cpp",
- "Compress/ZLibCodecompressor.cpp",
- "Compress/ZLibDecompressor.cpp",
- "Compress/ZLibCompressor.cpp",
- "Elements/CarbonsEnable.cpp",
- "Elements/CarbonsDisable.cpp",
- "Elements/CarbonsPrivate.cpp",
- "Elements/CarbonsReceived.cpp",
- "Elements/CarbonsSent.cpp",
- "Elements/DiscoInfo.cpp",
- "Elements/Presence.cpp",
- "Elements/Form.cpp",
- "Elements/FormField.cpp",
- "Elements/FormPage.cpp",
- "Elements/FormSection.cpp",
- "Elements/FormText.cpp",
- "Elements/StreamFeatures.cpp",
- "Elements/Element.cpp",
- "Elements/ToplevelElement.cpp",
- "Elements/IQ.cpp",
- "Elements/Payload.cpp",
- "Elements/PubSubPayload.cpp",
- "Elements/PubSubOwnerPayload.cpp",
- "Elements/PubSubEventPayload.cpp",
- "Elements/RosterItemExchangePayload.cpp",
- "Elements/RosterPayload.cpp",
- "Elements/SecurityLabel.cpp",
- "Elements/Stanza.cpp",
- "Elements/StanzaAck.cpp",
- "Elements/StatusShow.cpp",
- "Elements/StreamManagementEnabled.cpp",
- "Elements/StreamResume.cpp",
- "Elements/StreamResumed.cpp",
- "Elements/UserLocation.cpp",
- "Elements/UserTune.cpp",
- "Elements/VCard.cpp",
- "Elements/MUCOccupant.cpp",
- "Elements/ResultSet.cpp",
- "Elements/Forwarded.cpp",
- "Elements/MAMResult.cpp",
- "Elements/MAMQuery.cpp",
- "Elements/MAMFin.cpp",
- "Elements/Thread.cpp",
- "Elements/IsodeIQDelegation.cpp",
- "Entity/Entity.cpp",
- "Entity/PayloadPersister.cpp",
- "MUC/MUC.cpp",
- "MUC/MUCImpl.cpp",
- "MUC/MUCManager.cpp",
- "MUC/MUCRegistry.cpp",
- "MUC/MUCBookmarkManager.cpp",
- "PubSub/PubSubManager.cpp",
- "PubSub/PubSubManagerImpl.cpp",
- "Queries/IQChannel.cpp",
- "Queries/IQHandler.cpp",
- "Queries/IQRouter.cpp",
- "Queries/Request.cpp",
- "Queries/Responders/SoftwareVersionResponder.cpp",
- "Roster/RosterStorage.cpp",
- "Roster/RosterMemoryStorage.cpp",
- "Roster/XMPPRoster.cpp",
- "Roster/XMPPRosterImpl.cpp",
- "Roster/XMPPRosterController.cpp",
- "Serializer/AuthRequestSerializer.cpp",
- "Serializer/AuthSuccessSerializer.cpp",
- "Serializer/AuthChallengeSerializer.cpp",
- "Serializer/AuthResponseSerializer.cpp",
- "Serializer/CompressRequestSerializer.cpp",
- "Serializer/ElementSerializer.cpp",
- "Serializer/MessageSerializer.cpp",
- "Serializer/StreamManagementEnabledSerializer.cpp",
- "Serializer/StreamResumeSerializer.cpp",
- "Serializer/StreamResumedSerializer.cpp",
- "Serializer/ComponentHandshakeSerializer.cpp",
- "Serializer/PayloadSerializer.cpp",
- "Serializer/PayloadSerializerCollection.cpp",
- "Serializer/PayloadSerializers/IBBSerializer.cpp",
- "Serializer/PayloadSerializers/CapsInfoSerializer.cpp",
- "Serializer/PayloadSerializers/CarbonsDisableSerializer.cpp",
- "Serializer/PayloadSerializers/CarbonsEnableSerializer.cpp",
- "Serializer/PayloadSerializers/CarbonsPrivateSerializer.cpp",
- "Serializer/PayloadSerializers/CarbonsSentSerializer.cpp",
- "Serializer/PayloadSerializers/CarbonsReceivedSerializer.cpp",
- "Serializer/PayloadSerializers/ChatStateSerializer.cpp",
- "Serializer/PayloadSerializers/DiscoInfoSerializer.cpp",
- "Serializer/PayloadSerializers/DiscoItemsSerializer.cpp",
- "Serializer/PayloadSerializers/ErrorSerializer.cpp",
- "Serializer/PayloadSerializers/FullPayloadSerializerCollection.cpp",
- "Serializer/PayloadSerializers/MUCPayloadSerializer.cpp",
- "Serializer/PayloadSerializers/MUCUserPayloadSerializer.cpp",
- "Serializer/PayloadSerializers/MUCAdminPayloadSerializer.cpp",
- "Serializer/PayloadSerializers/MUCOwnerPayloadSerializer.cpp",
- "Serializer/PayloadSerializers/MUCDestroyPayloadSerializer.cpp",
- "Serializer/PayloadSerializers/MUCInvitationPayloadSerializer.cpp",
- "Serializer/PayloadSerializers/ResourceBindSerializer.cpp",
- "Serializer/PayloadSerializers/RosterItemExchangeSerializer.cpp",
- "Serializer/PayloadSerializers/RosterSerializer.cpp",
- "Serializer/PayloadSerializers/SecurityLabelSerializer.cpp",
- "Serializer/PayloadSerializers/SecurityLabelsCatalogSerializer.cpp",
- "Serializer/PayloadSerializers/SoftwareVersionSerializer.cpp",
- "Serializer/PayloadSerializers/StreamInitiationSerializer.cpp",
- "Serializer/PayloadSerializers/BytestreamsSerializer.cpp",
- "Serializer/PayloadSerializers/VCardSerializer.cpp",
- "Serializer/PayloadSerializers/VCardUpdateSerializer.cpp",
- "Serializer/PayloadSerializers/StorageSerializer.cpp",
- "Serializer/PayloadSerializers/PrivateStorageSerializer.cpp",
- "Serializer/PayloadSerializers/DelaySerializer.cpp",
- "Serializer/PayloadSerializers/CommandSerializer.cpp",
- "Serializer/PayloadSerializers/InBandRegistrationPayloadSerializer.cpp",
- "Serializer/PayloadSerializers/SearchPayloadSerializer.cpp",
- "Serializer/PayloadSerializers/FormSerializer.cpp",
- "Serializer/PayloadSerializers/NicknameSerializer.cpp",
- "Serializer/PayloadSerializers/JingleFileTransferDescriptionSerializer.cpp",
- "Serializer/PayloadSerializers/JinglePayloadSerializer.cpp",
- "Serializer/PayloadSerializers/JingleContentPayloadSerializer.cpp",
- "Serializer/PayloadSerializers/JingleFileTransferHashSerializer.cpp",
- "Serializer/PayloadSerializers/JingleIBBTransportPayloadSerializer.cpp",
- "Serializer/PayloadSerializers/JingleS5BTransportPayloadSerializer.cpp",
- "Serializer/PayloadSerializers/StreamInitiationFileInfoSerializer.cpp",
- "Serializer/PayloadSerializers/DeliveryReceiptSerializer.cpp",
- "Serializer/PayloadSerializers/DeliveryReceiptRequestSerializer.cpp",
- "Serializer/PayloadSerializers/UserLocationSerializer.cpp",
- "Serializer/PayloadSerializers/UserTuneSerializer.cpp",
- "Serializer/PayloadSerializers/WhiteboardSerializer.cpp",
- "Serializer/PayloadSerializers/ResultSetSerializer.cpp",
- "Serializer/PayloadSerializers/ForwardedSerializer.cpp",
- "Serializer/PayloadSerializers/MAMFinSerializer.cpp",
- "Serializer/PayloadSerializers/MAMResultSerializer.cpp",
- "Serializer/PayloadSerializers/MAMQuerySerializer.cpp",
- "Serializer/PayloadSerializers/IsodeIQDelegationSerializer.cpp",
- "Serializer/PayloadSerializers/JingleFileTransferFileInfoSerializer.cpp",
- "Serializer/PayloadSerializers/ThreadSerializer.cpp",
- "Serializer/PresenceSerializer.cpp",
- "Serializer/StanzaSerializer.cpp",
- "Serializer/StreamErrorSerializer.cpp",
- "Serializer/StreamFeaturesSerializer.cpp",
- "Serializer/XML/XMLElement.cpp",
- "Serializer/XML/XMLNode.cpp",
- "Serializer/XMPPSerializer.cpp",
- "Session/Session.cpp",
- "Session/SessionTracer.cpp",
- "Session/SessionStream.cpp",
- "Session/BasicSessionStream.cpp",
- "Session/BOSHSessionStream.cpp",
- "StringCodecs/Base64.cpp",
- "StringCodecs/Hexify.cpp",
- "Whiteboard/WhiteboardResponder.cpp",
- "Whiteboard/WhiteboardSession.cpp",
- "Whiteboard/IncomingWhiteboardSession.cpp",
- "Whiteboard/OutgoingWhiteboardSession.cpp",
- "Whiteboard/WhiteboardSessionManager.cpp",
- "Whiteboard/WhiteboardServer.cpp",
- "Whiteboard/WhiteboardClient.cpp",
- "Elements/Whiteboard/WhiteboardColor.cpp",
- "Whiteboard/WhiteboardTransformer.cpp",
- ]
-
- elements = [
- "PubSub", "PubSubAffiliations", "PubSubAffiliation", "PubSubConfigure", "PubSubCreate", "PubSubDefault",
- "PubSubItems", "PubSubItem", "PubSubOptions", "PubSubPublish", "PubSubRetract", "PubSubSubscribeOptions",
- "PubSubSubscribe", "PubSubSubscriptions", "PubSubSubscription", "PubSubUnsubscribe",
+ sources = [
+ "Base/Debug.cpp",
+ "Chat/ChatStateTracker.cpp",
+ "Chat/ChatStateNotifier.cpp",
+ "Client/ClientSessionStanzaChannel.cpp",
+ "Client/CoreClient.cpp",
+ "Client/Client.cpp",
+ "Client/ClientXMLTracer.cpp",
+ "Client/ClientSession.cpp",
+ "Client/BlockList.cpp",
+ "Client/BlockListImpl.cpp",
+ "Client/ClientBlockListManager.cpp",
+ "Client/MemoryStorages.cpp",
+ "Client/NickResolver.cpp",
+ "Client/NickManager.cpp",
+ "Client/NickManagerImpl.cpp",
+ "Client/Storages.cpp",
+ "Client/XMLBeautifier.cpp",
+ "Compress/ZLibCodecompressor.cpp",
+ "Compress/ZLibDecompressor.cpp",
+ "Compress/ZLibCompressor.cpp",
+ "Elements/CarbonsEnable.cpp",
+ "Elements/CarbonsDisable.cpp",
+ "Elements/CarbonsPrivate.cpp",
+ "Elements/CarbonsReceived.cpp",
+ "Elements/CarbonsSent.cpp",
+ "Elements/DiscoInfo.cpp",
+ "Elements/Presence.cpp",
+ "Elements/Form.cpp",
+ "Elements/FormField.cpp",
+ "Elements/FormPage.cpp",
+ "Elements/FormSection.cpp",
+ "Elements/FormText.cpp",
+ "Elements/StreamFeatures.cpp",
+ "Elements/Element.cpp",
+ "Elements/ToplevelElement.cpp",
+ "Elements/IQ.cpp",
+ "Elements/Payload.cpp",
+ "Elements/PubSubPayload.cpp",
+ "Elements/PubSubOwnerPayload.cpp",
+ "Elements/PubSubEventPayload.cpp",
+ "Elements/RosterItemExchangePayload.cpp",
+ "Elements/RosterPayload.cpp",
+ "Elements/SecurityLabel.cpp",
+ "Elements/Stanza.cpp",
+ "Elements/StanzaAck.cpp",
+ "Elements/StatusShow.cpp",
+ "Elements/StreamManagementEnabled.cpp",
+ "Elements/StreamResume.cpp",
+ "Elements/StreamResumed.cpp",
+ "Elements/UserLocation.cpp",
+ "Elements/UserTune.cpp",
+ "Elements/VCard.cpp",
+ "Elements/MUCOccupant.cpp",
+ "Elements/ResultSet.cpp",
+ "Elements/Forwarded.cpp",
+ "Elements/MAMResult.cpp",
+ "Elements/MAMQuery.cpp",
+ "Elements/MAMFin.cpp",
+ "Elements/Thread.cpp",
+ "Elements/IsodeIQDelegation.cpp",
+ "Entity/Entity.cpp",
+ "Entity/PayloadPersister.cpp",
+ "MUC/MUC.cpp",
+ "MUC/MUCImpl.cpp",
+ "MUC/MUCManager.cpp",
+ "MUC/MUCRegistry.cpp",
+ "MUC/MUCBookmarkManager.cpp",
+ "PubSub/PubSubManager.cpp",
+ "PubSub/PubSubManagerImpl.cpp",
+ "Queries/IQChannel.cpp",
+ "Queries/IQHandler.cpp",
+ "Queries/IQRouter.cpp",
+ "Queries/Request.cpp",
+ "Queries/Responders/SoftwareVersionResponder.cpp",
+ "Roster/RosterStorage.cpp",
+ "Roster/RosterMemoryStorage.cpp",
+ "Roster/XMPPRoster.cpp",
+ "Roster/XMPPRosterImpl.cpp",
+ "Roster/XMPPRosterController.cpp",
+ "Serializer/AuthRequestSerializer.cpp",
+ "Serializer/AuthSuccessSerializer.cpp",
+ "Serializer/AuthChallengeSerializer.cpp",
+ "Serializer/AuthResponseSerializer.cpp",
+ "Serializer/CompressRequestSerializer.cpp",
+ "Serializer/ElementSerializer.cpp",
+ "Serializer/MessageSerializer.cpp",
+ "Serializer/StreamManagementEnabledSerializer.cpp",
+ "Serializer/StreamResumeSerializer.cpp",
+ "Serializer/StreamResumedSerializer.cpp",
+ "Serializer/ComponentHandshakeSerializer.cpp",
+ "Serializer/PayloadSerializer.cpp",
+ "Serializer/PayloadSerializerCollection.cpp",
+ "Serializer/PayloadSerializers/IBBSerializer.cpp",
+ "Serializer/PayloadSerializers/CapsInfoSerializer.cpp",
+ "Serializer/PayloadSerializers/CarbonsDisableSerializer.cpp",
+ "Serializer/PayloadSerializers/CarbonsEnableSerializer.cpp",
+ "Serializer/PayloadSerializers/CarbonsPrivateSerializer.cpp",
+ "Serializer/PayloadSerializers/CarbonsSentSerializer.cpp",
+ "Serializer/PayloadSerializers/CarbonsReceivedSerializer.cpp",
+ "Serializer/PayloadSerializers/ChatStateSerializer.cpp",
+ "Serializer/PayloadSerializers/DiscoInfoSerializer.cpp",
+ "Serializer/PayloadSerializers/DiscoItemsSerializer.cpp",
+ "Serializer/PayloadSerializers/ErrorSerializer.cpp",
+ "Serializer/PayloadSerializers/FullPayloadSerializerCollection.cpp",
+ "Serializer/PayloadSerializers/MUCPayloadSerializer.cpp",
+ "Serializer/PayloadSerializers/MUCUserPayloadSerializer.cpp",
+ "Serializer/PayloadSerializers/MUCAdminPayloadSerializer.cpp",
+ "Serializer/PayloadSerializers/MUCOwnerPayloadSerializer.cpp",
+ "Serializer/PayloadSerializers/MUCDestroyPayloadSerializer.cpp",
+ "Serializer/PayloadSerializers/MUCInvitationPayloadSerializer.cpp",
+ "Serializer/PayloadSerializers/ResourceBindSerializer.cpp",
+ "Serializer/PayloadSerializers/RosterItemExchangeSerializer.cpp",
+ "Serializer/PayloadSerializers/RosterSerializer.cpp",
+ "Serializer/PayloadSerializers/SecurityLabelSerializer.cpp",
+ "Serializer/PayloadSerializers/SecurityLabelsCatalogSerializer.cpp",
+ "Serializer/PayloadSerializers/SoftwareVersionSerializer.cpp",
+ "Serializer/PayloadSerializers/StreamInitiationSerializer.cpp",
+ "Serializer/PayloadSerializers/BytestreamsSerializer.cpp",
+ "Serializer/PayloadSerializers/VCardSerializer.cpp",
+ "Serializer/PayloadSerializers/VCardUpdateSerializer.cpp",
+ "Serializer/PayloadSerializers/StorageSerializer.cpp",
+ "Serializer/PayloadSerializers/PrivateStorageSerializer.cpp",
+ "Serializer/PayloadSerializers/DelaySerializer.cpp",
+ "Serializer/PayloadSerializers/CommandSerializer.cpp",
+ "Serializer/PayloadSerializers/InBandRegistrationPayloadSerializer.cpp",
+ "Serializer/PayloadSerializers/SearchPayloadSerializer.cpp",
+ "Serializer/PayloadSerializers/FormSerializer.cpp",
+ "Serializer/PayloadSerializers/NicknameSerializer.cpp",
+ "Serializer/PayloadSerializers/JingleFileTransferDescriptionSerializer.cpp",
+ "Serializer/PayloadSerializers/JinglePayloadSerializer.cpp",
+ "Serializer/PayloadSerializers/JingleContentPayloadSerializer.cpp",
+ "Serializer/PayloadSerializers/JingleFileTransferHashSerializer.cpp",
+ "Serializer/PayloadSerializers/JingleIBBTransportPayloadSerializer.cpp",
+ "Serializer/PayloadSerializers/JingleS5BTransportPayloadSerializer.cpp",
+ "Serializer/PayloadSerializers/StreamInitiationFileInfoSerializer.cpp",
+ "Serializer/PayloadSerializers/DeliveryReceiptSerializer.cpp",
+ "Serializer/PayloadSerializers/DeliveryReceiptRequestSerializer.cpp",
+ "Serializer/PayloadSerializers/UserLocationSerializer.cpp",
+ "Serializer/PayloadSerializers/UserTuneSerializer.cpp",
+ "Serializer/PayloadSerializers/WhiteboardSerializer.cpp",
+ "Serializer/PayloadSerializers/ResultSetSerializer.cpp",
+ "Serializer/PayloadSerializers/ForwardedSerializer.cpp",
+ "Serializer/PayloadSerializers/MAMFinSerializer.cpp",
+ "Serializer/PayloadSerializers/MAMResultSerializer.cpp",
+ "Serializer/PayloadSerializers/MAMQuerySerializer.cpp",
+ "Serializer/PayloadSerializers/IsodeIQDelegationSerializer.cpp",
+ "Serializer/PayloadSerializers/JingleFileTransferFileInfoSerializer.cpp",
+ "Serializer/PayloadSerializers/ThreadSerializer.cpp",
+ "Serializer/PresenceSerializer.cpp",
+ "Serializer/StanzaSerializer.cpp",
+ "Serializer/StreamErrorSerializer.cpp",
+ "Serializer/StreamFeaturesSerializer.cpp",
+ "Serializer/XML/XMLElement.cpp",
+ "Serializer/XML/XMLNode.cpp",
+ "Serializer/XMPPSerializer.cpp",
+ "Session/Session.cpp",
+ "Session/SessionTracer.cpp",
+ "Session/SessionStream.cpp",
+ "Session/BasicSessionStream.cpp",
+ "Session/BOSHSessionStream.cpp",
+ "StringCodecs/Base64.cpp",
+ "StringCodecs/Hexify.cpp",
+ "Whiteboard/WhiteboardResponder.cpp",
+ "Whiteboard/WhiteboardSession.cpp",
+ "Whiteboard/IncomingWhiteboardSession.cpp",
+ "Whiteboard/OutgoingWhiteboardSession.cpp",
+ "Whiteboard/WhiteboardSessionManager.cpp",
+ "Whiteboard/WhiteboardServer.cpp",
+ "Whiteboard/WhiteboardClient.cpp",
+ "Elements/Whiteboard/WhiteboardColor.cpp",
+ "Whiteboard/WhiteboardTransformer.cpp",
+ ]
+
+ elements = [
+ "PubSub", "PubSubAffiliations", "PubSubAffiliation", "PubSubConfigure", "PubSubCreate", "PubSubDefault",
+ "PubSubItems", "PubSubItem", "PubSubOptions", "PubSubPublish", "PubSubRetract", "PubSubSubscribeOptions",
+ "PubSubSubscribe", "PubSubSubscriptions", "PubSubSubscription", "PubSubUnsubscribe",
- "PubSubEvent", "PubSubEventAssociate", "PubSubEventCollection", "PubSubEventConfiguration", "PubSubEventDelete",
- "PubSubEventDisassociate", "PubSubEventItem", "PubSubEventItems", "PubSubEventPurge", "PubSubEventRedirect",
- "PubSubEventRetract", "PubSubEventSubscription",
+ "PubSubEvent", "PubSubEventAssociate", "PubSubEventCollection", "PubSubEventConfiguration", "PubSubEventDelete",
+ "PubSubEventDisassociate", "PubSubEventItem", "PubSubEventItems", "PubSubEventPurge", "PubSubEventRedirect",
+ "PubSubEventRetract", "PubSubEventSubscription",
- "PubSubOwnerAffiliation", "PubSubOwnerAffiliations", "PubSubOwnerConfigure", "PubSubOwnerDefault",
- "PubSubOwnerDelete", "PubSubOwnerPubSub", "PubSubOwnerPurge", "PubSubOwnerRedirect",
- "PubSubOwnerSubscription", "PubSubOwnerSubscriptions",
+ "PubSubOwnerAffiliation", "PubSubOwnerAffiliations", "PubSubOwnerConfigure", "PubSubOwnerDefault",
+ "PubSubOwnerDelete", "PubSubOwnerPubSub", "PubSubOwnerPurge", "PubSubOwnerRedirect",
+ "PubSubOwnerSubscription", "PubSubOwnerSubscriptions",
- "PubSubError",
- ]
- for element in elements :
- sources += [
- "Elements/" + element + ".cpp",
- "Serializer/PayloadSerializers/" + element + "Serializer.cpp",
- "Parser/PayloadParsers/" + element + "Parser.cpp",
- ]
+ "PubSubError",
+ ]
+ for element in elements :
+ sources += [
+ "Elements/" + element + ".cpp",
+ "Serializer/PayloadSerializers/" + element + "Serializer.cpp",
+ "Parser/PayloadParsers/" + element + "Parser.cpp",
+ ]
- SConscript(dirs = [
- "Avatars",
- "Base",
- "IDN",
- "SASL",
- "TLS",
- "Crypto",
- "EventLoop",
- "Parser",
- "JID",
- "Jingle",
- "Disco",
- "VCards",
- "Network",
- "Presence",
- "FileTransfer",
- "History",
- "StreamStack",
- "LinkLocal",
- "StreamManagement",
- "Component",
- "AdHoc"
- ])
- if env["build_examples"] :
- SConscript(dirs = [
- "Config",
- "Examples"
- ])
- env.SConscript(test_only = True, dirs = [
- "QA",
- ])
+ SConscript(dirs = [
+ "Avatars",
+ "Base",
+ "IDN",
+ "SASL",
+ "TLS",
+ "Crypto",
+ "EventLoop",
+ "Parser",
+ "JID",
+ "Jingle",
+ "Disco",
+ "VCards",
+ "Network",
+ "Presence",
+ "FileTransfer",
+ "History",
+ "StreamStack",
+ "LinkLocal",
+ "StreamManagement",
+ "Component",
+ "AdHoc"
+ ])
+ if env["build_examples"] :
+ SConscript(dirs = [
+ "Config",
+ "Examples"
+ ])
+ env.SConscript(test_only = True, dirs = [
+ "QA",
+ ])
- myenv = swiften_env.Clone()
- if myenv["PLATFORM"] != "darwin" and myenv["PLATFORM"] != "win32" and myenv.get("HAVE_GCONF", 0) :
- env.MergeFlags(env["GCONF_FLAGS"])
+ myenv = swiften_env.Clone()
+ if myenv["PLATFORM"] != "darwin" and myenv["PLATFORM"] != "win32" and myenv.get("HAVE_GCONF", 0) :
+ env.MergeFlags(env["GCONF_FLAGS"])
- if myenv["SWIFTEN_DLL"] :
- if myenv["PLATFORM"] == "posix" :
- myenv.Append(LINKFLAGS = ["-Wl,-soname,libSwiften.so.$SWIFTEN_VERSION_MAJOR"])
- myenv["SHLIBSUFFIX"] = ""
- elif myenv["PLATFORM"] == "darwin" :
- myenv.Append(LINKFLAGS = ["-Wl,-install_name,${SHLIBPREFIX}Swiften.${SWIFTEN_VERSION_MAJOR}${SHLIBSUFFIX}", "-Wl,-compatibility_version,${SWIFTEN_VERSION_MAJOR}.${SWIFTEN_VERSION_MINOR}", "-Wl,-current_version,${SWIFTEN_VERSION_MAJOR}.${SWIFTEN_VERSION_MINOR}"])
- elif myenv["PLATFORM"] == "win32" :
- res_env = myenv.Clone()
- res_env.Append(CPPDEFINES = [
- ("SWIFTEN_LIBRARY_FILE", "\"\\\"${SWIFTEN_LIBRARY_FILE}\\\"\""),
- ("SWIFTEN_COPYRIGHT_YEAR", "\"\\\"2010-%s\\\"\"" % str(time.localtime()[0])),
- ("SWIFTEN_VERSION_MAJOR", "${SWIFTEN_VERSION_MAJOR}"),
- ("SWIFTEN_VERSION_MINOR", "${SWIFTEN_VERSION_MINOR}"),
- ("SWIFTEN_VERSION_PATCH", "${SWIFTEN_VERSION_PATCH}"),
- ])
- res = res_env.RES("Swiften.rc")
- # For some reason, SCons isn't picking up the dependency correctly
- # Adding it explicitly until i figure out why
- res_env.Depends(res, "Version.h")
- sources += res
+ if myenv["SWIFTEN_DLL"] :
+ if myenv["PLATFORM"] == "posix" :
+ myenv.Append(LINKFLAGS = ["-Wl,-soname,libSwiften.so.$SWIFTEN_VERSION_MAJOR"])
+ myenv["SHLIBSUFFIX"] = ""
+ elif myenv["PLATFORM"] == "darwin" :
+ myenv.Append(LINKFLAGS = ["-Wl,-install_name,${SHLIBPREFIX}Swiften.${SWIFTEN_VERSION_MAJOR}${SHLIBSUFFIX}", "-Wl,-compatibility_version,${SWIFTEN_VERSION_MAJOR}.${SWIFTEN_VERSION_MINOR}", "-Wl,-current_version,${SWIFTEN_VERSION_MAJOR}.${SWIFTEN_VERSION_MINOR}"])
+ elif myenv["PLATFORM"] == "win32" :
+ res_env = myenv.Clone()
+ res_env.Append(CPPDEFINES = [
+ ("SWIFTEN_LIBRARY_FILE", "\"\\\"${SWIFTEN_LIBRARY_FILE}\\\"\""),
+ ("SWIFTEN_COPYRIGHT_YEAR", "\"\\\"2010-%s\\\"\"" % str(time.localtime()[0])),
+ ("SWIFTEN_VERSION_MAJOR", "${SWIFTEN_VERSION_MAJOR}"),
+ ("SWIFTEN_VERSION_MINOR", "${SWIFTEN_VERSION_MINOR}"),
+ ("SWIFTEN_VERSION_PATCH", "${SWIFTEN_VERSION_PATCH}"),
+ ])
+ res = res_env.RES("Swiften.rc")
+ # For some reason, SCons isn't picking up the dependency correctly
+ # Adding it explicitly until i figure out why
+ res_env.Depends(res, "Version.h")
+ sources += res
- swiften_lib = myenv.SwiftenLibrary(swiften_env["SWIFTEN_LIBRARY_FILE"], sources + swiften_env["SWIFTEN_OBJECTS"])
- def symlink(env, target, source) :
- if os.path.exists(str(target[0])) :
- os.unlink(str(target[0]))
- os.symlink(source[0].get_contents(), str(target[0]))
- for alias in myenv["SWIFTEN_LIBRARY_ALIASES"] :
- myenv.Command(myenv.File(alias), [myenv.Value(swiften_lib[0].name), swiften_lib[0]], symlink)
+ swiften_lib = myenv.SwiftenLibrary(swiften_env["SWIFTEN_LIBRARY_FILE"], sources + swiften_env["SWIFTEN_OBJECTS"])
+ def symlink(env, target, source) :
+ if os.path.exists(str(target[0])) :
+ os.unlink(str(target[0]))
+ os.symlink(source[0].get_contents(), str(target[0]))
+ for alias in myenv["SWIFTEN_LIBRARY_ALIASES"] :
+ myenv.Command(myenv.File(alias), [myenv.Value(swiften_lib[0].name), swiften_lib[0]], symlink)
- env.Append(UNITTEST_SOURCES = [
- File("Avatars/UnitTest/VCardUpdateAvatarManagerTest.cpp"),
- File("Avatars/UnitTest/VCardAvatarManagerTest.cpp"),
- File("Avatars/UnitTest/CombinedAvatarProviderTest.cpp"),
- File("Avatars/UnitTest/AvatarManagerImplTest.cpp"),
- File("Base/UnitTest/IDGeneratorTest.cpp"),
- File("Base/UnitTest/SimpleIDGeneratorTest.cpp"),
- File("Base/UnitTest/StringTest.cpp"),
- File("Base/UnitTest/DateTimeTest.cpp"),
- File("Base/UnitTest/ByteArrayTest.cpp"),
- File("Base/UnitTest/URLTest.cpp"),
- File("Base/UnitTest/PathTest.cpp"),
- File("Chat/UnitTest/ChatStateNotifierTest.cpp"),
-# File("Chat/UnitTest/ChatStateTrackerTest.cpp"),
- File("Client/UnitTest/ClientSessionTest.cpp"),
- File("Client/UnitTest/NickResolverTest.cpp"),
- File("Client/UnitTest/ClientBlockListManagerTest.cpp"),
- File("Client/UnitTest/BlockListImplTest.cpp"),
- File("Compress/UnitTest/ZLibCompressorTest.cpp"),
- File("Compress/UnitTest/ZLibDecompressorTest.cpp"),
- File("Component/UnitTest/ComponentHandshakeGeneratorTest.cpp"),
- File("Component/UnitTest/ComponentConnectorTest.cpp"),
- File("Component/UnitTest/ComponentSessionTest.cpp"),
- File("Disco/UnitTest/CapsInfoGeneratorTest.cpp"),
- File("Disco/UnitTest/CapsManagerTest.cpp"),
- File("Disco/UnitTest/EntityCapsManagerTest.cpp"),
- File("Disco/UnitTest/JIDDiscoInfoResponderTest.cpp"),
- File("Disco/UnitTest/DiscoInfoResponderTest.cpp"),
- File("Elements/UnitTest/IQTest.cpp"),
- File("Elements/UnitTest/StanzaTest.cpp"),
- File("Elements/UnitTest/FormTest.cpp"),
- File("EventLoop/UnitTest/EventLoopTest.cpp"),
- File("EventLoop/UnitTest/SimpleEventLoopTest.cpp"),
-# File("History/UnitTest/SQLiteHistoryManagerTest.cpp"),
- File("JID/UnitTest/JIDTest.cpp"),
- File("LinkLocal/UnitTest/LinkLocalConnectorTest.cpp"),
- File("LinkLocal/UnitTest/LinkLocalServiceBrowserTest.cpp"),
- File("LinkLocal/UnitTest/LinkLocalServiceInfoTest.cpp"),
- File("LinkLocal/UnitTest/LinkLocalServiceTest.cpp"),
- File("MUC/UnitTest/MUCTest.cpp"),
- File("MUC/UnitTest/MockMUC.cpp"),
- File("Network/UnitTest/HostAddressTest.cpp"),
- File("Network/UnitTest/ConnectorTest.cpp"),
- File("Network/UnitTest/ChainedConnectorTest.cpp"),
- File("Network/UnitTest/DomainNameServiceQueryTest.cpp"),
- File("Network/UnitTest/HTTPConnectProxiedConnectionTest.cpp"),
- File("Network/UnitTest/BOSHConnectionTest.cpp"),
- File("Network/UnitTest/BOSHConnectionPoolTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/BlockParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/BodyParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/DiscoInfoParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/DiscoItemsParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/ErrorParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/FormParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/CommandParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/PriorityParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/RawXMLPayloadParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/ResourceBindParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/RosterItemExchangeParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/RosterParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/IBBParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/InBandRegistrationPayloadParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/JingleParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/SearchPayloadParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/SecurityLabelParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/SecurityLabelsCatalogParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/SoftwareVersionParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/StatusParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/StatusShowParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/StreamInitiationParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/VCardParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/StorageParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/PrivateStorageParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/VCardUpdateParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/ReplaceTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/MUCAdminPayloadParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/MUCUserPayloadParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/DeliveryReceiptParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/IdleParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/ResultSetParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/ForwardedParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/MAMFinParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/MAMResultParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/MAMQueryParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/CarbonsParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/UserTuneParserTest.cpp"),
- File("Parser/PayloadParsers/UnitTest/UserLocationParserTest.cpp"),
- File("Parser/UnitTest/BOSHBodyExtractorTest.cpp"),
- File("Parser/UnitTest/AttributeMapTest.cpp"),
- File("Parser/UnitTest/EnumParserTest.cpp"),
- File("Parser/UnitTest/IQParserTest.cpp"),
- File("Parser/UnitTest/GenericPayloadTreeParserTest.cpp"),
- File("Parser/UnitTest/MessageParserTest.cpp"),
- File("Parser/UnitTest/PayloadParserFactoryCollectionTest.cpp"),
- File("Parser/UnitTest/PresenceParserTest.cpp"),
- File("Parser/UnitTest/StanzaAckParserTest.cpp"),
- File("Parser/UnitTest/SerializingParserTest.cpp"),
- File("Parser/UnitTest/StanzaParserTest.cpp"),
- File("Parser/UnitTest/StreamFeaturesParserTest.cpp"),
- File("Parser/UnitTest/StreamManagementEnabledParserTest.cpp"),
- File("Parser/UnitTest/XMLParserTest.cpp"),
- File("Parser/UnitTest/XMPPParserTest.cpp"),
- File("Presence/UnitTest/PresenceOracleTest.cpp"),
- File("Presence/UnitTest/DirectedPresenceSenderTest.cpp"),
- File("Presence/UnitTest/PayloadAddingPresenceSenderTest.cpp"),
- File("Queries/Requests/UnitTest/GetPrivateStorageRequestTest.cpp"),
- File("Queries/UnitTest/IQRouterTest.cpp"),
- File("Queries/UnitTest/RequestTest.cpp"),
- File("Queries/UnitTest/ResponderTest.cpp"),
- File("Roster/UnitTest/XMPPRosterImplTest.cpp"),
- File("Roster/UnitTest/XMPPRosterControllerTest.cpp"),
- File("Roster/UnitTest/XMPPRosterSignalHandler.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/PayloadsSerializer.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/BlockSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/CarbonsSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/CapsInfoSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/ChatStateSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/FormSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/DiscoInfoSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/ErrorSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/IBBSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/PrioritySerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/ResourceBindSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/RosterItemExchangeSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/RosterSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/SearchPayloadSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/SecurityLabelSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/SecurityLabelsCatalogSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/SoftwareVersionSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/StatusSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/StatusShowSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/StreamInitiationSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/InBandRegistrationPayloadSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/IsodeIQDelegationSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/VCardUpdateSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/VCardSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/StorageSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/PrivateStorageSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/ReplaceSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/MUCAdminPayloadSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/JingleSerializersTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/DeliveryReceiptSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/IdleSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/ResultSetSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/ForwardedSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/MAMFinSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/MAMResultSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/MAMQuerySerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/PubSubItemSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/PubSubItemsSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/UserTuneSerializerTest.cpp"),
- File("Serializer/PayloadSerializers/UnitTest/UserLocationSerializerTest.cpp"),
- File("Serializer/UnitTest/StreamFeaturesSerializerTest.cpp"),
- File("Serializer/UnitTest/AuthSuccessSerializerTest.cpp"),
- File("Serializer/UnitTest/AuthChallengeSerializerTest.cpp"),
- File("Serializer/UnitTest/AuthRequestSerializerTest.cpp"),
- File("Serializer/UnitTest/AuthResponseSerializerTest.cpp"),
- File("Serializer/UnitTest/XMPPSerializerTest.cpp"),
- File("Serializer/XML/UnitTest/XMLElementTest.cpp"),
- File("StreamManagement/UnitTest/StanzaAckRequesterTest.cpp"),
- File("StreamManagement/UnitTest/StanzaAckResponderTest.cpp"),
- File("StreamStack/UnitTest/StreamStackTest.cpp"),
- File("StreamStack/UnitTest/XMPPLayerTest.cpp"),
- File("StringCodecs/UnitTest/Base64Test.cpp"),
- File("StringCodecs/UnitTest/HexifyTest.cpp"),
- File("StringCodecs/UnitTest/PBKDF2Test.cpp"),
- File("TLS/UnitTest/ServerIdentityVerifierTest.cpp"),
- File("TLS/UnitTest/CertificateTest.cpp"),
- File("VCards/UnitTest/VCardManagerTest.cpp"),
- File("Whiteboard/UnitTest/WhiteboardServerTest.cpp"),
- File("Whiteboard/UnitTest/WhiteboardClientTest.cpp"),
- ])
-
- # Generate the Swiften header
- def relpath(path, start) :
- i = len(os.path.commonprefix([path, start]))
- return path[i+1:]
- swiften_header = "#pragma once\n"
- swiften_includes = []
- swiften_public_includes = []
- top_path = env.Dir("..").abspath
- for root, dirs, files in os.walk(env.Dir(".").abspath) :
- if root.endswith("UnitTest") :
- continue
- for file in files :
- if not file.endswith(".h") :
- continue
- include = relpath(os.path.join(root, file), top_path)
- if swiften_env["PLATFORM"] == "win32" :
- include = include.replace("\\", "/")
- swiften_includes.append(include)
- # Private modules
- if root.endswith("Config") :
- continue
+ env.Append(UNITTEST_SOURCES = [
+ File("Avatars/UnitTest/VCardUpdateAvatarManagerTest.cpp"),
+ File("Avatars/UnitTest/VCardAvatarManagerTest.cpp"),
+ File("Avatars/UnitTest/CombinedAvatarProviderTest.cpp"),
+ File("Avatars/UnitTest/AvatarManagerImplTest.cpp"),
+ File("Base/UnitTest/IDGeneratorTest.cpp"),
+ File("Base/UnitTest/SimpleIDGeneratorTest.cpp"),
+ File("Base/UnitTest/StringTest.cpp"),
+ File("Base/UnitTest/DateTimeTest.cpp"),
+ File("Base/UnitTest/ByteArrayTest.cpp"),
+ File("Base/UnitTest/URLTest.cpp"),
+ File("Base/UnitTest/PathTest.cpp"),
+ File("Chat/UnitTest/ChatStateNotifierTest.cpp"),
+# File("Chat/UnitTest/ChatStateTrackerTest.cpp"),
+ File("Client/UnitTest/ClientSessionTest.cpp"),
+ File("Client/UnitTest/NickResolverTest.cpp"),
+ File("Client/UnitTest/ClientBlockListManagerTest.cpp"),
+ File("Client/UnitTest/BlockListImplTest.cpp"),
+ File("Compress/UnitTest/ZLibCompressorTest.cpp"),
+ File("Compress/UnitTest/ZLibDecompressorTest.cpp"),
+ File("Component/UnitTest/ComponentHandshakeGeneratorTest.cpp"),
+ File("Component/UnitTest/ComponentConnectorTest.cpp"),
+ File("Component/UnitTest/ComponentSessionTest.cpp"),
+ File("Disco/UnitTest/CapsInfoGeneratorTest.cpp"),
+ File("Disco/UnitTest/CapsManagerTest.cpp"),
+ File("Disco/UnitTest/EntityCapsManagerTest.cpp"),
+ File("Disco/UnitTest/JIDDiscoInfoResponderTest.cpp"),
+ File("Disco/UnitTest/DiscoInfoResponderTest.cpp"),
+ File("Elements/UnitTest/IQTest.cpp"),
+ File("Elements/UnitTest/StanzaTest.cpp"),
+ File("Elements/UnitTest/FormTest.cpp"),
+ File("EventLoop/UnitTest/EventLoopTest.cpp"),
+ File("EventLoop/UnitTest/SimpleEventLoopTest.cpp"),
+# File("History/UnitTest/SQLiteHistoryManagerTest.cpp"),
+ File("JID/UnitTest/JIDTest.cpp"),
+ File("LinkLocal/UnitTest/LinkLocalConnectorTest.cpp"),
+ File("LinkLocal/UnitTest/LinkLocalServiceBrowserTest.cpp"),
+ File("LinkLocal/UnitTest/LinkLocalServiceInfoTest.cpp"),
+ File("LinkLocal/UnitTest/LinkLocalServiceTest.cpp"),
+ File("MUC/UnitTest/MUCTest.cpp"),
+ File("MUC/UnitTest/MockMUC.cpp"),
+ File("Network/UnitTest/HostAddressTest.cpp"),
+ File("Network/UnitTest/ConnectorTest.cpp"),
+ File("Network/UnitTest/ChainedConnectorTest.cpp"),
+ File("Network/UnitTest/DomainNameServiceQueryTest.cpp"),
+ File("Network/UnitTest/HTTPConnectProxiedConnectionTest.cpp"),
+ File("Network/UnitTest/BOSHConnectionTest.cpp"),
+ File("Network/UnitTest/BOSHConnectionPoolTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/BlockParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/BodyParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/DiscoInfoParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/DiscoItemsParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/ErrorParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/FormParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/CommandParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/PriorityParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/RawXMLPayloadParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/ResourceBindParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/RosterItemExchangeParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/RosterParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/IBBParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/InBandRegistrationPayloadParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/JingleParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/SearchPayloadParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/SecurityLabelParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/SecurityLabelsCatalogParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/SoftwareVersionParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/StatusParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/StatusShowParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/StreamInitiationParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/VCardParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/StorageParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/PrivateStorageParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/VCardUpdateParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/ReplaceTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/MUCAdminPayloadParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/MUCUserPayloadParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/DeliveryReceiptParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/IdleParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/ResultSetParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/ForwardedParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/MAMFinParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/MAMResultParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/MAMQueryParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/CarbonsParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/UserTuneParserTest.cpp"),
+ File("Parser/PayloadParsers/UnitTest/UserLocationParserTest.cpp"),
+ File("Parser/UnitTest/BOSHBodyExtractorTest.cpp"),
+ File("Parser/UnitTest/AttributeMapTest.cpp"),
+ File("Parser/UnitTest/EnumParserTest.cpp"),
+ File("Parser/UnitTest/IQParserTest.cpp"),
+ File("Parser/UnitTest/GenericPayloadTreeParserTest.cpp"),
+ File("Parser/UnitTest/MessageParserTest.cpp"),
+ File("Parser/UnitTest/PayloadParserFactoryCollectionTest.cpp"),
+ File("Parser/UnitTest/PresenceParserTest.cpp"),
+ File("Parser/UnitTest/StanzaAckParserTest.cpp"),
+ File("Parser/UnitTest/SerializingParserTest.cpp"),
+ File("Parser/UnitTest/StanzaParserTest.cpp"),
+ File("Parser/UnitTest/StreamFeaturesParserTest.cpp"),
+ File("Parser/UnitTest/StreamManagementEnabledParserTest.cpp"),
+ File("Parser/UnitTest/XMLParserTest.cpp"),
+ File("Parser/UnitTest/XMPPParserTest.cpp"),
+ File("Presence/UnitTest/PresenceOracleTest.cpp"),
+ File("Presence/UnitTest/DirectedPresenceSenderTest.cpp"),
+ File("Presence/UnitTest/PayloadAddingPresenceSenderTest.cpp"),
+ File("Queries/Requests/UnitTest/GetPrivateStorageRequestTest.cpp"),
+ File("Queries/UnitTest/IQRouterTest.cpp"),
+ File("Queries/UnitTest/RequestTest.cpp"),
+ File("Queries/UnitTest/ResponderTest.cpp"),
+ File("Roster/UnitTest/XMPPRosterImplTest.cpp"),
+ File("Roster/UnitTest/XMPPRosterControllerTest.cpp"),
+ File("Roster/UnitTest/XMPPRosterSignalHandler.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/PayloadsSerializer.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/BlockSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/CarbonsSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/CapsInfoSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/ChatStateSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/FormSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/DiscoInfoSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/ErrorSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/IBBSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/PrioritySerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/ResourceBindSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/RosterItemExchangeSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/RosterSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/SearchPayloadSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/SecurityLabelSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/SecurityLabelsCatalogSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/SoftwareVersionSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/StatusSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/StatusShowSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/StreamInitiationSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/InBandRegistrationPayloadSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/IsodeIQDelegationSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/VCardUpdateSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/VCardSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/StorageSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/PrivateStorageSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/ReplaceSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/MUCAdminPayloadSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/JingleSerializersTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/DeliveryReceiptSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/IdleSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/ResultSetSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/ForwardedSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/MAMFinSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/MAMResultSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/MAMQuerySerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/PubSubItemSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/PubSubItemsSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/UserTuneSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/UserLocationSerializerTest.cpp"),
+ File("Serializer/UnitTest/StreamFeaturesSerializerTest.cpp"),
+ File("Serializer/UnitTest/AuthSuccessSerializerTest.cpp"),
+ File("Serializer/UnitTest/AuthChallengeSerializerTest.cpp"),
+ File("Serializer/UnitTest/AuthRequestSerializerTest.cpp"),
+ File("Serializer/UnitTest/AuthResponseSerializerTest.cpp"),
+ File("Serializer/UnitTest/XMPPSerializerTest.cpp"),
+ File("Serializer/XML/UnitTest/XMLElementTest.cpp"),
+ File("StreamManagement/UnitTest/StanzaAckRequesterTest.cpp"),
+ File("StreamManagement/UnitTest/StanzaAckResponderTest.cpp"),
+ File("StreamStack/UnitTest/StreamStackTest.cpp"),
+ File("StreamStack/UnitTest/XMPPLayerTest.cpp"),
+ File("StringCodecs/UnitTest/Base64Test.cpp"),
+ File("StringCodecs/UnitTest/HexifyTest.cpp"),
+ File("StringCodecs/UnitTest/PBKDF2Test.cpp"),
+ File("TLS/UnitTest/ServerIdentityVerifierTest.cpp"),
+ File("TLS/UnitTest/CertificateTest.cpp"),
+ File("VCards/UnitTest/VCardManagerTest.cpp"),
+ File("Whiteboard/UnitTest/WhiteboardServerTest.cpp"),
+ File("Whiteboard/UnitTest/WhiteboardClientTest.cpp"),
+ ])
+
+ # Generate the Swiften header
+ def relpath(path, start) :
+ i = len(os.path.commonprefix([path, start]))
+ return path[i+1:]
+ swiften_header = "#pragma once\n"
+ swiften_includes = []
+ swiften_public_includes = []
+ top_path = env.Dir("..").abspath
+ for root, dirs, files in os.walk(env.Dir(".").abspath) :
+ if root.endswith("UnitTest") :
+ continue
+ for file in files :
+ if not file.endswith(".h") :
+ continue
+ include = relpath(os.path.join(root, file), top_path)
+ if swiften_env["PLATFORM"] == "win32" :
+ include = include.replace("\\", "/")
+ swiften_includes.append(include)
+ # Private modules
+ if root.endswith("Config") :
+ continue
- # Library-specfifc private modules
- if root.endswith("OpenSSL") or root.endswith("Cocoa") or root.endswith("Qt") or root.endswith("Avahi") or root.endswith("Bonjour") :
- continue
+ # Library-specfifc private modules
+ if root.endswith("OpenSSL") or root.endswith("Cocoa") or root.endswith("Qt") or root.endswith("Avahi") or root.endswith("Bonjour") :
+ continue
- # Library-specific files
- if file.endswith("_Private.h") or file.startswith("Schannel") or file.startswith("CAPI") or file.startswith("MacOSX") or file.startswith("SecureTransport") or file.startswith("Windows") or file.endswith("_Windows.h") or file.startswith("SQLite") or file == "ICUConverter.h" or file == "UnboundDomainNameResolver.h" :
- continue
+ # Library-specific files
+ if file.endswith("_Private.h") or file.startswith("Schannel") or file.startswith("CAPI") or file.startswith("MacOSX") or file.startswith("SecureTransport") or file.startswith("Windows") or file.endswith("_Windows.h") or file.startswith("SQLite") or file == "ICUConverter.h" or file == "UnboundDomainNameResolver.h" :
+ continue
- # Specific headers we don't want to globally include
- if file == "Swiften.h" or file == "foreach.h" or file == "Log.h" or file == "format.h" :
- continue
- swiften_header += "#include <" + include + ">\n"
- swiften_public_includes.append(include)
- swiften_includes.append(include)
- swiften_env.WriteVal("Swiften.h", swiften_env.Value(swiften_header))
- swiften_includes.append("Swiften/Swiften.h")
+ # Specific headers we don't want to globally include
+ if file == "Swiften.h" or file == "foreach.h" or file == "Log.h" or file == "format.h" :
+ continue
+ swiften_header += "#include <" + include + ">\n"
+ swiften_public_includes.append(include)
+ swiften_includes.append(include)
+ swiften_env.WriteVal("Swiften.h", swiften_env.Value(swiften_header))
+ swiften_includes.append("Swiften/Swiften.h")
- version_header = "#pragma once\n\n"
- version_header += "#define SWIFTEN_VERSION 0x%02X%02X%02X\n" % (swiften_env["SWIFTEN_VERSION_MAJOR"], swiften_env["SWIFTEN_VERSION_MINOR"], swiften_env["SWIFTEN_VERSION_PATCH"])
- version_header += "#define SWIFTEN_VERSION_STRING \"%s\"\n" % swiften_env["SWIFTEN_VERSION"]
- swiften_env.WriteVal("Version.h", swiften_env.Value(version_header))
- swiften_includes.append("Swiften/Version.h")
+ version_header = "#pragma once\n\n"
+ version_header += "#define SWIFTEN_VERSION 0x%02X%02X%02X\n" % (swiften_env["SWIFTEN_VERSION_MAJOR"], swiften_env["SWIFTEN_VERSION_MINOR"], swiften_env["SWIFTEN_VERSION_PATCH"])
+ version_header += "#define SWIFTEN_VERSION_STRING \"%s\"\n" % swiften_env["SWIFTEN_VERSION"]
+ swiften_env.WriteVal("Version.h", swiften_env.Value(version_header))
+ swiften_includes.append("Swiften/Version.h")
- # Check headers
- if env["check_headers"] :
- test_env = swiften_env.Clone()
- for header in swiften_public_includes:
- program_text = "#include <%s>\n" % (header)
- filename = Dir('#/.sconf_temp').abspath + ("/%s.cpp" % (urllib.quote(header, '') ))
- text_file = open(filename, "w")
- text_file.write(program_text)
- text_file.close()
- test_obj = test_env.Object(File("#/.sconf_temp/%s.cpp" % (urllib.quote(header, '') )))
- test_env.Default(test_obj)
+ # Check headers
+ if env["check_headers"] :
+ test_env = swiften_env.Clone()
+ for header in swiften_public_includes:
+ program_text = "#include <%s>\n" % (header)
+ filename = Dir('#/.sconf_temp').abspath + ("/%s.cpp" % (urllib.quote(header, '') ))
+ text_file = open(filename, "w")
+ text_file.write(program_text)
+ text_file.close()
+ test_obj = test_env.Object(File("#/.sconf_temp/%s.cpp" % (urllib.quote(header, '') )))
+ test_env.Default(test_obj)
- # Install swiften
- if swiften_env.get("SWIFTEN_INSTALLDIR", "") :
- swiften_env.Install(os.path.join(swiften_env["SWIFTEN_INSTALLDIR"], "lib"), swiften_lib)
- for alias in myenv["SWIFTEN_LIBRARY_ALIASES"] :
- myenv.Command(myenv.File(os.path.join(swiften_env["SWIFTEN_INSTALLDIR"], "lib", alias)), [env.Value(swiften_lib[0].name), swiften_lib[0]], symlink)
- for include in swiften_includes :
- swiften_env.Install(os.path.join(swiften_env["SWIFTEN_INSTALLDIR"], "include", os.path.dirname(include)), "#/" + include)
+ # Install swiften
+ if swiften_env.get("SWIFTEN_INSTALLDIR", "") :
+ swiften_env.Install(os.path.join(swiften_env["SWIFTEN_INSTALLDIR"], "lib"), swiften_lib)
+ for alias in myenv["SWIFTEN_LIBRARY_ALIASES"] :
+ myenv.Command(myenv.File(os.path.join(swiften_env["SWIFTEN_INSTALLDIR"], "lib", alias)), [env.Value(swiften_lib[0].name), swiften_lib[0]], symlink)
+ for include in swiften_includes :
+ swiften_env.Install(os.path.join(swiften_env["SWIFTEN_INSTALLDIR"], "include", os.path.dirname(include)), "#/" + include)
diff --git a/Swiften/StreamManagement/SConscript b/Swiften/StreamManagement/SConscript
index ce95fc7..8eab91b 100644
--- a/Swiften/StreamManagement/SConscript
+++ b/Swiften/StreamManagement/SConscript
@@ -1,8 +1,8 @@
Import("swiften_env")
sources = [
- "StanzaAckRequester.cpp",
- "StanzaAckResponder.cpp",
- ]
+ "StanzaAckRequester.cpp",
+ "StanzaAckResponder.cpp",
+ ]
swiften_env.Append(SWIFTEN_OBJECTS = swiften_env.SwiftenObject(sources))
diff --git a/Swiften/StreamStack/SConscript b/Swiften/StreamStack/SConscript
index 06fcc03..0a8bab1 100644
--- a/Swiften/StreamStack/SConscript
+++ b/Swiften/StreamStack/SConscript
@@ -3,14 +3,14 @@ Import("swiften_env")
myenv = swiften_env.Clone()
sources = [
- "HighLayer.cpp",
- "LowLayer.cpp",
- "StreamStack.cpp",
- "ConnectionLayer.cpp",
- "TLSLayer.cpp",
- "WhitespacePingLayer.cpp",
- "XMPPLayer.cpp",
- ]
+ "HighLayer.cpp",
+ "LowLayer.cpp",
+ "StreamStack.cpp",
+ "ConnectionLayer.cpp",
+ "TLSLayer.cpp",
+ "WhitespacePingLayer.cpp",
+ "XMPPLayer.cpp",
+ ]
objects = myenv.SwiftenObject(sources)
swiften_env.Append(SWIFTEN_OBJECTS = [objects])
diff --git a/Swiften/TLS/SConscript b/Swiften/TLS/SConscript
index c1ff425..68bf50b 100644
--- a/Swiften/TLS/SConscript
+++ b/Swiften/TLS/SConscript
@@ -1,40 +1,40 @@
Import("swiften_env")
objects = swiften_env.SwiftenObject([
- "Certificate.cpp",
- "CertificateFactory.cpp",
- "CertificateTrustChecker.cpp",
- "ServerIdentityVerifier.cpp",
- "TLSContext.cpp",
- "TLSContextFactory.cpp",
- ])
-
+ "Certificate.cpp",
+ "CertificateFactory.cpp",
+ "CertificateTrustChecker.cpp",
+ "ServerIdentityVerifier.cpp",
+ "TLSContext.cpp",
+ "TLSContextFactory.cpp",
+ ])
+
myenv = swiften_env.Clone()
if myenv.get("HAVE_OPENSSL", 0) :
- myenv.MergeFlags(myenv["OPENSSL_FLAGS"])
- objects += myenv.SwiftenObject([
- "OpenSSL/OpenSSLContext.cpp",
- "OpenSSL/OpenSSLCertificate.cpp",
- "OpenSSL/OpenSSLContextFactory.cpp",
- ])
- myenv.Append(CPPDEFINES = "HAVE_OPENSSL")
+ myenv.MergeFlags(myenv["OPENSSL_FLAGS"])
+ objects += myenv.SwiftenObject([
+ "OpenSSL/OpenSSLContext.cpp",
+ "OpenSSL/OpenSSLCertificate.cpp",
+ "OpenSSL/OpenSSLContextFactory.cpp",
+ ])
+ myenv.Append(CPPDEFINES = "HAVE_OPENSSL")
elif myenv.get("HAVE_SCHANNEL", 0) :
- swiften_env.Append(LIBS = ["Winscard"])
- objects += myenv.SwiftenObject([
- "CAPICertificate.cpp",
- "Schannel/SchannelContext.cpp",
- "Schannel/SchannelCertificate.cpp",
- "Schannel/SchannelContextFactory.cpp",
- ])
- myenv.Append(CPPDEFINES = "HAVE_SCHANNEL")
+ swiften_env.Append(LIBS = ["Winscard"])
+ objects += myenv.SwiftenObject([
+ "CAPICertificate.cpp",
+ "Schannel/SchannelContext.cpp",
+ "Schannel/SchannelCertificate.cpp",
+ "Schannel/SchannelContextFactory.cpp",
+ ])
+ myenv.Append(CPPDEFINES = "HAVE_SCHANNEL")
elif myenv.get("HAVE_SECURETRANSPORT", 0) :
- #swiften_env.Append(LIBS = ["Winscard"])
- objects += myenv.SwiftenObject([
- "SecureTransport/SecureTransportContext.mm",
- "SecureTransport/SecureTransportCertificate.mm",
- "SecureTransport/SecureTransportContextFactory.cpp",
- ])
- myenv.Append(CPPDEFINES = "HAVE_SECURETRANSPORT")
+ #swiften_env.Append(LIBS = ["Winscard"])
+ objects += myenv.SwiftenObject([
+ "SecureTransport/SecureTransportContext.mm",
+ "SecureTransport/SecureTransportCertificate.mm",
+ "SecureTransport/SecureTransportContextFactory.cpp",
+ ])
+ myenv.Append(CPPDEFINES = "HAVE_SECURETRANSPORT")
objects += myenv.SwiftenObject(["PlatformTLSFactories.cpp"])
diff --git a/Swiften/VCards/SConscript b/Swiften/VCards/SConscript
index c20c17d..d8189cb 100644
--- a/Swiften/VCards/SConscript
+++ b/Swiften/VCards/SConscript
@@ -1,7 +1,7 @@
Import("swiften_env")
objects = swiften_env.SwiftenObject([
- "VCardManager.cpp",
- "VCardStorage.cpp",
- ])
+ "VCardManager.cpp",
+ "VCardStorage.cpp",
+ ])
swiften_env.Append(SWIFTEN_OBJECTS = [objects])