def GetDependencies(): """ Returns information about the dependencies required by this repository. The return value should be an OrderedDict if the repository supports multiple configurations (aka is configurable) or a single Configuration if not. """ configurations = OrderedDict() configurations["python36"] = Configuration( "Python v3.6.5", [ Dependency( "0EAA1DCF22804F90AD9F5A3B85A5D706", "Common_Environment", "python36", "https://github.com/davidbrownell/Common_Environment-v3.git", ), ], ) configurations["python27"] = Configuration( "Python v2.7.14", [ Dependency( "0EAA1DCF22804F90AD9F5A3B85A5D706", "Common_Environment", "python27", "https://github.com/davidbrownell/Common_Environment-v3.git", ), ], ) return configurations
def GetDependencies(): """ Returns information about the dependencies required by this repository. The return value should be an OrderedDict if the repository supports multiple configurations (aka is configurable) or a single Configuration if not. """ d = OrderedDict() if CurrentShell.CategoryName == "Windows": architectures = ["x64", "x86"] else: # Cross compiling on Linux is much more difficult on Linux than it is on # Windows. Only support the current architecture. architectures = [CurrentShell.Architecture] for key_suffix, desc_suffix in [ (None, None), ("ex", "Augmented with an external linker"), ]: for architecture in architectures: if key_suffix is None: key = architecture desc = architecture else: key = "{}_{}".format(architecture, key_suffix) desc = "{} <{}>".format(architecture, desc_suffix) d[key] = Configuration( desc, [ Dependency( "2CCC7E3E3C004A05AA384AF378246EAA", "Common_cpp_Clang_Common", key, "https://github.com/davidbrownell/Common_cpp_Clang_Common.git" ) ], VersionSpecs( [], {"Python": [VersionInfo("clang", "v10.0.0")]}, ), ) d["python"] = Configuration( "Support for Clang Python bindings", [ Dependency( "0EAA1DCF22804F90AD9F5A3B85A5D706", "Common_Environment", "python36", "https://github.com/davidbrownell/Common_Environment_v3.git") ], ) return d
def GetDependencies(): """ Returns information about the dependencies required by this repository. The return value should be an OrderedDict if the repository supports multiple configurations (aka is configurable) or a single Configuration if not. """ d = OrderedDict() if CurrentShell.CategoryName == "Windows": architectures = ["x64", "x86"] else: # Cross compiling on Linux is much more difficult on Linux than it is on # Windows. Only support the current architecture. architectures = [CurrentShell.Architecture] for architecture in architectures: d[architecture] = Configuration( architecture, [ Dependency( "0EAA1DCF22804F90AD9F5A3B85A5D706", "Common_Environment", "python36", "https://github.com/davidbrownell/Common_Environment_v3.git", ) ], ) return d
def GetDependencies(): """ Returns information about the dependencies required by this repository. The return value should be an OrderedDict if the repository supports multiple configurations (aka is configurable) or a single Configuration if not. """ return OrderedDict([ ( "python36", Configuration( "Python 3.6.5", [], VersionSpecs( [ VersionInfo("Python", "v3.6.5"), ], {}, ), ) ), ( "python27", Configuration( "Python 2.7.14", [], VersionSpecs( [ VersionInfo("Python", "v2.7.14"), ], {}, ), ) ), ])
def GetDependencies(): """ Returns information about the dependencies required by this repository. The return value should be an OrderedDict if the repository supports multiple configurations (aka is configurable) or a single Configuration if not. """ d = OrderedDict() if CurrentShell.CategoryName == "Windows": architectures = ["x64", "x86"] compiler_infos = [ ("MSVC_2019", "AB7D87C49C2449F79D9F42E5195030FD", None), ("Clang_10", "42DE100A1DAE4FFC9697F75566C63DEB", "_ex"), ] else: architectures = [CurrentShell.Architecture] compiler_infos = [ ("Clang_10", "42DE100A1DAE4FFC9697F75566C63DEB", "_ex"), ] for compiler, compiler_id, configuration_suffix in compiler_infos: for architecture in architectures: d["{}_{}".format(compiler, architecture)] = Configuration( "{} [{}]".format(compiler, architecture), [ Dependency( compiler_id, "Common_cpp_{}".format(compiler), "{}{}".format(architecture, configuration_suffix or ""), "https://github.com/davidbrownell/Common_cpp_{}.git".format(compiler), ), Dependency( "2B1EBD87C47E495B9330C0304D461141", "Common_cpp_boost_Helpers", "1.70.0_{}_{}{}".format( compiler, architecture, configuration_suffix or "", ), "https://github.com/davidbrownell/Common_cpp_boost_Helpers.git", ), ], ) return d
def GetDependencies(): """ Returns information about the dependencies required by this repository. The return value should be an OrderedDict if the repository supports multiple configurations (aka is configurable) or a single Configuration if not. """ d = OrderedDict() if CurrentShell.CategoryName == "Windows": for architecture in ["x64", "x86"]: d[architecture] = Configuration( architecture, [ Dependency( "1DE864025F92429BB9855594DBA732B3", "Common_cpp_MSVC_WindowsKits_10", architecture, "https://github.com/davidbrownell/Common_cpp_MSVC_WindowsKits_10.git", ), Dependency( "F33C43DA6BB54336A7573B39509CDAD7", "Common_cpp_Common", architecture, "https://github.com/davidbrownell/Common_cpp_Common.git", ), ], ) d["noop"] = Configuration( "Configuration that doesn't do anything; this is useful on non-Windows machines or in Bootstrap repositories (where different versions of MSVC conflict with each other (normally, MSVC repositories are mutually exclusive))", [Dependency("0EAA1DCF22804F90AD9F5A3B85A5D706", "Common_Environment", "python36", "https://github.com/davidbrownell/Common_Environment_v3.git")], ) return d
def GetDependencies(): """ Returns information about the dependencies required by this repository. The return value should be an OrderedDict if the repository supports multiple configurations (aka is configurable) or a single Configuration if not. """ return Configuration( "Builds the grammar used by SimpleSchemaGenerator", [ Dependency("9F6DB1C5041945F585C2C5F8557A2483", "Common_ANTLR", None, "https://github.com/davidbrownell/Common_ANTLR-v3.git") ], )
def GetDependencies(): """ Returns information about the dependencies required by this repository. The return value should be an OrderedDict if the repository supports multiple configurations (aka is configurable) or a single Configuration if not. """ return Configuration( "Contains code that operates on SimpleSchema files", [ Dependency( "3C72E8CD41EB483A891F01DDA606B780", "Common_EnvironmentEx", "python36", "https://github.com/davidbrownell/Common_EnvironmentEx.git") ], )
def GetDependencies(): """ Returns information about the dependencies required by this repository. The return value should be an OrderedDict if the repository supports multiple configurations (aka is configurable) or a single Configuration if not. """ return Configuration( "Boost repository common to specific versions of boost", [ Dependency( "0EAA1DCF22804F90AD9F5A3B85A5D706", "Common_Environment", "python36", "https://github.com/davidbrownell/Common_Environemnt_v3.git", ), ], )
def GetDependencies(): """ Returns information about the dependencies required by this repository. The return value should be an OrderedDict if the repository supports multiple configurations (aka is configurable) or a single Configuration if not. """ return Configuration( "Standard Build Environment", [ Dependency( "5C7E1B3369B74BC098141FAD290288DA", "Common_SimpleSchemaGenerator", None, "https://github.com/davidbrownell/Common_SimpleSchemaGenerator.git", ), ], )
def GetDependencies(): """ Returns information about the dependencies required by this repository. The return value should be an OrderedDict if the repository supports multiple configurations (aka is configurable) or a single Configuration if not. """ if CurrentShell.CategoryName == "Windows": architectures = ["x64", "x86"] compiler_infos = [ ("MSVC_2019", None), # ("Clang_8", None), ("Clang_10", "_ex"), ] else: # Cross compiling on Linux is much more difficult on Linux than it is on # Windows. Only support the current architecture. architectures = [CurrentShell.Architecture] compiler_infos = [ # ("Clang_8", None), ("Clang_10", "_ex"), ] d = OrderedDict() for boost_version in ["1.70.0"]: d[boost_version] = Configuration( "boost {} (No compiler dependencies)".format(boost_version), [ Dependency( "407DD743110A4FB1871AEF60CBEC99A0", "Common_cpp_boost_{}".format(boost_version), "standard", "https://github.com/davidbrownell/Common_cpp_boost_{}.git".format(boost_version), ), Dependency( "398F6BEC057C4FE4B724153DF4EB8AE4", "Common_cpp_Helpers", "standard", "https://github.com/davidbrownell/Common_cpp_Helpers.git", ), ], ) for config_name, architecture_configuration_suffix in compiler_infos: architecture_configuration_suffix = architecture_configuration_suffix or "" for architecture in architectures: this_config_name = "{}_{}_{}{}".format(boost_version, config_name, architecture, architecture_configuration_suffix) this_config_desc = "boost {} - {} ({}{})".format(boost_version, config_name, architecture, architecture_configuration_suffix) d[this_config_name] = Configuration( this_config_desc, [ Dependency( "407DD743110A4FB1871AEF60CBEC99A0", "Common_cpp_boost_{}".format(boost_version), "{}_{}{}".format(config_name, architecture, architecture_configuration_suffix), "https://github.com/davidbrownell/Common_cpp_boost_{}.git".format(boost_version), ), Dependency( "398F6BEC057C4FE4B724153DF4EB8AE4", "Common_cpp_Helpers", "standard", "https://github.com/davidbrownell/Common_cpp_Helpers.git", ), ], ) return d
def GetDependencies(): """ Returns information about the dependencies required by this repository. The return value should be an OrderedDict if the repository supports multiple configurations (aka is configurable) or a single Configuration if not. """ d = OrderedDict() d["standard"] = Configuration( "Standard configuration without a compiler dependency", [ Dependency( "0EAA1DCF22804F90AD9F5A3B85A5D706", "Common_Environment", "python36", "https://github.com/davidbrownell/Common_Environment-v3.git", ), ], ) repo_depedencies = [] if CurrentShell.CategoryName == "Windows": repo_depedencies += [ ( "MSVC_2019", "Common_cpp_MSVC_2019", "AB7D87C49C2449F79D9F42E5195030FD", None, ), ( "MSVC_2017", "Common_cpp_MSVC_2017", "8FC8ACE80A594D2EA996CAC5DBFFEBBC", None, ), ] architectures = ["x64", "x86"] else: architectures = [CurrentShell.Architecture] repo_depedencies += [ ( "Clang_10", "Common_cpp_Clang_10", "42DE100A1DAE4FFC9697F75566C63DEB", "_ex", ), ( "Clang_8", "Common_cpp_Clang_8", "3DE9F3430E494A6C8429B26A1503C895", "_ex", ), ] for short_name, repo_name, repo_id, config_suffix in repo_depedencies: for architecture in architectures: d["{}_{}".format(short_name, architecture)] = Configuration( "{} - {}".format(short_name, architecture), [ Dependency( repo_id, repo_name, "{}{}".format(architecture, config_suffix or ""), "https://github.com/davidbrownell/{}.git".format( repo_name), ), ], ) return d
def GetDependencies(): """ Returns information about the dependencies required by this repository. The return value should be an OrderedDict if the repository supports multiple configurations (aka is configurable) or a single Configuration if not. """ d = OrderedDict() architectures = ["x64"] if CurrentShell.CategoryName == "Windows": architectures.append("x86") # Clang for version, guid in [("8", "3DE9F3430E494A6C8429B26A1503C895")]: for architecture in architectures: d["{}_Clang_{}".format(architecture, version)] = Configuration( "Builds using Clang {} for a {} architecture".format( version, architecture, ), [ Dependency( guid, "Common_cpp_Clang_{}".format(version), "{}-ex".format(architecture), "https://github.com/davidbrownell/Common_cpp_Clang_{}".format( version, ), ), ], ) # MSVC if CurrentShell.CategoryName == "Windows": for version, guid in [ ("2019", "AB7D87C49C2449F79D9F42E5195030FD"), ("2017", "8FC8ACE80A594D2EA996CAC5DBFFEBBC"), ]: for architecture in architectures: d["{}_MSVC_{}".format(architecture, version)] = Configuration( "Builds using MSVC {} for a {} architecture".format( version, architecture, ), [ Dependency( guid, "Common_cpp_MSVC_{}".format(version), architecture, "https://github.com/davidbrownell/Common_cpp_MSVC_{}.git".format( version, ), ), ], ) # Misc d["system_compiler"] = Configuration( "Enables basic C++ tools (cmake, ninja, doxygen, etc.)", [ Dependency( "F33C43DA6BB54336A7573B39509CDAD7", "Common_cpp_Common", "x64", "https://github.com/davidbrownell/Common_cpp_Common.git", ), ], ) if CurrentShell.CategoryName == "Linux": d["universal_linux"] = Configuration( "Builds using the Holy Build Box Docker Image (phusion/holy-build-box-64). More info at http://phusion.github.io/holy-build-box/", [ Dependency( "F33C43DA6BB54336A7573B39509CDAD7", "Common_cpp_Common", "x64", "https://github.com/davidbrownell/Common_cpp_Common.git", ), ], ) # Set the defaults d["x64_Clang"] = d["x64_Clang_8"] if "x86" in architectures: d["x86_Clang"] = d["x86_Clang_8"] if CurrentShell.CategoryName == "Windows": d["x64_MSVC"] = d["x64_MSVC_2019"] d["x86_MSVC"] = d["x86_MSVC_2019"] d["x64"] = d["x64_Clang"] if "x86" in architectures: d["x86"] = d["x86_Clang"] return d
def GetDependencies(): """ Returns information about the dependencies required by this repository. The return value should be an OrderedDict if the repository supports multiple configurations (aka is configurable) or a single Configuration if not. """ d = OrderedDict() if CurrentShell.CategoryName == "Windows": architectures = ["x64", "x86"] # On Windows, clang requires MSVC additional_dependency_factories = [ lambda arch: Dependency( "AB7D87C49C2449F79D9F42E5195030FD", "Common_cpp_MSVC_2019", arch, "https://github.com/davidbrownell/Common_cpp_MSVC_2019.git") ] native_linker_desc = "Augmented with MSVC" else: # Cross compiling on Linux is much more difficult on Linux than it is on # Windows. Only support the current architecture. architectures = [CurrentShell.Architecture] # Eventually, this code should depend on a custom build of GCC. However, this isn't # working as expected right now. # # On Linux, the following libraries must be installed: # - libstdc++-7-dev # # additional_dependency_factories = [lambda arch: Dependency("A21B8960BF0347628EBCE72261DAFEA7", "Common_cpp_GCC", None, "https://github.com/davidbrownell/Common_cpp_GCC.git")] additional_dependency_factories = [] native_linker_desc = "Augmented with GCC" for key_suffix, desc_suffix, dependency_factories in [ (None, None, []), ("ex", native_linker_desc, additional_dependency_factories), ]: for architecture in architectures: if key_suffix is None: key = architecture desc = architecture else: key = "{}_{}".format(architecture, key_suffix) desc = "{} <{}>".format(architecture, desc_suffix) d[key] = Configuration( desc, [ Dependency( "F33C43DA6BB54336A7573B39509CDAD7", "Common_cpp_Common", architecture, "https://github.com/davidbrownell/Common_cpp_Common.git" ) ] + [ dependency_factory(architecture) for dependency_factory in dependency_factories ], ) d["noop"] = Configuration( "Configuration that doesn't do anything; in Bootstrap repositories (where different versions of repositories conflict with each other (normally, the use of these repositories are mutually exclusive))", [ Dependency( "0EAA1DCF22804F90AD9F5A3B85A5D706", "Common_Environment", "python36", "https://github.com/davidbrownell/Common_Environment_v3.git") ], ) return d
def GetDependencies(): """ Returns information about the dependencies required by this repository. The return value should be an OrderedDict if the repository supports multiple configurations (aka is configurable) or a single Configuration if not. """ raise Exception( "Remove this exception once you have updated the configuration for your new repository (GetDependencies)." ) # To support multiple configurations... return OrderedDict([ ( "Config1", Configuration( "A description of Config1; this configuration uses python36", [ Dependency( "0EAA1DCF22804F90AD9F5A3B85A5D706", # Id for Common_Environment; found in <Common_Environment>/__RepositoryId__ "Common_Environment", # Name used if Common_Environment cannot be found during setup "python36", # Configuration value used when activating Common_Environment ), # Other dependencies go here (if any) ], # By default, the most recent version of all tools and libraries will be activated for this repository and its dependencies. # If necessary, you can override this behavior by specifying specific versions for tools that should be used when activating # this repository with this configuration. VersionSpecs( # Tools [ VersionInfo("Some Tool", "v0.0.1"), ], # Libraries, organized by language { "Python": [ VersionInfo("Some Library", "v1.2.3"), ], }, ), )), ( "Config2", Configuration( "A descrption of Config2; this configuration uses python27", [ Dependency( "0EAA1DCF22804F90AD9F5A3B85A5D706", # Id for Common_Environment; found in <Common_Environment>/__RepositoryId__ "Common_Environment", # Name used if Common_Environment cannot be found during setup "python27", # Configuration value used when activating Common_Environment ), # Other dependencies go here (if any) ], # By default, the most recent version of all tools and libraries will be activated for this repository and its dependencies. # If necessary, you can override this behavior by specifying specific versions for tools that should be used when activating # this repository with this configuration. VersionSpecs( # Tools [ VersionInfo("Some Other Tool", "v0.2.1"), ], # Libraries, organized by language { "C++": [ VersionInfo("Some Library", "v1.2.3"), ], }, ), )), ]) # To support a single (unnamed) configuration... return Configuration( "A description of Config1; this configuration uses python36", [ Dependency( "0EAA1DCF22804F90AD9F5A3B85A5D706", # Id for Common_Environment; found in <Common_Environment>/__RepositoryId__ "Common_Environment", # Name used if Common_Environment cannot be found during setup "python36", # Configuration value used when activating Common_Environment ), # Other dependencies go here (if any) ], # By default, the most recent version of all tools and libraries will be activated for this repository and its dependencies. # If necessary, you can override this behavior by specifying specific versions for tools that should be used when activating # this repository with this configuration. VersionSpecs( # Tools [ VersionInfo("Some Tool", "v0.0.1"), ], # Libraries, organized by language { "Python": [ VersionInfo("Some Library", "v1.2.3"), ], }, ), )