bootstrap_go_package {
    name: "soong-art",
    pkgPath: "android/soong/art",
    deps: [
        "blueprint",
        "blueprint-pathtools",
        "blueprint-proptools",
        "soong",
        "soong-android",
        "soong-cc",
    ],
    srcs: [
        "art.go",
        "codegen.go",
        "makevars.go",
    ],
    pluginFor: ["soong_build"],
}

art_clang_tidy_errors = [
    "android-cloexec-dup",
    "android-cloexec-open",
    "bugprone-argument-comment",
    "bugprone-lambda-function-name",
    "bugprone-unused-raii",  // Protect scoped things like MutexLock.
    "bugprone-unused-return-value",
    "bugprone-virtual-near-miss",
    "modernize-use-bool-literals",
    "modernize-use-nullptr",
    "modernize-use-using",
    "performance-faster-string-find",
    "performance-for-range-copy",
    "performance-implicit-conversion-in-loop",
    "performance-noexcept-move-constructor",
    "performance-unnecessary-copy-initialization",
    "performance-unnecessary-value-param",
    "misc-unused-using-decls",
]
// Should be: strings.Join(art_clang_tidy_errors, ",").
art_clang_tidy_errors_str = "android-cloexec-dup"
        + ",android-cloexec-open"
        + ",bugprone-argument-comment"
        + ",bugprone-lambda-function-name"
        + ",bugprone-unused-raii"
        + ",bugprone-unused-return-value"
        + ",bugprone-virtual-near-miss"
        + ",modernize-redundant-void-arg"
        + ",modernize-use-bool-literals"
        + ",modernize-use-nullptr"
        + ",modernize-use-using"
        + ",performance-faster-string-find"
        + ",performance-for-range-copy"
        + ",performance-implicit-conversion-in-loop"
        + ",performance-noexcept-move-constructor"
        + ",performance-unnecessary-copy-initialization"
        + ",performance-unnecessary-value-param"
        + ",misc-unused-using-decls"

art_clang_tidy_disabled = [
    "-google-default-arguments",
    // We have local stores that are only used for debug checks.
    "-clang-analyzer-deadcode.DeadStores",
    // We are OK with some static globals and that they can, in theory, throw.
    "-cert-err58-cpp",
    // We have lots of C-style variadic functions, and are OK with them. JNI ensures
    // that working around this warning would be extra-painful.
    "-cert-dcl50-cpp",
    // "Modernization" we don't agree with.
    "-modernize-use-auto",
    "-modernize-return-braced-init-list",
    "-modernize-use-default-member-init",
    "-modernize-pass-by-value",
]

art_global_defaults {
    // Additional flags are computed by art.go

    name: "art_defaults",
    cflags: [
        // Base set of cflags used by all things ART.
        "-fno-rtti",
        "-ggdb3",
        "-Wall",
        "-Werror",
        "-Wextra",
        "-Wstrict-aliasing",
        "-fstrict-aliasing",
        "-Wunreachable-code",
        "-Wredundant-decls",
        "-Wshadow",
        "-Wunused",
        "-fvisibility=protected",

        // Warn about thread safety violations with clang.
        "-Wthread-safety",
        "-Wthread-safety-negative",

        // Warn if switch fallthroughs aren't annotated.
        "-Wimplicit-fallthrough",

        // Enable float equality warnings.
        "-Wfloat-equal",

        // Enable warning of converting ints to void*.
        "-Wint-to-void-pointer-cast",

        // Enable warning of wrong unused annotations.
        "-Wused-but-marked-unused",

        // Enable warning for deprecated language features.
        "-Wdeprecated",

        // Enable warning for unreachable break & return.
        "-Wunreachable-code-break",
        "-Wunreachable-code-return",

        // Disable warning for use of offsetof on non-standard layout type.
        // We use it to implement OFFSETOF_MEMBER - see macros.h.
        "-Wno-invalid-offsetof",

        // Enable thread annotations for std::mutex, etc.
        "-D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS",
    ],

    target: {
        android: {
            cflags: [
                "-DART_TARGET",

                // To use oprofile_android --callgraph, uncomment this and recompile with
                //    mmma -j art
                // "-fno-omit-frame-pointer",
                // "-marm",
                // "-mapcs",
            ],
            include_dirs: [
                // We optimize Thread::Current() with a direct TLS access. This requires access to a
                //  private Bionic header.
                "bionic/libc/private",
            ],
        },
        linux: {
            cflags: [
                // Enable missing-noreturn only on non-Mac. As lots of things are not implemented for
                // Apple, it's a pain.
                "-Wmissing-noreturn",
            ],
        },
        host: {
            cflags: [
                // Bug: 15446488. We don't omit the frame pointer to work around
                // clang/libunwind bugs that cause SEGVs in run-test-004-ThreadStress.
                "-fno-omit-frame-pointer",
                // The build assumes that all our x86/x86_64 hosts (such as buildbots and developer
                // desktops) support at least sse4.2/popcount. This firstly implies that the ART
                // runtime binary itself may exploit these features. Secondly, this implies that
                // the ART runtime passes these feature flags to dex2oat and JIT by calling the
                // method InstructionSetFeatures::FromCppDefines(). Since invoking dex2oat directly
                // does not pick up these flags, cross-compiling from a x86/x86_64 host to a
                // x86/x86_64 target should not be affected.
                "-msse4.2",
                "-mpopcnt",
            ],
        },
    },

    codegen: {
        arm: {
            cflags: ["-DART_ENABLE_CODEGEN_arm"],
        },
        arm64: {
            cflags: ["-DART_ENABLE_CODEGEN_arm64"],
        },
        mips: {
            cflags: ["-DART_ENABLE_CODEGEN_mips"],
        },
        mips64: {
            cflags: ["-DART_ENABLE_CODEGEN_mips64"],
        },
        x86: {
            cflags: ["-DART_ENABLE_CODEGEN_x86"],
        },
        x86_64: {
            cflags: ["-DART_ENABLE_CODEGEN_x86_64"],
        },
    },

    include_dirs: [
        "external/vixl/src",
    ],

    tidy_checks: art_clang_tidy_errors + art_clang_tidy_disabled,

    tidy_flags: [
        // The static analyzer treats DCHECK as always enabled; we sometimes get
        // false positives when we use DCHECKs with code that relies on NDEBUG.
        "-extra-arg=-UNDEBUG",
        // clang-tidy complains about functions like:
        // void foo() { CHECK(kIsFooEnabled); /* do foo... */ }
        // not being marked noreturn if kIsFooEnabled is false.
        "-extra-arg=-Wno-missing-noreturn",
        // Because tidy doesn't like our flow checks for compile-time configuration and thinks that
        // the following code is dead (it is, but not for all configurations), disable unreachable
        // code detection in Clang for tidy builds. It is still on for regular build steps, so we
        // will still get the "real" errors.
        "-extra-arg=-Wno-unreachable-code",
        // Use art_clang_tidy_errors for build errors.
        "-warnings-as-errors=" + art_clang_tidy_errors_str,
    ],
}

art_debug_defaults {
    name: "art_debug_defaults",
    cflags: [
        "-DDYNAMIC_ANNOTATIONS_ENABLED=1",
        "-DVIXL_DEBUG",
        "-UNDEBUG",
    ],
    asflags: [
        "-UNDEBUG",
    ],
    target: {
        // This has to be duplicated for android and host to make sure it
        // comes after the -Wframe-larger-than warnings inserted by art.go
        // target-specific properties
        android: {
            cflags: ["-Wno-frame-larger-than="],
        },
        host: {
            cflags: ["-Wno-frame-larger-than="],
        },
    },
}
