diff options
| author | Tobias Markmann <tm@ayena.de> | 2016-04-25 19:43:29 (GMT) | 
|---|---|---|
| committer | Tobias Markmann <tm@ayena.de> | 2016-04-25 19:43:29 (GMT) | 
| commit | 857791adda753a0f94da8317bbc019378b1f09bd (patch) | |
| tree | 96aa2e4d863d50888a16527f9fbb38712e97d8ee | |
| parent | b58ad7f4b01623a8807b8c268208bd9c8496f4e2 (diff) | |
| download | swift-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
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("//...", "]]>…<![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("//...", "]]>…<![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) @@ -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])  | 
 Swift