// Copyright 2020 The Android Open Source Project
//
// 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.

cc_binary_host {
    name: "swig",
    srcs: [
        "Source/CParse/cscanner.c",
        "Source/CParse/parser.y",
        "Source/CParse/templ.c",
        "Source/CParse/util.c",
        "Source/DOH/base.c",
        "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/doxyentity.cxx",
        "Source/Doxygen/doxyparser.cxx",
        "Source/Doxygen/doxytranslator.cxx",
        "Source/Doxygen/javadoc.cxx",
        "Source/Doxygen/pydoc.cxx",
        "Source/Modules/allocate.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/tcl8.cxx",
        "Source/Modules/typepass.cxx",
        "Source/Modules/utils.cxx",
        "Source/Modules/xml.cxx",
        "Source/Preprocessor/cpp.c",
        "Source/Preprocessor/expr.c",
        "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/symbol.c",
        "Source/Swig/tree.c",
        "Source/Swig/typemap.c",
        "Source/Swig/typeobj.c",
        "Source/Swig/typesys.c",
        "Source/Swig/wrapfunc.c",
    ],
    cflags: [
        "-Wno-return-type",
        "-Wno-unused-variable",
    ],
    local_include_dirs: [
        "prebuilt-intermediates",
        "Source/CParse",
        "Source/DOH",
        "Source/Doxygen",
        "Source/Include",
        "Source/Modules",
        "Source/Preprocessor",
        "Source/Swig",
    ],
}
