From cc4ad7e22b6989ee3b4df506fea87d8f451bf5b1 Mon Sep 17 00:00:00 2001 From: Andre Brisco Date: Mon, 5 Aug 2024 17:51:21 -0700 Subject: [PATCH] Added incompatibility flag to prepare for flip in future Bazel versions --- .bazelrc | 7 +++++++ .../at_clifford_yosys/bundled.BUILD.bazel | 1 - .../bundled.BUILD.bazel | 9 --------- .../com_github_quantamhd_lemon/bundled.BUILD.bazel | 4 +--- .../com_google_ortools/com_google_ortools.bzl | 5 +++++ dependency_support/com_google_ortools/scip.patch | 12 ++++++++++++ .../bundled.BUILD.bazel | 3 --- dependency_support/org_fftw/bundled.BUILD.bazel | 6 ------ .../org_gnu_bison/bison_empty_glob.patch | 13 +++++++++++++ dependency_support/org_gnu_bison/org_gnu_bison.bzl | 5 +++++ .../org_theopenroadproject/bundled.BUILD.bazel | 5 ++--- .../org_theopenroadproject.bzl | 3 +++ .../bundled.BUILD.bazel | 1 + 13 files changed, 49 insertions(+), 25 deletions(-) create mode 100644 dependency_support/com_google_ortools/scip.patch create mode 100644 dependency_support/org_gnu_bison/bison_empty_glob.patch diff --git a/.bazelrc b/.bazelrc index f104dd20..7b5a438b 100644 --- a/.bazelrc +++ b/.bazelrc @@ -38,6 +38,13 @@ test:ciremotebuild --tls_client_key=/root/.ssh/buildbuddy-key.pem test:ciremotebuild --build_metadata=VISIBILITY=PUBLIC test:ciremotebuild --remote_timeout=3600 +############################################################################### +## Incompatibility flags +############################################################################### + +# https://github.com/bazelbuild/bazel/issues/8195 +build --incompatible_disallow_empty_glob=true + ############################################################################### ## User flags ############################################################################### diff --git a/dependency_support/at_clifford_yosys/bundled.BUILD.bazel b/dependency_support/at_clifford_yosys/bundled.BUILD.bazel index 7363bedb..7acc00c2 100644 --- a/dependency_support/at_clifford_yosys/bundled.BUILD.bazel +++ b/dependency_support/at_clifford_yosys/bundled.BUILD.bazel @@ -173,7 +173,6 @@ cc_library( "backends/**/*.h", "frontends/**/*.h", "passes/**/*.h", - "techlibs/**/*.h", ], exclude = [ "backends/protobuf/*.h", diff --git a/dependency_support/com_github_ninja_build_ninja/bundled.BUILD.bazel b/dependency_support/com_github_ninja_build_ninja/bundled.BUILD.bazel index 06d589e3..d093ff1a 100644 --- a/dependency_support/com_github_ninja_build_ninja/bundled.BUILD.bazel +++ b/dependency_support/com_github_ninja_build_ninja/bundled.BUILD.bazel @@ -58,12 +58,3 @@ cc_binary( ], visibility = ["//visibility:public"], ) - -# Expose prebuilt binaries for opensourced projects that require them to build. -filegroup( - name = "ninja_binaries", - srcs = glob(["files/bin/**"]) + [ - "README.md", - ], - visibility = ["//visibility:public"], -) \ No newline at end of file diff --git a/dependency_support/com_github_quantamhd_lemon/bundled.BUILD.bazel b/dependency_support/com_github_quantamhd_lemon/bundled.BUILD.bazel index 0ff24c7f..54b0deeb 100644 --- a/dependency_support/com_github_quantamhd_lemon/bundled.BUILD.bazel +++ b/dependency_support/com_github_quantamhd_lemon/bundled.BUILD.bazel @@ -35,9 +35,7 @@ genrule( cc_library( name = "lemon", - srcs = glob([ - "lemon/*.c", - ]) + [ + srcs = [ "lemon/arg_parser.cc", "lemon/random.cc", "lemon/base.cc", diff --git a/dependency_support/com_google_ortools/com_google_ortools.bzl b/dependency_support/com_google_ortools/com_google_ortools.bzl index c8aef8a3..71db7fd1 100644 --- a/dependency_support/com_google_ortools/com_google_ortools.bzl +++ b/dependency_support/com_google_ortools/com_google_ortools.bzl @@ -25,6 +25,11 @@ def com_google_ortools(): strip_prefix = "or-tools-9.7", urls = ["https://github.com/google/or-tools/archive/refs/tags/v9.7.tar.gz"], sha256 = "054d9517fc6c83f15150c93ef1c2c674ffd7d4a0d1fdc78f6ef8bc3e25c2e339", + patch_args = ["-p1"], + patches = [ + # TODO: Newer versions of ortools should not need this patch + Label("//dependency_support/com_google_ortools:scip.patch"), + ], ) maybe( new_git_repository, diff --git a/dependency_support/com_google_ortools/scip.patch b/dependency_support/com_google_ortools/scip.patch new file mode 100644 index 00000000..e3b8b97a --- /dev/null +++ b/dependency_support/com_google_ortools/scip.patch @@ -0,0 +1,12 @@ +diff --git a/bazel/scip.BUILD b/bazel/scip.BUILD +index a0e1c17b5b..a516de7617 100644 +--- a/bazel/scip.BUILD ++++ b/bazel/scip.BUILD +@@ -82,7 +82,6 @@ cc_library( + "src/*/*.hpp", + "src/scip/githash.c", + "src/scip/sorttpl.c", +- "src/scip/buildflags.c", + ], + exclude = + [ diff --git a/dependency_support/net_invisible_island_ncurses/bundled.BUILD.bazel b/dependency_support/net_invisible_island_ncurses/bundled.BUILD.bazel index d4d3d2fe..7aba2a52 100644 --- a/dependency_support/net_invisible_island_ncurses/bundled.BUILD.bazel +++ b/dependency_support/net_invisible_island_ncurses/bundled.BUILD.bazel @@ -118,7 +118,6 @@ cc_library( "ncurses/tinfo/*.c", "ncurses/trace/*.c", "ncurses/tty/*.c", - "build_sources/*.c", ], exclude = glob([ "ncurses/base/lib_driver.c", @@ -127,8 +126,6 @@ cc_library( "ncurses/tinfo/tinfo_driver.c", "ncurses/tinfo/make_hash.c", "ncurses/report_offsets.c", - "ncurses/*_test.c", - "build_sources/*_test.c", ]), ) + [ # Generated files are not found by glob. diff --git a/dependency_support/org_fftw/bundled.BUILD.bazel b/dependency_support/org_fftw/bundled.BUILD.bazel index 28ee479a..1bce5b09 100644 --- a/dependency_support/org_fftw/bundled.BUILD.bazel +++ b/dependency_support/org_fftw/bundled.BUILD.bazel @@ -113,14 +113,11 @@ filegroup( [ "api/*.c", "api/*.h", - "cell/*.c", - "cell/*.h", "dft/*.c", "dft/*.h", "dft/scalar/*.c", "dft/scalar/*.h", "dft/scalar/*/*.c", - "dft/scalar/*/*.h", "kernel/*.c", "kernel/*.h", "rdft/*.c", @@ -128,7 +125,6 @@ filegroup( "rdft/scalar/*.c", "rdft/scalar/*.h", "rdft/scalar/*/*.c", - "rdft/scalar/*/*.h", "reodft/*.c", "reodft/*.h", ], @@ -220,9 +216,7 @@ fftw_arch_copts = select({ filegroup( name = "fftw_extra_simd_srcs", srcs = glob([ - "dft/simd/*.c", "dft/simd/*.h", - "rdft/simd/*.c", "rdft/simd/*.h", "simd-support/*.c", "simd-support/*.h", diff --git a/dependency_support/org_gnu_bison/bison_empty_glob.patch b/dependency_support/org_gnu_bison/bison_empty_glob.patch new file mode 100644 index 00000000..a6f191d9 --- /dev/null +++ b/dependency_support/org_gnu_bison/bison_empty_glob.patch @@ -0,0 +1,13 @@ +diff --git a/bison/internal/gnulib/gnulib.BUILD b/bison/internal/gnulib/gnulib.BUILD +index 9ee0b51..84fcf5e 100644 +--- a/bison/internal/gnulib/gnulib.BUILD ++++ b/bison/internal/gnulib/gnulib.BUILD +@@ -118,7 +118,7 @@ _GNULIB_SRCS = glob([ + "lib/xmalloc.c", + "lib/xmemdup0.c", + "lib/xstrndup.c", +-]) ++], allow_empty = True) + + _GNULIB_DARWIN_SRCS = [] + diff --git a/dependency_support/org_gnu_bison/org_gnu_bison.bzl b/dependency_support/org_gnu_bison/org_gnu_bison.bzl index 4722e24f..ef478454 100644 --- a/dependency_support/org_gnu_bison/org_gnu_bison.bzl +++ b/dependency_support/org_gnu_bison/org_gnu_bison.bzl @@ -30,4 +30,9 @@ def org_gnu_bison(): name = "rules_bison", sha256 = "2279183430e438b2dc77cacd7b1dbb63438971b2411406570f1ddd920b7c9145", urls = ["https://github.com/jmillikin/rules_bison/releases/download/v0.2.2/rules_bison-v0.2.2.tar.xz"], + patch_args = ["-p1"], + patches = [ + # TODO(https://github.com/jmillikin/rules_bison/pull/14): Delete after this PR is merged + Label("//dependency_support/org_gnu_bison:bison_empty_glob.patch"), + ], ) diff --git a/dependency_support/org_theopenroadproject/bundled.BUILD.bazel b/dependency_support/org_theopenroadproject/bundled.BUILD.bazel index d01148e7..eaa26f24 100644 --- a/dependency_support/org_theopenroadproject/bundled.BUILD.bazel +++ b/dependency_support/org_theopenroadproject/bundled.BUILD.bazel @@ -92,6 +92,7 @@ cc_library( "src/gui/src/stub_heatMap.cpp", ], exclude = OPENROAD_LIBRARY_SRCS_EXCLUDE, + allow_empty = True, ) + [ "src/stt/src/flt/etc/POST9.cpp", "src/stt/src/flt/etc/POWV9.cpp", @@ -122,6 +123,7 @@ cc_library( "src/gui/src/stub_heatMap.cpp", ], exclude = OPENROAD_LIBRARY_SRCS_EXCLUDE, + allow_empty = True, ) + [ "src/stt/src/flt/etc/POST9.cpp", "src/stt/src/flt/etc/POWV9.cpp", @@ -968,7 +970,6 @@ cc_library( "src/odb/src/db/*.h", "src/odb/src/db/*.hpp", "src/odb/src/zutil/*.cpp", - "src/odb/src/zlib/*.cpp", "src/odb/src/defout/*.cpp", "src/odb/src/defout/*.h", "src/odb/src/defin/*.cpp", @@ -976,8 +977,6 @@ cc_library( "src/odb/src/lefin/*.cpp", "src/odb/src/lefin/*.h", "src/odb/src/lefout/*.cpp", - "src/odb/src/lefout/*.h", - "src/odb/src/tm/*.cpp", ]), hdrs = glob([ "src/odb/include/odb/*.h", diff --git a/dependency_support/org_theopenroadproject/org_theopenroadproject.bzl b/dependency_support/org_theopenroadproject/org_theopenroadproject.bzl index bdd8f5ee..36a9cccf 100644 --- a/dependency_support/org_theopenroadproject/org_theopenroadproject.bzl +++ b/dependency_support/org_theopenroadproject/org_theopenroadproject.bzl @@ -22,6 +22,9 @@ def org_theopenroadproject(): new_git_repository, name = "org_theopenroadproject", commit = "f6da0454e350e93c62264f7b7c95029e1ad2b9fd", + # TODO: Convert to http_archive whenever there is an archive + # which contains submodules. + # https://github.com/dear-github/dear-github/issues/214 init_submodules = True, remote = "https://github.com/The-OpenROAD-Project/OpenROAD.git", build_file = Label("@rules_hdl//dependency_support/org_theopenroadproject:bundled.BUILD.bazel"), diff --git a/dependency_support/org_theopenroadproject_asap7sc7p5t_27/bundled.BUILD.bazel b/dependency_support/org_theopenroadproject_asap7sc7p5t_27/bundled.BUILD.bazel index bd563c50..f7487a67 100644 --- a/dependency_support/org_theopenroadproject_asap7sc7p5t_27/bundled.BUILD.bazel +++ b/dependency_support/org_theopenroadproject_asap7sc7p5t_27/bundled.BUILD.bazel @@ -364,6 +364,7 @@ asap7_srams_files( name = "asap7-srams-sc7p5t_rev27", rev = "27", tracks = "7p5t", + has_gds = False, ) # FIXME: Where is the 1x techlef?