Skip to content

Commit

Permalink
add swig 4.3.0; fix invalid filegroup field in BUILD file, support ba…
Browse files Browse the repository at this point in the history
…zel 8.0 (#3403)

This PR has been tested with a git override in OR-Tools.

bump swig to 4.3.0

remove 'path' field in the filegroup BUILD entries

Split configure.patch into one patch per file

Add presubmit test for bazel 8

Please add: 
@bazel-io skip_check unstable_url
  • Loading branch information
lperron authored Dec 13, 2024
1 parent 919d1e9 commit 4cf2b02
Show file tree
Hide file tree
Showing 10 changed files with 14,297 additions and 1 deletion.
8 changes: 8 additions & 0 deletions modules/swig/4.3.0/MODULE.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
module(
name = "swig",
version = "4.3.0",
compatibility_level = 0,
)

bazel_dep(name = "pcre2", version = "10.43")
bazel_dep(name = "platforms", version = "0.0.10")
181 changes: 181 additions & 0 deletions modules/swig/4.3.0/patches/add_build.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
diff --git a/BUILD b/BUILD
new file mode 100644
index 000000000..a2b99dc83
--- /dev/null
+++ b/BUILD
@@ -0,0 +1,163 @@
+# Copyright 2010-2024 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.
+
+licenses(["restricted"]) # GPLv3
+
+exports_files(["LICENSE"])
+
+config_setting(
+ name = "on_windows",
+ constraint_values = ["@platforms//os:windows"],
+)
+
+cc_binary(
+ name = "swig",
+ srcs = [
+ "Source/CParse/cparse.h",
+ "Source/CParse/cscanner.c",
+ "Source/CParse/parser.c",
+ "Source/CParse/parser.h",
+ "Source/CParse/templ.c",
+ "Source/CParse/util.c",
+ "Source/DOH/base.c",
+ "Source/DOH/doh.h",
+ "Source/DOH/dohint.h",
+ "Source/DOH/file.c",
+ "Source/DOH/fio.c",
+ "Source/DOH/hash.c",
+ "Source/DOH/list.c",
+ "Source/DOH/memory.c",
+ "Source/DOH/string.c",
+ "Source/DOH/void.c",
+ "Source/Doxygen/csharpdoc.cxx",
+ "Source/Doxygen/csharpdoc.h",
+ "Source/Doxygen/doxycommands.h",
+ "Source/Doxygen/doxyentity.cxx",
+ "Source/Doxygen/doxyentity.h",
+ "Source/Doxygen/doxyparser.cxx",
+ "Source/Doxygen/doxyparser.h",
+ "Source/Doxygen/doxytranslator.cxx",
+ "Source/Doxygen/doxytranslator.h",
+ "Source/Doxygen/javadoc.cxx",
+ "Source/Doxygen/javadoc.h",
+ "Source/Doxygen/pydoc.cxx",
+ "Source/Doxygen/pydoc.h",
+ "Source/Include/swigconfig.h",
+ "Source/Include/swigwarn.h",
+ "Source/Modules/allocate.cxx",
+ "Source/Modules/c.cxx",
+ "Source/Modules/contract.cxx",
+ "Source/Modules/csharp.cxx",
+ "Source/Modules/d.cxx",
+ "Source/Modules/directors.cxx",
+ "Source/Modules/emit.cxx",
+ "Source/Modules/go.cxx",
+ "Source/Modules/guile.cxx",
+ "Source/Modules/interface.cxx",
+ "Source/Modules/java.cxx",
+ "Source/Modules/javascript.cxx",
+ "Source/Modules/lang.cxx",
+ "Source/Modules/lua.cxx",
+ "Source/Modules/main.cxx",
+ "Source/Modules/mzscheme.cxx",
+ "Source/Modules/nested.cxx",
+ "Source/Modules/ocaml.cxx",
+ "Source/Modules/octave.cxx",
+ "Source/Modules/overload.cxx",
+ "Source/Modules/perl5.cxx",
+ "Source/Modules/php.cxx",
+ "Source/Modules/python.cxx",
+ "Source/Modules/r.cxx",
+ "Source/Modules/ruby.cxx",
+ "Source/Modules/scilab.cxx",
+ "Source/Modules/swigmain.cxx",
+ "Source/Modules/swigmod.h",
+ "Source/Modules/tcl8.cxx",
+ "Source/Modules/typepass.cxx",
+ "Source/Modules/utils.cxx",
+ "Source/Modules/xml.cxx",
+ "Source/Preprocessor/cpp.c",
+ "Source/Preprocessor/expr.c",
+ "Source/Preprocessor/preprocessor.h",
+ "Source/Swig/cwrap.c",
+ "Source/Swig/deprecate.c",
+ "Source/Swig/error.c",
+ "Source/Swig/extend.c",
+ "Source/Swig/fragment.c",
+ "Source/Swig/getopt.c",
+ "Source/Swig/include.c",
+ "Source/Swig/misc.c",
+ "Source/Swig/naming.c",
+ "Source/Swig/parms.c",
+ "Source/Swig/scanner.c",
+ "Source/Swig/stype.c",
+ "Source/Swig/swig.h",
+ "Source/Swig/swigfile.h",
+ "Source/Swig/swigopt.h",
+ "Source/Swig/swigparm.h",
+ "Source/Swig/swigscan.h",
+ "Source/Swig/swigtree.h",
+ "Source/Swig/swigwrap.h",
+ "Source/Swig/symbol.c",
+ "Source/Swig/tree.c",
+ "Source/Swig/typemap.c",
+ "Source/Swig/typeobj.c",
+ "Source/Swig/typesys.c",
+ "Source/Swig/wrapfunc.c",
+ ],
+ copts = ["$(STACK_FRAME_UNLIMITED)"] + select({
+ "on_windows": [],
+ "//conditions:default": [
+ "-Wno-parentheses",
+ "-Wno-unused-variable",
+ "-fexceptions",
+ ],
+ }),
+ includes = [
+ "Source/CParse",
+ "Source/DOH",
+ "Source/Doxygen",
+ "Source/Include",
+ "Source/Modules",
+ "Source/Preprocessor",
+ "Source/Swig",
+ ],
+ output_licenses = ["unencumbered"],
+ visibility = ["//visibility:public"],
+ deps = ["@pcre2"],
+)
+
+filegroup(
+ name = "lib_java",
+ srcs = glob([
+ "Lib/*",
+ "Lib/java/*",
+ "Lib/std/*",
+ "Lib/typemaps/*",
+ ]),
+ licenses = ["notice"], # simple notice license for Lib/
+ visibility = ["//visibility:public"],
+)
+
+filegroup(
+ name = "lib_python",
+ srcs = glob([
+ "Lib/*",
+ "Lib/python/*",
+ "Lib/std/*",
+ "Lib/typemaps/*",
+ ]),
+ licenses = ["notice"], # simple notice license for Lib/
+ visibility = ["//visibility:public"],
+)
+
+filegroup(
+ name = "lib_csharp",
+ srcs = glob([
+ "Lib/*",
+ "Lib/csharp/*",
+ "Lib/std/*",
+ "Lib/typemaps/*",
+ ]),
+ licenses = ["notice"], # simple notice license for Lib/
+ visibility = ["//visibility:public"],
+)
+
Loading

0 comments on commit 4cf2b02

Please sign in to comment.