diff --git a/BUILD b/BUILD
index 2137a430..456aba24 100644
--- a/BUILD
+++ b/BUILD
@@ -12,4 +12,18 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Empty BUILD file, just to make this directory a Bazel package.
+load("@rules_license//rules:license.bzl", "license")
+
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
+license(
+  name = "package_license",
+  package_name = "bazel_rules_hdl",
+)
+
+licenses(["notice"])
+
+exports_files(["LICENSE"])
diff --git a/cocotb/BUILD b/cocotb/BUILD
index 0ee9e136..ed8a3a0e 100644
--- a/cocotb/BUILD
+++ b/cocotb/BUILD
@@ -14,6 +14,11 @@
 
 load("@rules_python//python:defs.bzl", "py_binary")
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 py_binary(
     name = "cocotb_wrapper",
     srcs = ["cocotb_wrapper.py"],
diff --git a/cocotb/tests/BUILD b/cocotb/tests/BUILD
index 3f262d08..15f73414 100644
--- a/cocotb/tests/BUILD
+++ b/cocotb/tests/BUILD
@@ -16,6 +16,11 @@ load("@rules_hdl_pip_deps//:requirements.bzl", "requirement")
 load("//cocotb:cocotb.bzl", "cocotb_test")
 load("//verilog:providers.bzl", "verilog_library")
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 verilog_library(
     name = "counter",
     srcs = ["counter.v"],
diff --git a/dependency_support/BUILD.bazel b/dependency_support/BUILD.bazel
index ef6e1aa9..67132578 100644
--- a/dependency_support/BUILD.bazel
+++ b/dependency_support/BUILD.bazel
@@ -16,6 +16,11 @@ load("@bazel_skylib//rules:diff_test.bzl", "diff_test")
 load("@bazel_skylib//rules:write_file.bzl", "write_file")
 load("@rules_python//python:pip.bzl", "compile_pip_requirements")
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 compile_pip_requirements(name = "pip_requirements")
 
 genrule(
diff --git a/dependency_support/at_clifford_icestorm/BUILD b/dependency_support/at_clifford_icestorm/BUILD
index df6f7f84..72eb4ac5 100644
--- a/dependency_support/at_clifford_icestorm/BUILD
+++ b/dependency_support/at_clifford_icestorm/BUILD
@@ -13,6 +13,8 @@
 # limitations under the License.
 
 package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
     licenses = ["notice"],  # Apache 2.0
 )
 
diff --git a/dependency_support/at_clifford_yosys/BUILD b/dependency_support/at_clifford_yosys/BUILD
index 4ef7cb54..3ae48ce2 100644
--- a/dependency_support/at_clifford_yosys/BUILD
+++ b/dependency_support/at_clifford_yosys/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Needed to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/bazel_skylib/BUILD b/dependency_support/bazel_skylib/BUILD
index b828b9c8..1e7f4e80 100644
--- a/dependency_support/bazel_skylib/BUILD
+++ b/dependency_support/bazel_skylib/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Required to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/boost/BUILD b/dependency_support/boost/BUILD
index 4ef7cb54..3ae48ce2 100644
--- a/dependency_support/boost/BUILD
+++ b/dependency_support/boost/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Needed to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/com_github_fmtlib_fmt/BUILD b/dependency_support/com_github_fmtlib_fmt/BUILD
index d46dbae5..1e7f4e80 100644
--- a/dependency_support/com_github_fmtlib_fmt/BUILD
+++ b/dependency_support/com_github_fmtlib_fmt/BUILD
@@ -11,3 +11,8 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/com_github_gabime_spdlog/BUILD b/dependency_support/com_github_gabime_spdlog/BUILD
index d46dbae5..1e7f4e80 100644
--- a/dependency_support/com_github_gabime_spdlog/BUILD
+++ b/dependency_support/com_github_gabime_spdlog/BUILD
@@ -11,3 +11,8 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/com_github_libbacktrace/BUILD b/dependency_support/com_github_libbacktrace/BUILD
index 9741b7dc..d7a3ff70 100644
--- a/dependency_support/com_github_libbacktrace/BUILD
+++ b/dependency_support/com_github_libbacktrace/BUILD
@@ -12,6 +12,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 exports_files([
     "config.h",
     "backtrace-supported.h",
diff --git a/dependency_support/com_github_ninja_build_ninja/BUILD b/dependency_support/com_github_ninja_build_ninja/BUILD
index d46dbae5..1e7f4e80 100644
--- a/dependency_support/com_github_ninja_build_ninja/BUILD
+++ b/dependency_support/com_github_ninja_build_ninja/BUILD
@@ -11,3 +11,8 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/com_github_quantamhd_lemon/BUILD b/dependency_support/com_github_quantamhd_lemon/BUILD
index b1ae1254..119a29cc 100644
--- a/dependency_support/com_github_quantamhd_lemon/BUILD
+++ b/dependency_support/com_github_quantamhd_lemon/BUILD
@@ -12,6 +12,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 exports_files([
     "config.h",
 ])
diff --git a/dependency_support/com_github_westes_flex/BUILD b/dependency_support/com_github_westes_flex/BUILD
index a8547aa7..f69c70b5 100644
--- a/dependency_support/com_github_westes_flex/BUILD
+++ b/dependency_support/com_github_westes_flex/BUILD
@@ -12,7 +12,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-licenses(["notice"])  # BSD
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
+licenses(["notice"])
 
 exports_files([
     "wc_test.sh",
diff --git a/dependency_support/com_github_yosyshq_nextpnr/BUILD b/dependency_support/com_github_yosyshq_nextpnr/BUILD
index 4ef7cb54..3ae48ce2 100644
--- a/dependency_support/com_github_yosyshq_nextpnr/BUILD
+++ b/dependency_support/com_github_yosyshq_nextpnr/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Needed to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/com_github_yosyshq_prjtrellis/BUILD b/dependency_support/com_github_yosyshq_prjtrellis/BUILD
index a642ca49..82a742b5 100644
--- a/dependency_support/com_github_yosyshq_prjtrellis/BUILD
+++ b/dependency_support/com_github_yosyshq_prjtrellis/BUILD
@@ -12,6 +12,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 licenses(["notice"])
 
 exports_files([
diff --git a/dependency_support/com_github_yosyshq_prjtrellis_db/BUILD b/dependency_support/com_github_yosyshq_prjtrellis_db/BUILD
index 882dc0a0..3ae48ce2 100644
--- a/dependency_support/com_github_yosyshq_prjtrellis_db/BUILD
+++ b/dependency_support/com_github_yosyshq_prjtrellis_db/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Required to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/com_google_absl/BUILD b/dependency_support/com_google_absl/BUILD
index 882dc0a0..3ae48ce2 100644
--- a/dependency_support/com_google_absl/BUILD
+++ b/dependency_support/com_google_absl/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Required to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/com_google_googletest/BUILD b/dependency_support/com_google_googletest/BUILD
index 882dc0a0..3ae48ce2 100644
--- a/dependency_support/com_google_googletest/BUILD
+++ b/dependency_support/com_google_googletest/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Required to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/com_google_ortools/BUILD b/dependency_support/com_google_ortools/BUILD
index b2e9de21..7c274bc4 100644
--- a/dependency_support/com_google_ortools/BUILD
+++ b/dependency_support/com_google_ortools/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Required to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/com_google_protobuf/BUILD b/dependency_support/com_google_protobuf/BUILD
index 882dc0a0..3ae48ce2 100644
--- a/dependency_support/com_google_protobuf/BUILD
+++ b/dependency_support/com_google_protobuf/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Required to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/com_google_skywater_pdk/BUILD b/dependency_support/com_google_skywater_pdk/BUILD
index ca4c1856..d976cae9 100644
--- a/dependency_support/com_google_skywater_pdk/BUILD
+++ b/dependency_support/com_google_skywater_pdk/BUILD
@@ -12,6 +12,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 licenses(["notice"])
 
 exports_files([
diff --git a/dependency_support/com_google_skywater_pdk/sky130_fd_sc_hd/BUILD b/dependency_support/com_google_skywater_pdk/sky130_fd_sc_hd/BUILD
index 3defa727..3c45c7a1 100644
--- a/dependency_support/com_google_skywater_pdk/sky130_fd_sc_hd/BUILD
+++ b/dependency_support/com_google_skywater_pdk/sky130_fd_sc_hd/BUILD
@@ -1,5 +1,10 @@
 load("//pdk:open_road_configuration.bzl", "open_road_pdk_configuration")
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 exports_files([
     "pdk.patch",
     "fill.json",  # Imported from OpenROAD-flow-scripts on 24.07.2023 at 6ec980e1d49a1a8dcdd1e25ed81255b4bb8285c8 from: https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/blob/6ec980e1d49a1a8dcdd1e25ed81255b4bb8285c8/flow/platforms/sky130hd/fill.json
diff --git a/dependency_support/com_icarus_iverilog/BUILD b/dependency_support/com_icarus_iverilog/BUILD
index 937bf34b..91691ba7 100644
--- a/dependency_support/com_icarus_iverilog/BUILD
+++ b/dependency_support/com_icarus_iverilog/BUILD
@@ -12,7 +12,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-licenses(["restricted"])  # GPLv2
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
+licenses(["restricted"])
 
 exports_files([
     "hello.v",
diff --git a/dependency_support/com_opencircuitdesign_magic/BUILD b/dependency_support/com_opencircuitdesign_magic/BUILD
index 8ed2e93a..b88888e6 100644
--- a/dependency_support/com_opencircuitdesign_magic/BUILD
+++ b/dependency_support/com_opencircuitdesign_magic/BUILD
@@ -12,6 +12,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 exports_files([
     "magic_version.c",
 ])
diff --git a/dependency_support/com_opencircuitdesign_netgen/BUILD b/dependency_support/com_opencircuitdesign_netgen/BUILD
index 882dc0a0..3ae48ce2 100644
--- a/dependency_support/com_opencircuitdesign_netgen/BUILD
+++ b/dependency_support/com_opencircuitdesign_netgen/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Required to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/dependency_support.bzl b/dependency_support/dependency_support.bzl
index cbc66ddd..0939f47e 100644
--- a/dependency_support/dependency_support.bzl
+++ b/dependency_support/dependency_support.bzl
@@ -62,6 +62,7 @@ load("@rules_hdl//dependency_support/org_theopenroadproject_asap7sc6t_26:org_the
 load("@rules_hdl//dependency_support/org_theopenroadproject_asap7sc7p5t_27:org_theopenroadproject_asap7sc7p5t_27.bzl", "org_theopenroadproject_asap7sc7p5t_27")
 load("@rules_hdl//dependency_support/org_theopenroadproject_asap7sc7p5t_28:org_theopenroadproject_asap7sc7p5t_28.bzl", "org_theopenroadproject_asap7sc7p5t_28")
 load("@rules_hdl//dependency_support/pybind11:pybind11.bzl", "pybind11")
+load("@rules_hdl//dependency_support/rules_license:rules_license.bzl", "rules_license")
 load("@rules_hdl//dependency_support/tk_tcl:tk_tcl.bzl", "tk_tcl")
 load("@rules_hdl//dependency_support/verilator:verilator.bzl", "verilator")
 
@@ -111,5 +112,6 @@ def dependency_support():
     org_theopenroadproject_asap7sc7p5t_27()
     org_theopenroadproject_asap7sc7p5t_28()
     pybind11()
+    rules_license()
     tk_tcl()
     verilator()
diff --git a/dependency_support/edu_berkeley_abc/BUILD b/dependency_support/edu_berkeley_abc/BUILD
index 882dc0a0..3ae48ce2 100644
--- a/dependency_support/edu_berkeley_abc/BUILD
+++ b/dependency_support/edu_berkeley_abc/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Required to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/embedded_python_interpreter/BUILD b/dependency_support/embedded_python_interpreter/BUILD
index 0b3a3ae5..81e730b2 100644
--- a/dependency_support/embedded_python_interpreter/BUILD
+++ b/dependency_support/embedded_python_interpreter/BUILD
@@ -15,6 +15,11 @@
 load("@rules_cc//cc:defs.bzl", "cc_import")
 load("@rules_python//python:defs.bzl", "py_binary")
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 py_binary(
     name = "print_libpython_path",
     srcs = ["print_libpython_path.py"],
diff --git a/dependency_support/net_invisible_island_ncurses/BUILD b/dependency_support/net_invisible_island_ncurses/BUILD
index f5360e11..309ffbbd 100644
--- a/dependency_support/net_invisible_island_ncurses/BUILD
+++ b/dependency_support/net_invisible_island_ncurses/BUILD
@@ -12,6 +12,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 licenses(["notice"])
 
 exports_files([
diff --git a/dependency_support/net_sourceforge_ngspice/BUILD b/dependency_support/net_sourceforge_ngspice/BUILD
index 882dc0a0..3ae48ce2 100644
--- a/dependency_support/net_sourceforge_ngspice/BUILD
+++ b/dependency_support/net_sourceforge_ngspice/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Required to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/net_zlib/BUILD b/dependency_support/net_zlib/BUILD
index 882dc0a0..3ae48ce2 100644
--- a/dependency_support/net_zlib/BUILD
+++ b/dependency_support/net_zlib/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Required to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/net_zlib/zlib/BUILD b/dependency_support/net_zlib/zlib/BUILD
index f957489a..baebefe2 100644
--- a/dependency_support/net_zlib/zlib/BUILD
+++ b/dependency_support/net_zlib/zlib/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Required to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/org_fftw/BUILD b/dependency_support/org_fftw/BUILD
index a1b7c0a9..319a8735 100644
--- a/dependency_support/org_fftw/BUILD
+++ b/dependency_support/org_fftw/BUILD
@@ -12,6 +12,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 exports_files([
     "link_test.cc",
 ])
diff --git a/dependency_support/org_gnu_bison/BUILD b/dependency_support/org_gnu_bison/BUILD
index 2da35c15..e40fd381 100644
--- a/dependency_support/org_gnu_bison/BUILD
+++ b/dependency_support/org_gnu_bison/BUILD
@@ -12,7 +12,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-licenses(["restricted"])  # GPLv3
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
+licenses(["restricted"])
 
 exports_files([
     "calc_test.sh",
diff --git a/dependency_support/org_gnu_glpk/BUILD b/dependency_support/org_gnu_glpk/BUILD
index 19b6858c..6daa3f7d 100644
--- a/dependency_support/org_gnu_glpk/BUILD
+++ b/dependency_support/org_gnu_glpk/BUILD
@@ -13,3 +13,7 @@
 # limitations under the License.
 
 # GLPK package
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/org_gnu_gnulib/BUILD b/dependency_support/org_gnu_gnulib/BUILD
index 46c515f8..7dc380d9 100644
--- a/dependency_support/org_gnu_gnulib/BUILD
+++ b/dependency_support/org_gnu_gnulib/BUILD
@@ -1,4 +1,9 @@
 # SPDX-License-Identifier: Apache-2.0
 # Copyright 2021 the rules_hdl authors
 
-licenses(["restricted"])  # GPL-2.0-or-later
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
+licenses(["restricted"])
diff --git a/dependency_support/org_gnu_gperf/BUILD b/dependency_support/org_gnu_gperf/BUILD
index e617bd6d..105537a7 100644
--- a/dependency_support/org_gnu_gperf/BUILD
+++ b/dependency_support/org_gnu_gperf/BUILD
@@ -12,4 +12,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-licenses(["restricted"])  # GPLv3
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
+licenses(["restricted"])
diff --git a/dependency_support/org_gnu_m4/BUILD b/dependency_support/org_gnu_m4/BUILD
index e617bd6d..105537a7 100644
--- a/dependency_support/org_gnu_m4/BUILD
+++ b/dependency_support/org_gnu_m4/BUILD
@@ -12,4 +12,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-licenses(["restricted"])  # GPLv3
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
+licenses(["restricted"])
diff --git a/dependency_support/org_gnu_readline/BUILD b/dependency_support/org_gnu_readline/BUILD
index 58d65e82..c2ce768f 100644
--- a/dependency_support/org_gnu_readline/BUILD
+++ b/dependency_support/org_gnu_readline/BUILD
@@ -12,6 +12,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 licenses(["notice"])
 
 exports_files([
diff --git a/dependency_support/org_llvm_openmp/BUILD b/dependency_support/org_llvm_openmp/BUILD
index c85c4fc3..9241aefa 100644
--- a/dependency_support/org_llvm_openmp/BUILD
+++ b/dependency_support/org_llvm_openmp/BUILD
@@ -12,6 +12,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 exports_files([
     "kmp_i18n_default.inc",
     "kmp_i18n_id.inc",
diff --git a/dependency_support/org_nixos_patchelf/BUILD b/dependency_support/org_nixos_patchelf/BUILD
index 882dc0a0..3ae48ce2 100644
--- a/dependency_support/org_nixos_patchelf/BUILD
+++ b/dependency_support/org_nixos_patchelf/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Required to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/org_pcre_ftp/BUILD b/dependency_support/org_pcre_ftp/BUILD
index 8ae8ebca..5b409a70 100644
--- a/dependency_support/org_pcre_ftp/BUILD
+++ b/dependency_support/org_pcre_ftp/BUILD
@@ -12,7 +12,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Required to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
 
 exports_files([
     "config.h",
diff --git a/dependency_support/org_sourceware_bzip2/BUILD b/dependency_support/org_sourceware_bzip2/BUILD
index 882dc0a0..3ae48ce2 100644
--- a/dependency_support/org_sourceware_bzip2/BUILD
+++ b/dependency_support/org_sourceware_bzip2/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Required to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/org_sourceware_libffi/BUILD b/dependency_support/org_sourceware_libffi/BUILD
index 4ef7cb54..3ae48ce2 100644
--- a/dependency_support/org_sourceware_libffi/BUILD
+++ b/dependency_support/org_sourceware_libffi/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Needed to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/org_swig/BUILD b/dependency_support/org_swig/BUILD
index 60484098..0d49685b 100644
--- a/dependency_support/org_swig/BUILD
+++ b/dependency_support/org_swig/BUILD
@@ -12,6 +12,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 exports_files([
     "swigconfig.h",
 ])
diff --git a/dependency_support/org_theopenroadproject/BUILD b/dependency_support/org_theopenroadproject/BUILD
index d46dbae5..1e7f4e80 100644
--- a/dependency_support/org_theopenroadproject/BUILD
+++ b/dependency_support/org_theopenroadproject/BUILD
@@ -11,3 +11,8 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/org_theopenroadproject_asap7_pdk_r1p7/BUILD b/dependency_support/org_theopenroadproject_asap7_pdk_r1p7/BUILD
index d664b872..dfdcaee3 100644
--- a/dependency_support/org_theopenroadproject_asap7_pdk_r1p7/BUILD
+++ b/dependency_support/org_theopenroadproject_asap7_pdk_r1p7/BUILD
@@ -12,6 +12,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 exports_files([
     "tracks.tcl",
     "rc_script.tcl",
diff --git a/dependency_support/org_theopenroadproject_asap7sc6t_26/BUILD b/dependency_support/org_theopenroadproject_asap7sc6t_26/BUILD
index 6d6d1266..85c85b07 100644
--- a/dependency_support/org_theopenroadproject_asap7sc6t_26/BUILD
+++ b/dependency_support/org_theopenroadproject_asap7sc6t_26/BUILD
@@ -11,3 +11,8 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/org_theopenroadproject_asap7sc7p5t_27/BUILD b/dependency_support/org_theopenroadproject_asap7sc7p5t_27/BUILD
index 6d6d1266..85c85b07 100644
--- a/dependency_support/org_theopenroadproject_asap7sc7p5t_27/BUILD
+++ b/dependency_support/org_theopenroadproject_asap7sc7p5t_27/BUILD
@@ -11,3 +11,8 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/org_theopenroadproject_asap7sc7p5t_28/BUILD b/dependency_support/org_theopenroadproject_asap7sc7p5t_28/BUILD
index 6d6d1266..85c85b07 100644
--- a/dependency_support/org_theopenroadproject_asap7sc7p5t_28/BUILD
+++ b/dependency_support/org_theopenroadproject_asap7sc7p5t_28/BUILD
@@ -11,3 +11,8 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/org_tuxfamily_eigen/BUILD b/dependency_support/org_tuxfamily_eigen/BUILD
index 882dc0a0..3ae48ce2 100644
--- a/dependency_support/org_tuxfamily_eigen/BUILD
+++ b/dependency_support/org_tuxfamily_eigen/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Required to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/pybind11/BUILD b/dependency_support/pybind11/BUILD
index 4ef7cb54..3ae48ce2 100644
--- a/dependency_support/pybind11/BUILD
+++ b/dependency_support/pybind11/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Needed to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/rules_license/BUILD b/dependency_support/rules_license/BUILD
new file mode 100644
index 00000000..1e7f4e80
--- /dev/null
+++ b/dependency_support/rules_license/BUILD
@@ -0,0 +1,18 @@
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/rules_license/rules_license.bzl b/dependency_support/rules_license/rules_license.bzl
new file mode 100644
index 00000000..de4aeb54
--- /dev/null
+++ b/dependency_support/rules_license/rules_license.bzl
@@ -0,0 +1,29 @@
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Loads the bazel-skylib utility library"""
+
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
+
+def rules_license():
+    maybe(
+        http_archive,
+        name = "rules_license",
+        urls = [
+            "https://github.com/bazelbuild/rules_license/releases/download/0.0.4/rules_license-0.0.4.tar.gz",
+	    "https://mirror.bazel.build/github.com/bazelbuild/rules_license/releases/download/0.0.4/rules_license-0.0.4.tar.gz",
+        ],
+        sha256 = "6157e1e68378532d0241ecd15d3c45f6e5cfd98fc10846045509fb2a7cc9e381",
+    )
diff --git a/dependency_support/tk_tcl/BUILD b/dependency_support/tk_tcl/BUILD
index 882dc0a0..3ae48ce2 100644
--- a/dependency_support/tk_tcl/BUILD
+++ b/dependency_support/tk_tcl/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Required to make this a package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/dependency_support/verilator/BUILD b/dependency_support/verilator/BUILD
index e69de29b..975dccae 100644
--- a/dependency_support/verilator/BUILD
+++ b/dependency_support/verilator/BUILD
@@ -0,0 +1,18 @@
+# Copyright 2023 bazel_rules_hdl Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/flows/BUILD.bazel b/flows/BUILD.bazel
index 2137a430..3ae48ce2 100644
--- a/flows/BUILD.bazel
+++ b/flows/BUILD.bazel
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Empty BUILD file, just to make this directory a Bazel package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/flows/analysis/BUILD.bazel b/flows/analysis/BUILD.bazel
index 43f5f0d4..263a7c5c 100644
--- a/flows/analysis/BUILD.bazel
+++ b/flows/analysis/BUILD.bazel
@@ -14,6 +14,11 @@
 
 load("//flows/analysis:build_defs.bzl", "analyze_rtl_binary")
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 analyze_rtl_binary(
     name = "critical_path_sky130",
     analysis_script = "critical_path.tcl",
diff --git a/flows/openroad/BUILD.bazel b/flows/openroad/BUILD.bazel
index 8ac777e7..68ce0418 100644
--- a/flows/openroad/BUILD.bazel
+++ b/flows/openroad/BUILD.bazel
@@ -13,3 +13,7 @@
 # limitations under the License.
 
 # Place and Route tool package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/flows/tests/BUILD.bazel b/flows/tests/BUILD.bazel
index 488453eb..d28c6a65 100644
--- a/flows/tests/BUILD.bazel
+++ b/flows/tests/BUILD.bazel
@@ -19,6 +19,11 @@ load("@bazel_skylib//rules:diff_test.bzl", "diff_test")
 load("//flows:flows.bzl", "flow_binary", "run_flow")
 load("//flows/openroad:build_defs.bzl", "openroad_step")
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 openroad_step(
     name = "hello_openroad",
     constants = ["name"],
diff --git a/flows/yosys/BUILD.bazel b/flows/yosys/BUILD.bazel
index 0257cf21..762be2ea 100644
--- a/flows/yosys/BUILD.bazel
+++ b/flows/yosys/BUILD.bazel
@@ -18,7 +18,10 @@ load("@rules_pkg//:pkg.bzl", "pkg_tar")
 load("//flows:flows.bzl", "flow_binary")
 load("//flows/yosys:build_defs.bzl", "yosys_synth_file_step")
 
-package(default_visibility = ["//flows:__subpackages__"])
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//flows:__subpackages__"],
+)
 
 exports_files(["synth.tcl"])
 
diff --git a/gds_write/BUILD b/gds_write/BUILD
index 13feb616..28684eb6 100644
--- a/gds_write/BUILD
+++ b/gds_write/BUILD
@@ -17,6 +17,11 @@
 load("@rules_hdl_pip_deps//:requirements.bzl", "requirement")
 load("@rules_python//python:defs.bzl", "py_binary")
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 py_binary(
     name = "def2stream",
     srcs = [
diff --git a/pdk/BUILD b/pdk/BUILD
index b8d5fffd..f4b6bd53 100644
--- a/pdk/BUILD
+++ b/pdk/BUILD
@@ -12,4 +12,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 exports_files(["build_defs.bzl"])
diff --git a/pdk/liberty/BUILD b/pdk/liberty/BUILD
index f37e8d26..909a1fd6 100644
--- a/pdk/liberty/BUILD
+++ b/pdk/liberty/BUILD
@@ -17,6 +17,11 @@
 load("@rules_hdl_pip_deps//:requirements.bzl", "requirement")
 load("@rules_python//python:defs.bzl", "py_binary", "py_library", "py_test")
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 py_binary(
     name = "combine_liberty",
     srcs = [
diff --git a/place_and_route/BUILD b/place_and_route/BUILD
index 52ff0acf..19adb5ab 100644
--- a/place_and_route/BUILD
+++ b/place_and_route/BUILD
@@ -12,10 +12,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Place and Route tool package.
-
 load("@rules_pkg//:pkg.bzl", "pkg_tar")
 
+# Place and Route tool package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 pkg_tar(
     name = "openroad",
     srcs = ["@org_theopenroadproject//:openroad"],
diff --git a/static_timing/BUILD b/static_timing/BUILD
index 0d494b01..4fbbb182 100644
--- a/static_timing/BUILD
+++ b/static_timing/BUILD
@@ -13,5 +13,9 @@
 # limitations under the License.
 
 # Static timing tool package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
 
 exports_files(["sta.tcl"])
diff --git a/synthesis/BUILD b/synthesis/BUILD
index 4d9bb8e2..739c70ea 100644
--- a/synthesis/BUILD
+++ b/synthesis/BUILD
@@ -16,6 +16,11 @@
 
 load("@rules_pkg//:pkg.bzl", "pkg_tar")
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 exports_files(["synth.tcl"])
 
 pkg_tar(
diff --git a/synthesis/tests/BUILD b/synthesis/tests/BUILD
index f931eee2..699807b3 100644
--- a/synthesis/tests/BUILD
+++ b/synthesis/tests/BUILD
@@ -20,6 +20,11 @@ load("//static_timing:build_defs.bzl", "run_opensta")
 load("//synthesis:build_defs.bzl", "synthesize_rtl")
 load("//verilog:providers.bzl", "verilog_library")
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 synthesize_rtl(
     name = "verilog_adder_synthesized",
     top_module = "adder",
diff --git a/toolchains/cpython/BUILD b/toolchains/cpython/BUILD
index a71609f3..a826f832 100644
--- a/toolchains/cpython/BUILD
+++ b/toolchains/cpython/BUILD
@@ -15,6 +15,11 @@
 load("@bazel_tools//tools/python:toolchain.bzl", "py_runtime_pair")
 load("@rules_python//python:defs.bzl", "py_runtime")
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 py_runtime(
     name = "cpython_runtime",
     files = ["@rules_hdl_cpython//:all"],
diff --git a/tools/BUILD b/tools/BUILD
index 74b5a4e6..845fd7cc 100644
--- a/tools/BUILD
+++ b/tools/BUILD
@@ -15,6 +15,11 @@
 load("@rules_hdl_pip_deps//:requirements.bzl", "requirement")
 load("@rules_python//python:defs.bzl", "py_binary")
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 py_binary(
     name = "report_status_to_github",
     srcs = ["report_status_to_github.py"],
diff --git a/verilator/BUILD.bazel b/verilator/BUILD.bazel
index e69de29b..975dccae 100644
--- a/verilator/BUILD.bazel
+++ b/verilator/BUILD.bazel
@@ -0,0 +1,18 @@
+# Copyright 2023 bazel_rules_hdl Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/verilator/tests/BUILD b/verilator/tests/BUILD
index e92ebcb4..3cdbbd86 100644
--- a/verilator/tests/BUILD
+++ b/verilator/tests/BUILD
@@ -1,6 +1,25 @@
+# Copyright 2023 bazel_rules_hdl Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 load("//verilator:defs.bzl", "verilator_cc_library")
 load("//verilog:providers.bzl", "verilog_library")
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 verilog_library(
     name = "adder",
     srcs = [
diff --git a/verilog/BUILD b/verilog/BUILD
index ff98900a..1e7f4e80 100644
--- a/verilog/BUILD
+++ b/verilog/BUILD
@@ -12,4 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Empty BUILD file, just to make this directory a Bazel package.
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
diff --git a/vivado/BUILD b/vivado/BUILD
index 3ff70798..1f849c42 100644
--- a/vivado/BUILD
+++ b/vivado/BUILD
@@ -1,3 +1,22 @@
+# Copyright 2023 bazel_rules_hdl Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 exports_files([
     "create_ip_block.tcl.template",
     "create_project.tcl.template",
diff --git a/vivado/tests/BUILD b/vivado/tests/BUILD
index 406216f7..4a92b1ba 100644
--- a/vivado/tests/BUILD
+++ b/vivado/tests/BUILD
@@ -1,3 +1,17 @@
+# Copyright 2023 bazel_rules_hdl Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 load("@rules_python//python:defs.bzl", "py_binary")
 load("//verilator:defs.bzl", "verilator_cc_library")
 load("//verilog:providers.bzl", "verilog_library")
@@ -9,6 +23,11 @@ load(
     "xsim_test",
 )
 
+package(
+    default_applicable_licenses = ["//:package_license"],
+    default_visibility = ["//visibility:private"],
+)
+
 verilog_library(
     name = "johnson_counter",
     srcs = [