Created
October 17, 2016 20:50
-
-
Save jart/427445a58ef2023113d955e8605cee0e to your computer and use it in GitHub Desktop.
SWIG Bazel BUILD
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
licenses(["restricted"]) # GPLv3 | |
exports_files(["LICENSE"]) | |
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/Include/swigconfig.h", | |
"Source/Include/swigwarn.h", | |
"Source/Modules/allocate.cxx", | |
"Source/Modules/browser.cxx", | |
"Source/Modules/contract.cxx", | |
"Source/Modules/directors.cxx", | |
"Source/Modules/emit.cxx", | |
"Source/Modules/lang.cxx", | |
"Source/Modules/main.cxx", | |
"Source/Modules/module.cxx", | |
"Source/Modules/nested.cxx", | |
"Source/Modules/overload.cxx", | |
"Source/Modules/python.cxx", | |
"Source/Modules/swigmain-lite.cxx", | |
"Source/Modules/swigmod.h", | |
"Source/Modules/typepass.cxx", | |
"Source/Modules/uffi.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)", | |
"-Iexternal/swig/Source/CParse", | |
"-Iexternal/swig/Source/DOH", | |
"-Iexternal/swig/Source/Include", | |
"-Iexternal/swig/Source/Modules", | |
"-Iexternal/swig/Source/Preprocessor", | |
"-Iexternal/swig/Source/Swig", | |
"-Wno-parentheses", | |
"-Wno-unused-variable", | |
"-fexceptions", | |
], | |
data = [":templates"], | |
includes = ["Source/Include"], # https://github.com/bazelbuild/bazel/issues/1950 | |
output_licenses = ["unencumbered"], | |
visibility = ["//visibility:public"], | |
deps = ["@pcre//:pcre"], | |
) | |
filegroup( | |
name = "templates", | |
srcs = [ | |
"Lib/allkw.swg", | |
"Lib/attribute.i", | |
"Lib/carrays.i", | |
"Lib/cdata.i", | |
"Lib/cffi/cffi.swg", | |
"Lib/cmalloc.i", | |
"Lib/constraints.i", | |
"Lib/cpointer.i", | |
"Lib/cstring.i", | |
"Lib/cwstring.i", | |
"Lib/exception.i", | |
"Lib/intrusive_ptr.i", | |
"Lib/inttypes.i", | |
"Lib/linkruntime.c", | |
"Lib/math.i", | |
"Lib/pointer.i", | |
"Lib/python/argcargv.i", | |
"Lib/python/attribute.i", | |
"Lib/python/boost_shared_ptr.i", | |
"Lib/python/builtin.swg", | |
"Lib/python/carrays.i", | |
"Lib/python/ccomplex.i", | |
"Lib/python/cdata.i", | |
"Lib/python/cmalloc.i", | |
"Lib/python/cni.i", | |
"Lib/python/complex.i", | |
"Lib/python/cpointer.i", | |
"Lib/python/cstring.i", | |
"Lib/python/cwstring.i", | |
"Lib/python/defarg.swg", | |
"Lib/python/director.swg", | |
"Lib/python/embed.i", | |
"Lib/python/embed15.i", | |
"Lib/python/exception.i", | |
"Lib/python/factory.i", | |
"Lib/python/file.i", | |
"Lib/python/implicit.i", | |
"Lib/python/jstring.i", | |
"Lib/python/pyabc.i", | |
"Lib/python/pyapi.swg", | |
"Lib/python/pybackward.swg", | |
"Lib/python/pybuffer.i", | |
"Lib/python/pyclasses.swg", | |
"Lib/python/pycomplex.swg", | |
"Lib/python/pycontainer.swg", | |
"Lib/python/pydocs.swg", | |
"Lib/python/pyerrors.swg", | |
"Lib/python/pyfragments.swg", | |
"Lib/python/pyhead.swg", | |
"Lib/python/pyinit.swg", | |
"Lib/python/pyiterators.swg", | |
"Lib/python/pymacros.swg", | |
"Lib/python/pyname_compat.i", | |
"Lib/python/pyopers.swg", | |
"Lib/python/pyprimtypes.swg", | |
"Lib/python/pyrun.swg", | |
"Lib/python/pyruntime.swg", | |
"Lib/python/pystdcommon.swg", | |
"Lib/python/pystrings.swg", | |
"Lib/python/python.swg", | |
"Lib/python/pythonkw.swg", | |
"Lib/python/pythreads.swg", | |
"Lib/python/pytuplehlp.swg", | |
"Lib/python/pytypemaps.swg", | |
"Lib/python/pyuserdir.swg", | |
"Lib/python/pywstrings.swg", | |
"Lib/python/std_alloc.i", | |
"Lib/python/std_auto_ptr.i", | |
"Lib/python/std_basic_string.i", | |
"Lib/python/std_carray.i", | |
"Lib/python/std_char_traits.i", | |
"Lib/python/std_common.i", | |
"Lib/python/std_complex.i", | |
"Lib/python/std_container.i", | |
"Lib/python/std_deque.i", | |
"Lib/python/std_except.i", | |
"Lib/python/std_ios.i", | |
"Lib/python/std_iostream.i", | |
"Lib/python/std_list.i", | |
"Lib/python/std_map.i", | |
"Lib/python/std_multimap.i", | |
"Lib/python/std_multiset.i", | |
"Lib/python/std_pair.i", | |
"Lib/python/std_set.i", | |
"Lib/python/std_shared_ptr.i", | |
"Lib/python/std_sstream.i", | |
"Lib/python/std_streambuf.i", | |
"Lib/python/std_string.i", | |
"Lib/python/std_unordered_map.i", | |
"Lib/python/std_unordered_multimap.i", | |
"Lib/python/std_unordered_multiset.i", | |
"Lib/python/std_unordered_set.i", | |
"Lib/python/std_vector.i", | |
"Lib/python/std_vectora.i", | |
"Lib/python/std_wios.i", | |
"Lib/python/std_wiostream.i", | |
"Lib/python/std_wsstream.i", | |
"Lib/python/std_wstreambuf.i", | |
"Lib/python/std_wstring.i", | |
"Lib/python/stl.i", | |
"Lib/python/typemaps.i", | |
"Lib/python/wchar.i", | |
"Lib/runtime.swg", | |
"Lib/shared_ptr.i", | |
"Lib/std/_std_deque.i", | |
"Lib/std/std_alloc.i", | |
"Lib/std/std_basic_string.i", | |
"Lib/std/std_carray.swg", | |
"Lib/std/std_char_traits.i", | |
"Lib/std/std_common.i", | |
"Lib/std/std_container.i", | |
"Lib/std/std_deque.i", | |
"Lib/std/std_except.i", | |
"Lib/std/std_ios.i", | |
"Lib/std/std_iostream.i", | |
"Lib/std/std_list.i", | |
"Lib/std/std_map.i", | |
"Lib/std/std_multimap.i", | |
"Lib/std/std_multiset.i", | |
"Lib/std/std_pair.i", | |
"Lib/std/std_queue.i", | |
"Lib/std/std_set.i", | |
"Lib/std/std_sstream.i", | |
"Lib/std/std_stack.i", | |
"Lib/std/std_streambuf.i", | |
"Lib/std/std_string.i", | |
"Lib/std/std_unordered_map.i", | |
"Lib/std/std_unordered_multimap.i", | |
"Lib/std/std_unordered_multiset.i", | |
"Lib/std/std_unordered_set.i", | |
"Lib/std/std_vector.i", | |
"Lib/std/std_vectora.i", | |
"Lib/std/std_wios.i", | |
"Lib/std/std_wiostream.i", | |
"Lib/std/std_wsstream.i", | |
"Lib/std/std_wstreambuf.i", | |
"Lib/std/std_wstring.i", | |
"Lib/std_except.i", | |
"Lib/stdint.i", | |
"Lib/stl.i", | |
"Lib/swig.swg", | |
"Lib/swigarch.i", | |
"Lib/swigerrors.swg", | |
"Lib/swiginit.swg", | |
"Lib/swiglabels.swg", | |
"Lib/swigrun.i", | |
"Lib/swigrun.swg", | |
"Lib/swigwarn.swg", | |
"Lib/swigwarnings.swg", | |
"Lib/typemaps/attribute.swg", | |
"Lib/typemaps/carrays.swg", | |
"Lib/typemaps/cdata.swg", | |
"Lib/typemaps/cmalloc.swg", | |
"Lib/typemaps/cpointer.swg", | |
"Lib/typemaps/cstring.swg", | |
"Lib/typemaps/cstrings.swg", | |
"Lib/typemaps/cwstring.swg", | |
"Lib/typemaps/enumint.swg", | |
"Lib/typemaps/exception.swg", | |
"Lib/typemaps/factory.swg", | |
"Lib/typemaps/fragments.swg", | |
"Lib/typemaps/implicit.swg", | |
"Lib/typemaps/inoutlist.swg", | |
"Lib/typemaps/misctypes.swg", | |
"Lib/typemaps/primtypes.swg", | |
"Lib/typemaps/ptrtypes.swg", | |
"Lib/typemaps/std_except.swg", | |
"Lib/typemaps/std_string.swg", | |
"Lib/typemaps/std_strings.swg", | |
"Lib/typemaps/std_wstring.swg", | |
"Lib/typemaps/string.swg", | |
"Lib/typemaps/strings.swg", | |
"Lib/typemaps/swigmacros.swg", | |
"Lib/typemaps/swigobject.swg", | |
"Lib/typemaps/swigtype.swg", | |
"Lib/typemaps/swigtypemaps.swg", | |
"Lib/typemaps/traits.swg", | |
"Lib/typemaps/typemaps.swg", | |
"Lib/typemaps/valtypes.swg", | |
"Lib/typemaps/void.swg", | |
"Lib/typemaps/wstring.swg", | |
"Lib/wchar.i", | |
"Lib/windows.i", | |
], | |
licenses = ["notice"], # simple notice license for Lib/ | |
path = "Lib", | |
visibility = ["//visibility:public"], | |
) | |
genrule( | |
name = "swigconfig", | |
outs = ["Source/Include/swigconfig.h"], | |
cmd = "cat <<EOF >$@\n" + | |
"#define HAVE_BOOL\n" + | |
"#define HAVE_PCRE\n" + | |
"#define HAVE_POPEN\n" + | |
"#define PACKAGE_BUGREPORT \"http://www.swig.org\"\n" + | |
"#define PACKAGE_VERSION \"3.0.2\"\n" + | |
"#define STDC_HEADERS\n" + | |
"#define SWIG_CXX \"bazel4lyfe\"\n" + | |
"#define SWIG_LIB \"external/swig/Lib\"\n" + | |
"#define SWIG_LIB_WIN_UNIX \"\"\n" + | |
"#define SWIG_PLATFORM \"bazel4lyfe\"\n" + | |
"EOF", | |
) | |
genrule( | |
name = "get_rid_of_stuff_we_dont_need_yet", | |
srcs = ["Source/Modules/swigmain.cxx"], | |
outs = ["Source/Modules/swigmain-lite.cxx"], | |
cmd = "sed -e '/swig_allegrocl/d'" + | |
" -e '/swig_cffi/d'" + | |
" -e '/swig_chicken/d'" + | |
" -e '/swig_clisp/d'" + | |
" -e '/swig_csharp/d'" + | |
" -e '/swig_d/d'" + | |
" -e '/swig_go/d'" + | |
" -e '/swig_guile/d'" + | |
" -e '/swig_java/d'" + | |
" -e '/swig_lua/d'" + | |
" -e '/swig_modula3/d'" + | |
" -e '/swig_mzscheme/d'" + | |
" -e '/swig_ocaml/d'" + | |
" -e '/swig_octave/d'" + | |
" -e '/swig_perl/d'" + | |
" -e '/swig_php/d'" + | |
" -e '/swig_pike/d'" + | |
" -e '/swig_r/d'" + | |
" -e '/swig_ruby/d'" + | |
" -e '/swig_sexp/d'" + | |
" -e '/swig_tcl/d'" + | |
" -e '/swig_uffi/d'" + | |
" $< >$@", | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment