// Copyright (C) 2018 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.

filegroup {
    name: "iorap-aidl",
    srcs: [
        // note: using **/* doesn't work, so list each file one by one:
        // see also b/70046217

        // note: list only 'interface' aidl files, otherwise
        // aidl generates an error "Refusing to generate code with unstructured parcelables."
        "binder/com/google/android/startop/iorap/IIorap.aidl",
        "binder/com/google/android/startop/iorap/ITaskListener.aidl",
    ],
    path: "binder",
}

cc_defaults {
    name: "iorap-default-flags",

    cflags: [
        "-Wall",
        "-Werror",
        "-Wextra",
        "-Wno-missing-field-initializers",
        "-Wno-unused-parameter",
        "-Wno-unused-variable",
    ],

    local_include_dirs: [
        "include",
        "src",
    ],
    // TODO: shouldn't need this but there's a soong/cmake generator bug.
    export_include_dirs: [
        "include",
        "src",
    ],

    /*
    TODO: Header refactoring cleanup:

    Option 1): Move src/$component/file_name.h to src/$component/include/$component/file_name.h
    Option 2): Symlink src/$component/include/$component to src/$component

    Set export_include_dirs to '$component/include' for that component.

    Also delete the 'include' directory unless we have code other non-iorap
    targets are allowed to reference.
    */

    clang: true,
    static_libs: ["libc++fs"],
    shared_libs: ["libbase"],

    // build all ioraps for host.
    host_supported: true,
}

cc_defaults {
    name: "iorap-default-dependencies",

    static_libs: [
        "libiorap-binder",
        "libplatformprotos",  // android framework C++ protos.
    ],
    shared_libs: [
        "libbinder",
        "libutils",
        "libcutils", // tracing.

        "libfruit",  // dependency injection.
        // TODO: remove these annoying dependencies by hiding them in the main library code.

        // dependency for libplatformprotos
        // "libprotobuf-cpp-lite",

        // libplatformprotos has an indirect dependency on full, causing compilation/linking
        // errors if we use lite
        "libprotobuf-cpp-full",

        // phenotype flags support
        "server_configurable_flags",
    ],

    // srcs: [":libprotobuf-internal-protos"],
    // commented out because it causes compilation errors
    // TODO: can we use the lite library somehow?

    header_libs: ["librxcpp"],
}

cc_library_static {
    name: "libiorap-binder",
    defaults: ["iorap-default-flags"],

    srcs: [
        ":iorap-aidl",
        "src/binder/iiorap_impl.cc",
        "src/binder/package_manager_remote.cc",
        "src/binder/package_version_map.cc",
    ],
    shared_libs: [
        "libbinder",
        "libutils",
        "libcutils", // tracing.
    ],
    aidl: {
        local_include_dirs: ["binder"],
        include_dirs: ["frameworks/native/aidl/binder"],
        export_aidl_headers: true,
    },

    static_libs: [
       "libplatformprotos",  // android framework C++ protos.
    ],
}

cc_defaults {
    name: "libiorap-manager-default-dependencies",
    static_libs: [
        "libiorap-binder",
        "libiorap-perfetto",
        "libiorap-prefetcher",
        "libiorap-db",
        "libiorap-maintenance",
    ],
    defaults: [
        "libiorap-perfetto-default-dependencies",
        "libiorap-prefetcher-default-dependencies",
        "libiorap-db-default-dependencies",
    ],
    // Users of 'libiorap-manager' also need to include these defaults to avoid
    // linking errors.
}

cc_library_static {
    name: "libiorap-manager",
    defaults: [
        "iorap-default-flags",
        "iorap-default-dependencies",
        "libiorap-manager-default-dependencies",
    ],

    srcs: [
        "src/manager/**/*.cc",
    ],
}

cc_binary {
    name: "iorapd",
    defaults: [
        "iorap-default-flags",
        "iorap-default-dependencies",
        "libiorap-manager-default-dependencies",
    ],
    srcs: [
        "src/iorapd/main.cc",
    ],
    static_libs: [
        "libiorap-manager",
    ],
    init_rc: [
        "iorapd.rc",
    ],
    // iorapd fork+execs into iorap.prefetcherd and iorap.cmd.compiler
    // maintenance used by tests
    required: [
        "iorap.cmd.compiler",
        "iorap.prefetcherd",
        "iorap.cmd.maintenance",
    ],
}

cc_library_static {
    name: "libiorap-inode2filename",
    defaults: [
        "iorap-default-flags",
        "iorap-default-dependencies",
    ],

    srcs: [
        "src/inode2filename/**/*.cc",
    ],
}

cc_binary {
  name: "iorap.inode2filename",
  defaults: [
      "iorap-default-flags",
      "iorap-default-dependencies",
  ],
  srcs: [
      "src/inode2filename/**/*.cc",
  ],
  // Easier debugging. TODO: make a separate debug config.
  // XX: Using -O0 seems to completely hide some errors.
  cflags: ["-O2", "-UNDEBUG", "-DIORAP_INODE2FILENAME_MAIN=1"],
  sanitize: {
    undefined: true,
    all_undefined: true,
    // Pretty print when ubsan detects a problem.
    // Otherwise it just calls abort().

/*
    diag: {
      undefined: true,
    },
    */ // don't use the diag when you want it to crash.
  },
}

cc_test {
    name: "iorapd-tests",
    test_suites: ["device-tests"],
    gtest: false,  // we use gtest *and* gmock.
    defaults: [
        "iorap-default-flags",
        "iorap-default-dependencies",
        "libiorap-compiler-default-dependencies",
    ],
    srcs: [
        "tests/src/binder/*.cc",
        "tests/src/inode2filename/*.cc",
        "tests/src/log/*.cc",
        "tests/src/tmp/*.cc",
    ],
    data: [
        "tests/src/compiler/testdata/*",
    ],
    cflags: ["-O2", "-UNDEBUG"],

    // TODO:  we should probably have per-component tests.
    static_libs: ["libgmock_main", "libgmock", "libgtest", "libiorap-inode2filename"],

}


cc_test_host {
    name: "iorapd-host-tests",
    gtest: false,  // we use gtest *and* gmock.
    defaults: [
        "iorap-default-flags",
        "iorap-default-dependencies",
        "libiorap-compiler-default-dependencies",
        "libiorap-maintenance-default-dependencies",
    ],
    srcs: [
        "tests/src/compiler/*.cc",
        "tests/src/db/*.cc",
        "tests/src/maintenance/*.cc",
    ],
    data: [
        "tests/src/compiler/testdata/*",
        "tests/src/maintenance/testdata/*",
    ],
    cflags: ["-O2", "-UNDEBUG"],

    // TODO:  we should probably have per-component tests.
    static_libs: [
    "libgmock_main",
    "libgmock",
    "libgtest",
    "libiorap-compiler",
    "libiorap-maintenance",
    ],
}

filegroup {
  name: "libiorap-perfetto-protos",
  srcs: [
  ],
}

// Static libraries cannot export their dependencies,
// the current convention is to use an extra 'defaults' rule for statics
// to bring in all the dependencies.
cc_defaults {
    name: "libiorap-perfetto-default-dependencies",

    // Some of the libperfetto header typedefs leak out into iorap.
    // Avoids compilation #include errors.
    // TODO: clean this up, the headers should not leak out (maybe all we need is a PerfettoConsumer
    // forward declaration?).
    include_dirs: ["external/perfetto/include"],
    // Various perfetto protos are used directly by iorap.
    //
    // Furthermore, we need this regardless to avoid linking errors when linking
    // libiorap-perfetto.a into the main cc_binary rule.
    static_libs: [
        "perfetto_trace_protos",
    ],

    shared_libs: [
        // Not part of true dependencies: Users of 'libiorap-perfetto' do not link against
        // libperfetto.
        // We only put this to avoid linking errors when building iorapd.
        // TODO: can we split iorapd into libiorapd-main that doesn't link against libperfetto?
        // only the last cc_binary should need the full transitive closure of the dependency graph.
        "libperfetto",
    ]
}

cc_library_static {
    name: "libiorap-perfetto",
    defaults: [
        "iorap-default-flags",
        "iorap-default-dependencies",
        "libiorap-perfetto-default-dependencies",
    ],

    srcs: [
        "src/perfetto/**/*.cc",
    ],
}

cc_binary {
  name: "iorap.cmd.perfetto",
  defaults: [
      "iorap-default-flags",
      "iorap-default-dependencies",
  ],
  shared_libs: ["libperfetto"],
  include_dirs: ["external/perfetto/include"],
  srcs: [
      "src/perfetto/**/*.cc",
  ],
  // Easier debugging. TODO: make a separate debug config.
  // XX: Using -O0 seems to completely hide some errors.
  cflags: ["-O2", "-UNDEBUG", "-DIORAP_PERFETTO_MAIN=1"],
  sanitize: {
    undefined: true,
    all_undefined: true,
    // Pretty print when ubsan detects a problem.
    // Otherwise it just calls abort().

/*
    diag: {
      undefined: true,
    },
    */ // don't use the diag when you want it to crash.
  },

  static_libs: [
    "perfetto_trace_protos",
  ],
}

// Static libraries cannot export their dependencies,
// the current convention is to use an extra 'defaults' rule for statics
// to bring in all the dependencies.
cc_defaults {
    name: "libiorap-compiler-default-dependencies",

    defaults: [
        // use the perfetto namespace
        "libiorap-perfetto-default-dependencies",
        // use the inode2filename namespace
        "libiorap-serialize-default-dependencies",  // uses but does not re-export serialize.
    ],

    // Some of the libperfetto header typedefs leak out into iorap.
    // Avoids compilation #include errors.
    // TODO: clean this up, the headers should not leak out (maybe all we need is a PerfettoConsumer
    // forward declaration?).
    include_dirs: [],
    // Various perfetto protos are used directly by iorap.
    //
    // Furthermore, we need this regardless to avoid linking errors when linking
    // libiorap-compiler.a into the main cc_binary rule.
    static_libs: [
        "libiorap-perfetto",
        // "perfetto_trace_protos",
        "libiorap-inode2filename",
        "libiorap-serialize",
    ],

    shared_libs: [
        // Not part of true dependencies: Users of 'libiorap-compiler' do not link against
        // libperfetto.
        // We only put this to avoid linking errors when building iorapd.
        // TODO: can we split iorapd into libiorapd-main that doesn't link against libperfetto?
        // only the last cc_binary should need the full transitive closure of the dependency graph.
    ]
}

cc_library_static {
    name: "libiorap-compiler",
    defaults: [
        "iorap-default-flags",
        "iorap-default-dependencies",
        "libiorap-compiler-default-dependencies",
    ],

    srcs: [
        "src/compiler/**/*.cc",
    ],
}

cc_binary {
  name: "iorap.cmd.compiler",
  defaults: [
      "iorap-default-flags",
      "iorap-default-dependencies",
      "libiorap-compiler-default-dependencies",
  ],
  shared_libs: [],
  include_dirs: [],
  srcs: [
      "src/compiler/**/*.cc",
  ],
  // Easier debugging. TODO: make a separate debug config.
  // XX: Using -O0 seems to completely hide some errors.
  cflags: ["-O2", "-UNDEBUG", "-DIORAP_COMPILER_MAIN=1"],
  sanitize: {
    undefined: true,
    all_undefined: true,
    // Pretty print when ubsan detects a problem.
    // Otherwise it just calls abort().

/*
    diag: {
      undefined: true,
    },
    */ // don't use the diag when you want it to crash.
  },

  static_libs: [
  ],
  required: [
      "iorap.inode2filename",
  ],
}

// Static libraries cannot export their dependencies,
// the current convention is to use an extra 'defaults' rule for statics
// to bring in all the dependencies.
cc_defaults {
    name: "libiorap-serialize-default-dependencies",

    defaults: [
    ],

    include_dirs: [],
    static_libs: [
    ],
    shared_libs: [
    ],
    // Above intentionally left empty.
    srcs: [
        "src/serialize/**/*.proto",
    ],
}

cc_library_static {
    name: "libiorap-serialize",
    defaults: [
        "iorap-default-flags",
        "iorap-default-dependencies",
        "libiorap-serialize-default-dependencies",
    ],

    srcs: [
        "src/serialize/**/*.cc",
    ],
}


// Static libraries cannot export their dependencies,
// the current convention is to use an extra 'defaults' rule for statics
// to bring in all the dependencies.
cc_defaults {
    name: "libiorap-prefetcher-default-dependencies",

    defaults: [
    ],

    include_dirs: [],
    static_libs: [
        "libiorap-serialize",
    ],
    shared_libs: [
        "libminijail",
    ],

    // disable mac builds because libminijail doesn't work there
    target: {
        darwin: {
            enabled: false,
        },
    },
}

cc_library_static {
    name: "libiorap-prefetcher",
    defaults: [
        "iorap-default-flags",
        "iorap-default-dependencies",
        "libiorap-prefetcher-default-dependencies",
        "libiorap-serialize-default-dependencies",
    ],

    srcs: [
        "src/prefetcher/**/*.cc",
    ],
}

cc_binary {
  name: "iorap.prefetcherd",
  defaults: [
      "iorap-default-flags",
      "iorap-default-dependencies",
      "libiorap-prefetcher-default-dependencies",
      "libiorap-serialize-default-dependencies",
  ],
  shared_libs: [],
  include_dirs: [],
  srcs: [
      "src/prefetcher/**/*.cc",
  ],
  // Easier debugging. TODO: make a separate debug config.
  // XX: Using -O0 seems to completely hide some errors.
  cflags: ["-O2", "-UNDEBUG", "-DIORAP_PREFETCHER_MAIN=1"],
  sanitize: {
    undefined: true,
    all_undefined: true,
    // Pretty print when ubsan detects a problem.
    // Otherwise it just calls abort().

/*
    diag: {
      undefined: true,
    },
    */ // don't use the diag when you want it to crash.
  },

  static_libs: [
  ],
}

cc_binary {
  name: "iorap.cmd.prefetcher.client",
  defaults: [
      "iorap-default-flags",
      "iorap-default-dependencies",
      "libiorap-prefetcher-default-dependencies",
      "libiorap-serialize-default-dependencies",
  ],
  shared_libs: [],
  include_dirs: [],
  srcs: [
      "src/prefetcher/**/*.cc",
  ],
  // Easier debugging. TODO: make a separate debug config.
  // XX: Using -O0 seems to completely hide some errors.
  cflags: ["-O2", "-UNDEBUG", "-DIORAP_PREFETCHER_MAIN_CLIENT=1"],
  sanitize: {
    undefined: true,
    all_undefined: true,
    // Pretty print when ubsan detects a problem.
    // Otherwise it just calls abort().

/*
    diag: {
      undefined: true,
    },
    */ // don't use the diag when you want it to crash.
  },

  static_libs: [
  ],
}

prebuilt_etc {
  name: "iorap.prefetcherd.policy",
  sub_dir: "seccomp_policy",
  arch: {
    arm: {
      src: "seccomp_policy/prefetcherd.arm.policy"
    },
    arm64: {
      src: "seccomp_policy/prefetcherd.arm64.policy"
    },
    x86: {
      src: "seccomp_policy/prefetcherd.x86.policy"
    },
    x86_64: {
      src: "seccomp_policy/prefetcherd.x86_64.policy"
    },
  },
  required: [
      "crash_dump.policy",
  ],
}

// Static libraries cannot export their dependencies,
// the current convention is to use an extra 'defaults' rule for statics
// to bring in all the dependencies.
cc_defaults {
    name: "libiorap-db-default-dependencies",

    defaults: [
    ],

    include_dirs: [],
    static_libs: [
    ],
    shared_libs: [
        "libsqlite",
    ],
}

cc_library_static {
    name: "libiorap-db",
    defaults: [
        "iorap-default-flags",
        "iorap-default-dependencies",
        "libiorap-db-default-dependencies",
    ],

    srcs: [
        "src/db/**/*.cc",
    ],
}

cc_binary {
  name: "iorap.cmd.db",
  defaults: [
      "iorap-default-flags",
      "iorap-default-dependencies",
      "libiorap-db-default-dependencies",
  ],
  shared_libs: [],
  include_dirs: [],
  srcs: [
      "src/db/**/*.cc",
  ],
  // Easier debugging. TODO: make a separate debug config.
  // XX: Using -O0 seems to completely hide some errors.
  cflags: ["-O2", "-UNDEBUG", "-DIORAP_DB_MAIN=1"],
  sanitize: {
    undefined: true,
    all_undefined: true,
    // Pretty print when ubsan detects a problem.
    // Otherwise it just calls abort().

/*
    diag: {
      undefined: true,
    },
    */ // don't use the diag when you want it to crash.
  },

  static_libs: [
  ],
}

cc_defaults {
    name: "libiorap-maintenance-default-dependencies",

    defaults: [
        "libiorap-compiler-default-dependencies",
        "libiorap-db-default-dependencies",
        "libiorap-prefetcher-default-dependencies",
    ],

    include_dirs: [],

    static_libs: [
        "libiorap-binder",
        "libiorap-compiler",
        "libiorap-db",
        "libiorap-prefetcher",
    ],

    shared_libs: []
}

cc_library_static {
    name: "libiorap-maintenance",
    defaults: [
        "iorap-default-flags",
        "iorap-default-dependencies",
        "libiorap-maintenance-default-dependencies",
    ],

    srcs: [
        "src/maintenance/*.cc",
    ],
}

cc_binary {
  name: "iorap.cmd.maintenance",
  defaults: [
      "iorap-default-flags",
      "iorap-default-dependencies",
      "libiorap-maintenance-default-dependencies",
  ],
  shared_libs: [],
  include_dirs: [],
  srcs: [
      "src/maintenance/*.cc",
  ],
  cflags: ["-O2", "-UNDEBUG", "-DIORAP_MAINTENANCE_MAIN=1"],
  sanitize: {
    undefined: true,
    all_undefined: true,

    diag: {
      undefined: true,
    },
  },

  static_libs: [],
}
