mirror of https://github.com/bazelbuild/rules_cc
Fix style
This commit is contained in:
parent
6c1dbe079d
commit
d3808499d2
|
@ -21,7 +21,8 @@ def _split_env_var(repo_ctx, var_name):
|
||||||
pair = assignment.split(ENV_VAR_ASSIGNMENT)
|
pair = assignment.split(ENV_VAR_ASSIGNMENT)
|
||||||
if len(pair) != 2:
|
if len(pair) != 2:
|
||||||
fail(
|
fail(
|
||||||
"Assignments should have form 'name=value', but encountered {} in env variable {}"
|
"Assignments should have form 'name=value', " +
|
||||||
|
"but encountered {} in env variable {}"
|
||||||
.format(assignment, var_name),
|
.format(assignment, var_name),
|
||||||
)
|
)
|
||||||
key, value = pair[0], pair[1]
|
key, value = pair[0], pair[1]
|
||||||
|
@ -59,11 +60,22 @@ def _find_compiler(repo_ctx):
|
||||||
fail("No compiler found")
|
fail("No compiler found")
|
||||||
|
|
||||||
def _find_lib_path(repo_ctx, lib_name, archive_names, lib_path_hints):
|
def _find_lib_path(repo_ctx, lib_name, archive_names, lib_path_hints):
|
||||||
override_paths = _get_list_from_env_var(repo_ctx, BAZEL_LIB_OVERRIDE_PATHS_ENV_VAR, lib_name)
|
override_paths = _get_list_from_env_var(
|
||||||
additional_paths = _get_list_from_env_var(repo_ctx, BAZEL_LIB_ADDITIONAL_PATHS_ENV_VAR, lib_name)
|
repo_ctx,
|
||||||
|
BAZEL_LIB_OVERRIDE_PATHS_ENV_VAR,
|
||||||
|
lib_name,
|
||||||
|
)
|
||||||
|
additional_paths = _get_list_from_env_var(
|
||||||
|
repo_ctx,
|
||||||
|
BAZEL_LIB_ADDITIONAL_PATHS_ENV_VAR,
|
||||||
|
lib_name,
|
||||||
|
)
|
||||||
|
|
||||||
# Directories will be searched in order
|
# Directories will be searched in order
|
||||||
path_flags = _make_flags(override_paths + lib_path_hints + additional_paths, "-L")
|
path_flags = _make_flags(
|
||||||
|
override_paths + lib_path_hints + additional_paths,
|
||||||
|
"-L",
|
||||||
|
)
|
||||||
linker = _find_linker(repo_ctx)
|
linker = _find_linker(repo_ctx)
|
||||||
for archive_name in archive_names:
|
for archive_name in archive_names:
|
||||||
cmd = """
|
cmd = """
|
||||||
|
@ -82,8 +94,16 @@ def _find_lib_path(repo_ctx, lib_name, archive_names, lib_path_hints):
|
||||||
return ("", "")
|
return ("", "")
|
||||||
|
|
||||||
def _find_header_path(repo_ctx, lib_name, header_name, includes):
|
def _find_header_path(repo_ctx, lib_name, header_name, includes):
|
||||||
override_paths = _get_list_from_env_var(repo_ctx, BAZEL_INCLUDE_OVERRIDE_PATHS_ENV_VAR, lib_name)
|
override_paths = _get_list_from_env_var(
|
||||||
additional_paths = _get_list_from_env_var(repo_ctx, BAZEL_INCLUDE_ADDITIONAL_PATHS_ENV_VAR, lib_name)
|
repo_ctx,
|
||||||
|
BAZEL_INCLUDE_OVERRIDE_PATHS_ENV_VAR,
|
||||||
|
lib_name,
|
||||||
|
)
|
||||||
|
additional_paths = _get_list_from_env_var(
|
||||||
|
repo_ctx,
|
||||||
|
BAZEL_INCLUDE_ADDITIONAL_PATHS_ENV_VAR,
|
||||||
|
lib_name,
|
||||||
|
)
|
||||||
|
|
||||||
# See https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html
|
# See https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html
|
||||||
override_include_flags = _make_flags(override_paths, "-I")
|
override_include_flags = _make_flags(override_paths, "-I")
|
||||||
|
@ -123,8 +143,10 @@ def system_library_impl(repo_ctx):
|
||||||
static_lib_names = repo_ctx.attr.static_lib_names
|
static_lib_names = repo_ctx.attr.static_lib_names
|
||||||
shared_lib_names = repo_ctx.attr.shared_lib_names
|
shared_lib_names = repo_ctx.attr.shared_lib_names
|
||||||
|
|
||||||
static_lib_name, static_lib_path = _find_lib_path(repo_ctx, repo_name, static_lib_names, lib_path_hints)
|
static_lib_name, static_lib_path = \
|
||||||
shared_lib_name, shared_lib_path = _find_lib_path(repo_ctx, repo_name, shared_lib_names, lib_path_hints)
|
_find_lib_path(repo_ctx, repo_name, static_lib_names, lib_path_hints)
|
||||||
|
shared_lib_name, shared_lib_path = \
|
||||||
|
_find_lib_path(repo_ctx, repo_name, shared_lib_names, lib_path_hints)
|
||||||
|
|
||||||
if not static_lib_path and not shared_lib_path:
|
if not static_lib_path and not shared_lib_path:
|
||||||
fail("Library {} could not be found".format(repo_name))
|
fail("Library {} could not be found".format(repo_name))
|
||||||
|
@ -149,10 +171,13 @@ def system_library_impl(repo_ctx):
|
||||||
|
|
||||||
hdrs_param = "hdrs = {},".format(str(hdr_names))
|
hdrs_param = "hdrs = {},".format(str(hdr_names))
|
||||||
|
|
||||||
# This is needed for the case when quote-includes and system-includes alternate in the include chain, i.e.
|
# This is needed for the case when quote-includes and system-includes
|
||||||
# #include <SDL2/SDL.h> -> #include "SDL_main.h" -> #include <SDL2/_real_SDL_config.h> -> #include "SDL_platform.h"
|
# alternate in the include chain, i.e.
|
||||||
|
# #include <SDL2/SDL.h> -> #include "SDL_main.h"
|
||||||
|
# -> #include <SDL2/_real_SDL_config.h> -> #include "SDL_platform.h"
|
||||||
# The problem is that the quote-includes are assumed to be
|
# The problem is that the quote-includes are assumed to be
|
||||||
# in the same directory as the header they are included from - they have no subdir prefix ("SDL2/") in their paths
|
# in the same directory as the header they are included from -
|
||||||
|
# they have no subdir prefix ("SDL2/") in their paths
|
||||||
include_subdirs = {}
|
include_subdirs = {}
|
||||||
for hdr in hdr_names:
|
for hdr in hdr_names:
|
||||||
path_segments = hdr.split("/")
|
path_segments = hdr.split("/")
|
||||||
|
@ -181,8 +206,8 @@ def system_library_impl(repo_ctx):
|
||||||
hdr = remote_hdr,
|
hdr = remote_hdr,
|
||||||
)
|
)
|
||||||
|
|
||||||
link_remote_static_library_genrule = ""
|
link_remote_static_lib_genrule = ""
|
||||||
link_remote_shared_library_genrule = ""
|
link_remote_shared_lib_genrule = ""
|
||||||
remote_static_library_param = ""
|
remote_static_library_param = ""
|
||||||
remote_shared_library_param = ""
|
remote_shared_library_param = ""
|
||||||
static_library_param = ""
|
static_library_param = ""
|
||||||
|
@ -190,14 +215,18 @@ def system_library_impl(repo_ctx):
|
||||||
|
|
||||||
if static_lib_path:
|
if static_lib_path:
|
||||||
repo_ctx.symlink(static_lib_path, static_lib_name)
|
repo_ctx.symlink(static_lib_path, static_lib_name)
|
||||||
static_library_param = "static_library = \"{}\",".format(static_lib_name)
|
static_library_param = "static_library = \"{}\",".format(
|
||||||
remote_static_library = "remote/" + static_lib_name
|
static_lib_name,
|
||||||
link_library_command = "mkdir -p $(RULEDIR)/remote && cp {path} $(RULEDIR)/{lib}".format(
|
|
||||||
path = static_lib_path,
|
|
||||||
lib = remote_static_library,
|
|
||||||
)
|
)
|
||||||
remote_static_library_param = "static_library = \"remote_link_static_library\","
|
remote_static_library = "remote/" + static_lib_name
|
||||||
link_remote_static_library_genrule = \
|
link_library_command = \
|
||||||
|
"mkdir -p $(RULEDIR)/remote && cp {path} $(RULEDIR)/{lib}".format(
|
||||||
|
path = static_lib_path,
|
||||||
|
lib = remote_static_library,
|
||||||
|
)
|
||||||
|
remote_static_library_param = \
|
||||||
|
"static_library = \"remote_link_static_library\","
|
||||||
|
link_remote_static_lib_genrule = \
|
||||||
"""
|
"""
|
||||||
genrule(
|
genrule(
|
||||||
name = "remote_link_static_library",
|
name = "remote_link_static_library",
|
||||||
|
@ -211,14 +240,17 @@ genrule(
|
||||||
|
|
||||||
if shared_lib_path:
|
if shared_lib_path:
|
||||||
repo_ctx.symlink(shared_lib_path, shared_lib_name)
|
repo_ctx.symlink(shared_lib_path, shared_lib_name)
|
||||||
shared_library_param = "shared_library = \"{}\",".format(shared_lib_name)
|
shared_library_param = \
|
||||||
|
"shared_library = \"{}\",".format(shared_lib_name)
|
||||||
remote_shared_library = "remote/" + shared_lib_name
|
remote_shared_library = "remote/" + shared_lib_name
|
||||||
link_library_command = "mkdir -p $(RULEDIR)/remote && cp {path} $(RULEDIR)/{lib}".format(
|
link_library_command = \
|
||||||
path = shared_lib_path,
|
"mkdir -p $(RULEDIR)/remote && cp {path} $(RULEDIR)/{lib}".format(
|
||||||
lib = remote_shared_library,
|
path = shared_lib_path,
|
||||||
)
|
lib = remote_shared_library,
|
||||||
remote_shared_library_param = "shared_library = \"remote_link_shared_library\","
|
)
|
||||||
link_remote_shared_library_genrule = \
|
remote_shared_library_param = \
|
||||||
|
"shared_library = \"remote_link_shared_library\","
|
||||||
|
link_remote_shared_lib_genrule = \
|
||||||
"""
|
"""
|
||||||
genrule(
|
genrule(
|
||||||
name = "remote_link_shared_library",
|
name = "remote_link_shared_library",
|
||||||
|
@ -251,9 +283,9 @@ genrule(
|
||||||
cmd = {link_hdrs_command}
|
cmd = {link_hdrs_command}
|
||||||
)
|
)
|
||||||
|
|
||||||
{link_remote_static_library_genrule}
|
{link_remote_static_lib_genrule}
|
||||||
|
|
||||||
{link_remote_shared_library_genrule}
|
{link_remote_shared_lib_genrule}
|
||||||
|
|
||||||
cc_import(
|
cc_import(
|
||||||
name = "remote_includes",
|
name = "remote_includes",
|
||||||
|
@ -279,12 +311,11 @@ alias(
|
||||||
deps = deps_param,
|
deps = deps_param,
|
||||||
hdr_names = str(hdr_names),
|
hdr_names = str(hdr_names),
|
||||||
link_hdrs_command = repr(link_hdrs_command),
|
link_hdrs_command = repr(link_hdrs_command),
|
||||||
link_library_command = repr(link_library_command),
|
|
||||||
name = repo_name,
|
name = repo_name,
|
||||||
includes = includes_param,
|
includes = includes_param,
|
||||||
remote_hdrs = remote_hdrs,
|
remote_hdrs = remote_hdrs,
|
||||||
link_remote_static_library_genrule = link_remote_static_library_genrule,
|
link_remote_static_lib_genrule = link_remote_static_lib_genrule,
|
||||||
link_remote_shared_library_genrule = link_remote_shared_library_genrule,
|
link_remote_shared_lib_genrule = link_remote_shared_lib_genrule,
|
||||||
remote_static_library = remote_static_library_param,
|
remote_static_library = remote_static_library_param,
|
||||||
remote_shared_library = remote_shared_library_param,
|
remote_shared_library = remote_shared_library_param,
|
||||||
),
|
),
|
||||||
|
|
|
@ -7,4 +7,4 @@ sh_test(
|
||||||
"@bazel_tools//tools/bash/runfiles",
|
"@bazel_tools//tools/bash/runfiles",
|
||||||
"//cc:system_library.bzl"
|
"//cc:system_library.bzl"
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
|
@ -798,4 +798,4 @@ function run_suite() {
|
||||||
} >&2
|
} >&2
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue