Added copyright header and docs for python_headers().

pull/13171/head
Joshua Haberman 3 years ago
parent a086aafb6c
commit 5d8c3db94f
  1. 44
      bazel/workspace_defs.bzl
  2. 3
      cmake/make_cmakelists.py

@ -1,3 +1,29 @@
# Copyright (c) 2009-2021, Google LLC
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of Google LLC nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
"""Repository rule for using Python 3.x headers from the system."""
_build_file = """ _build_file = """
cc_library( cc_library(
@ -21,7 +47,23 @@ def _python_headers_impl(repository_ctx):
repository_ctx.symlink(path, "python") repository_ctx.symlink(path, "python")
repository_ctx.file("BUILD.bazel", _build_file) repository_ctx.file("BUILD.bazel", _build_file)
# The python_headers() repository rule exposes Python headers from the system.
#
# In WORKSPACE:
# python_headers(
# name = "python_headers_repo",
# )
#
# This repository exposes a single rule that you can depend on from BUILD:
# cc_library(
# name = "foobar",
# srcs = ["foobar.cc"],
# deps = ["@python_headers_repo//:python_headers"],
# )
#
# The headers will be from any version of Python >=3.6. This is intended for
# use with the Python "limited API," which only exposes symbols that are ABI
# compatible from version to version.
python_headers = repository_rule( python_headers = repository_rule(
implementation = _python_headers_impl, implementation = _python_headers_impl,
local = True, local = True,

@ -220,6 +220,9 @@ class WorkspaceFileFunctions(object):
def rules_fuzzing_init(self): def rules_fuzzing_init(self):
pass pass
def python_headers(self, **kwargs):
pass
class Converter(object): class Converter(object):
def __init__(self): def __init__(self):

Loading…
Cancel
Save