github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/third_party/swig.BUILD (about)

     1  licenses(["restricted"])  # GPLv3
     2  
     3  exports_files(["LICENSE"])
     4  
     5  cc_binary(
     6      name = "swig",
     7      srcs = [
     8          "Source/CParse/cparse.h",
     9          "Source/CParse/cscanner.c",
    10          "Source/CParse/parser.c",
    11          "Source/CParse/parser.h",
    12          "Source/CParse/templ.c",
    13          "Source/CParse/util.c",
    14          "Source/DOH/base.c",
    15          "Source/DOH/doh.h",
    16          "Source/DOH/dohint.h",
    17          "Source/DOH/file.c",
    18          "Source/DOH/fio.c",
    19          "Source/DOH/hash.c",
    20          "Source/DOH/list.c",
    21          "Source/DOH/memory.c",
    22          "Source/DOH/string.c",
    23          "Source/DOH/void.c",
    24          "Source/Include/swigconfig.h",
    25          "Source/Include/swigwarn.h",
    26          "Source/Modules/allocate.cxx",
    27          "Source/Modules/browser.cxx",
    28          "Source/Modules/contract.cxx",
    29          "Source/Modules/directors.cxx",
    30          "Source/Modules/emit.cxx",
    31          "Source/Modules/lang.cxx",
    32          "Source/Modules/main.cxx",
    33          "Source/Modules/module.cxx",
    34          "Source/Modules/nested.cxx",
    35          "Source/Modules/overload.cxx",
    36          "Source/Modules/python.cxx",
    37          "Source/Modules/swigmain-lite.cxx",
    38          "Source/Modules/swigmod.h",
    39          "Source/Modules/typepass.cxx",
    40          "Source/Modules/uffi.cxx",
    41          "Source/Modules/utils.cxx",
    42          "Source/Modules/xml.cxx",
    43          "Source/Preprocessor/cpp.c",
    44          "Source/Preprocessor/expr.c",
    45          "Source/Preprocessor/preprocessor.h",
    46          "Source/Swig/cwrap.c",
    47          "Source/Swig/deprecate.c",
    48          "Source/Swig/error.c",
    49          "Source/Swig/extend.c",
    50          "Source/Swig/fragment.c",
    51          "Source/Swig/getopt.c",
    52          "Source/Swig/include.c",
    53          "Source/Swig/misc.c",
    54          "Source/Swig/naming.c",
    55          "Source/Swig/parms.c",
    56          "Source/Swig/scanner.c",
    57          "Source/Swig/stype.c",
    58          "Source/Swig/swig.h",
    59          "Source/Swig/swigfile.h",
    60          "Source/Swig/swigopt.h",
    61          "Source/Swig/swigparm.h",
    62          "Source/Swig/swigscan.h",
    63          "Source/Swig/swigtree.h",
    64          "Source/Swig/swigwrap.h",
    65          "Source/Swig/symbol.c",
    66          "Source/Swig/tree.c",
    67          "Source/Swig/typemap.c",
    68          "Source/Swig/typeobj.c",
    69          "Source/Swig/typesys.c",
    70          "Source/Swig/wrapfunc.c",
    71      ],
    72      copts = ["$(STACK_FRAME_UNLIMITED)"] + select({
    73          ":windows": [],
    74          "//conditions:default": [
    75              "-Wno-parentheses",
    76              "-Wno-unused-variable",
    77              "-fexceptions",
    78          ],
    79      }),
    80      data = [":templates"],
    81      includes = [
    82          "Source/CParse",
    83          "Source/DOH",
    84          "Source/Include",
    85          "Source/Modules",
    86          "Source/Preprocessor",
    87          "Source/Swig",
    88      ],
    89      output_licenses = ["unencumbered"],
    90      visibility = ["//visibility:public"],
    91      deps = ["@pcre"],
    92  )
    93  
    94  filegroup(
    95      name = "templates",
    96      srcs = [
    97          "Lib/allkw.swg",
    98          "Lib/attribute.i",
    99          "Lib/carrays.i",
   100          "Lib/cdata.i",
   101          "Lib/cffi/cffi.swg",
   102          "Lib/cmalloc.i",
   103          "Lib/constraints.i",
   104          "Lib/cpointer.i",
   105          "Lib/cstring.i",
   106          "Lib/cwstring.i",
   107          "Lib/exception.i",
   108          "Lib/intrusive_ptr.i",
   109          "Lib/inttypes.i",
   110          "Lib/linkruntime.c",
   111          "Lib/math.i",
   112          "Lib/pointer.i",
   113          "Lib/python/argcargv.i",
   114          "Lib/python/attribute.i",
   115          "Lib/python/boost_shared_ptr.i",
   116          "Lib/python/builtin.swg",
   117          "Lib/python/carrays.i",
   118          "Lib/python/ccomplex.i",
   119          "Lib/python/cdata.i",
   120          "Lib/python/cmalloc.i",
   121          "Lib/python/cni.i",
   122          "Lib/python/complex.i",
   123          "Lib/python/cpointer.i",
   124          "Lib/python/cstring.i",
   125          "Lib/python/cwstring.i",
   126          "Lib/python/defarg.swg",
   127          "Lib/python/director.swg",
   128          "Lib/python/embed.i",
   129          "Lib/python/embed15.i",
   130          "Lib/python/exception.i",
   131          "Lib/python/factory.i",
   132          "Lib/python/file.i",
   133          "Lib/python/implicit.i",
   134          "Lib/python/jstring.i",
   135          "Lib/python/pyabc.i",
   136          "Lib/python/pyapi.swg",
   137          "Lib/python/pybackward.swg",
   138          "Lib/python/pybuffer.i",
   139          "Lib/python/pyclasses.swg",
   140          "Lib/python/pycomplex.swg",
   141          "Lib/python/pycontainer.swg",
   142          "Lib/python/pydocs.swg",
   143          "Lib/python/pyerrors.swg",
   144          "Lib/python/pyfragments.swg",
   145          "Lib/python/pyhead.swg",
   146          "Lib/python/pyinit.swg",
   147          "Lib/python/pyiterators.swg",
   148          "Lib/python/pymacros.swg",
   149          "Lib/python/pyname_compat.i",
   150          "Lib/python/pyopers.swg",
   151          "Lib/python/pyprimtypes.swg",
   152          "Lib/python/pyrun.swg",
   153          "Lib/python/pyruntime.swg",
   154          "Lib/python/pystdcommon.swg",
   155          "Lib/python/pystrings.swg",
   156          "Lib/python/python.swg",
   157          "Lib/python/pythonkw.swg",
   158          "Lib/python/pythreads.swg",
   159          "Lib/python/pytuplehlp.swg",
   160          "Lib/python/pytypemaps.swg",
   161          "Lib/python/pyuserdir.swg",
   162          "Lib/python/pywstrings.swg",
   163          "Lib/python/std_alloc.i",
   164          "Lib/python/std_auto_ptr.i",
   165          "Lib/python/std_basic_string.i",
   166          "Lib/python/std_carray.i",
   167          "Lib/python/std_char_traits.i",
   168          "Lib/python/std_common.i",
   169          "Lib/python/std_complex.i",
   170          "Lib/python/std_container.i",
   171          "Lib/python/std_deque.i",
   172          "Lib/python/std_except.i",
   173          "Lib/python/std_ios.i",
   174          "Lib/python/std_iostream.i",
   175          "Lib/python/std_list.i",
   176          "Lib/python/std_map.i",
   177          "Lib/python/std_multimap.i",
   178          "Lib/python/std_multiset.i",
   179          "Lib/python/std_pair.i",
   180          "Lib/python/std_set.i",
   181          "Lib/python/std_shared_ptr.i",
   182          "Lib/python/std_sstream.i",
   183          "Lib/python/std_streambuf.i",
   184          "Lib/python/std_string.i",
   185          "Lib/python/std_unordered_map.i",
   186          "Lib/python/std_unordered_multimap.i",
   187          "Lib/python/std_unordered_multiset.i",
   188          "Lib/python/std_unordered_set.i",
   189          "Lib/python/std_vector.i",
   190          "Lib/python/std_vectora.i",
   191          "Lib/python/std_wios.i",
   192          "Lib/python/std_wiostream.i",
   193          "Lib/python/std_wsstream.i",
   194          "Lib/python/std_wstreambuf.i",
   195          "Lib/python/std_wstring.i",
   196          "Lib/python/stl.i",
   197          "Lib/python/typemaps.i",
   198          "Lib/python/wchar.i",
   199          "Lib/runtime.swg",
   200          "Lib/shared_ptr.i",
   201          "Lib/std/_std_deque.i",
   202          "Lib/std/std_alloc.i",
   203          "Lib/std/std_basic_string.i",
   204          "Lib/std/std_carray.swg",
   205          "Lib/std/std_char_traits.i",
   206          "Lib/std/std_common.i",
   207          "Lib/std/std_container.i",
   208          "Lib/std/std_deque.i",
   209          "Lib/std/std_except.i",
   210          "Lib/std/std_ios.i",
   211          "Lib/std/std_iostream.i",
   212          "Lib/std/std_list.i",
   213          "Lib/std/std_map.i",
   214          "Lib/std/std_multimap.i",
   215          "Lib/std/std_multiset.i",
   216          "Lib/std/std_pair.i",
   217          "Lib/std/std_queue.i",
   218          "Lib/std/std_set.i",
   219          "Lib/std/std_sstream.i",
   220          "Lib/std/std_stack.i",
   221          "Lib/std/std_streambuf.i",
   222          "Lib/std/std_string.i",
   223          "Lib/std/std_unordered_map.i",
   224          "Lib/std/std_unordered_multimap.i",
   225          "Lib/std/std_unordered_multiset.i",
   226          "Lib/std/std_unordered_set.i",
   227          "Lib/std/std_vector.i",
   228          "Lib/std/std_vectora.i",
   229          "Lib/std/std_wios.i",
   230          "Lib/std/std_wiostream.i",
   231          "Lib/std/std_wsstream.i",
   232          "Lib/std/std_wstreambuf.i",
   233          "Lib/std/std_wstring.i",
   234          "Lib/std_except.i",
   235          "Lib/stdint.i",
   236          "Lib/stl.i",
   237          "Lib/swig.swg",
   238          "Lib/swigarch.i",
   239          "Lib/swigerrors.swg",
   240          "Lib/swiginit.swg",
   241          "Lib/swiglabels.swg",
   242          "Lib/swigrun.i",
   243          "Lib/swigrun.swg",
   244          "Lib/swigwarn.swg",
   245          "Lib/swigwarnings.swg",
   246          "Lib/typemaps/attribute.swg",
   247          "Lib/typemaps/carrays.swg",
   248          "Lib/typemaps/cdata.swg",
   249          "Lib/typemaps/cmalloc.swg",
   250          "Lib/typemaps/cpointer.swg",
   251          "Lib/typemaps/cstring.swg",
   252          "Lib/typemaps/cstrings.swg",
   253          "Lib/typemaps/cwstring.swg",
   254          "Lib/typemaps/enumint.swg",
   255          "Lib/typemaps/exception.swg",
   256          "Lib/typemaps/factory.swg",
   257          "Lib/typemaps/fragments.swg",
   258          "Lib/typemaps/implicit.swg",
   259          "Lib/typemaps/inoutlist.swg",
   260          "Lib/typemaps/misctypes.swg",
   261          "Lib/typemaps/primtypes.swg",
   262          "Lib/typemaps/ptrtypes.swg",
   263          "Lib/typemaps/std_except.swg",
   264          "Lib/typemaps/std_string.swg",
   265          "Lib/typemaps/std_strings.swg",
   266          "Lib/typemaps/std_wstring.swg",
   267          "Lib/typemaps/string.swg",
   268          "Lib/typemaps/strings.swg",
   269          "Lib/typemaps/swigmacros.swg",
   270          "Lib/typemaps/swigobject.swg",
   271          "Lib/typemaps/swigtype.swg",
   272          "Lib/typemaps/swigtypemaps.swg",
   273          "Lib/typemaps/traits.swg",
   274          "Lib/typemaps/typemaps.swg",
   275          "Lib/typemaps/valtypes.swg",
   276          "Lib/typemaps/void.swg",
   277          "Lib/typemaps/wstring.swg",
   278          "Lib/wchar.i",
   279          "Lib/windows.i",
   280      ],
   281      licenses = ["notice"],  # simple notice license for Lib/
   282      path = "Lib",
   283      visibility = ["//visibility:public"],
   284  )
   285  
   286  genrule(
   287      name = "swigconfig",
   288      outs = ["Source/Include/swigconfig.h"],
   289      cmd = "cat <<EOF >$@\n" +
   290            "#define HAVE_BOOL\n" +
   291            "#define HAVE_PCRE\n" +
   292            "#define HAVE_POPEN\n" +
   293            "#define PACKAGE_BUGREPORT \"http://www.swig.org\"\n" +
   294            "#define PACKAGE_VERSION \"3.0.8\"\n" +
   295            "#define STDC_HEADERS\n" +
   296            "#define SWIG_CXX \"bazel4lyfe\"\n" +
   297            "#define SWIG_LIB \"external/swig/Lib\"\n" +
   298            "#define SWIG_LIB_WIN_UNIX \"\"\n" +
   299            "#define SWIG_PLATFORM \"bazel4lyfe\"\n" +
   300            "EOF",
   301  )
   302  
   303  genrule(
   304      name = "get_rid_of_stuff_we_dont_need_yet",
   305      srcs = ["Source/Modules/swigmain.cxx"],
   306      outs = ["Source/Modules/swigmain-lite.cxx"],
   307      cmd = "sed -e '/swig_allegrocl/d'" +
   308            "    -e '/swig_cffi/d'" +
   309            "    -e '/swig_chicken/d'" +
   310            "    -e '/swig_clisp/d'" +
   311            "    -e '/swig_csharp/d'" +
   312            "    -e '/swig_d/d'" +
   313            "    -e '/swig_go/d'" +
   314            "    -e '/swig_guile/d'" +
   315            "    -e '/swig_java/d'" +
   316            "    -e '/swig_lua/d'" +
   317            "    -e '/swig_modula3/d'" +
   318            "    -e '/swig_mzscheme/d'" +
   319            "    -e '/swig_ocaml/d'" +
   320            "    -e '/swig_octave/d'" +
   321            "    -e '/swig_perl/d'" +
   322            "    -e '/swig_php/d'" +
   323            "    -e '/swig_pike/d'" +
   324            "    -e '/swig_r/d'" +
   325            "    -e '/swig_ruby/d'" +
   326            "    -e '/swig_scilab/d'" +
   327            "    -e '/swig_sexp/d'" +
   328            "    -e '/swig_tcl/d'" +
   329            "    -e '/swig_uffi/d'" +
   330            "    $< >$@",
   331  )
   332  
   333  config_setting(
   334      name = "windows",
   335      values = {"cpu": "x64_windows"},
   336  )