package(default_visibility = ["//visibility:public"])

py_library(
    name = "py_trapezoid_profile",
    srcs = [
        "trapezoid_profile.py",
    ],
    deps = [
        ":python_init",
    ],
)

cc_library(
    name = "run_command",
    srcs = [
        "run_command.cc",
    ],
    hdrs = [
        "run_command.h",
    ],
    deps = [
        "//aos/logging",
    ],
)

cc_test(
    name = "run_command_test",
    srcs = [
        "run_command_test.cc",
    ],
    deps = [
        ":run_command",
        ":thread",
        "//aos/logging",
        "//aos/testing:googletest",
    ],
)

cc_library(
    name = "death_test_log_implementation",
    hdrs = [
        "death_test_log_implementation.h",
    ],
    deps = [
        "//aos/logging:implementations",
    ],
)

cc_library(
    name = "inet_addr",
    srcs = [
        "inet_addr.cc",
    ],
    hdrs = [
        "inet_addr.h",
    ],
    deps = [
        "//aos:byteorder",
        "//aos:network_port",
    ],
)

cc_library(
    name = "phased_loop",
    srcs = [
        "phased_loop.cc",
    ],
    hdrs = [
        "phased_loop.h",
    ],
    deps = [
        "//aos/time:time",
        "//aos/logging",
    ],
)

cc_library(
    name = "log_interval",
    hdrs = [
        "log_interval.h",
    ],
    deps = [
        "//aos/time:time",
        "//aos/logging",
    ],
)

cc_library(
    name = "string_to_num",
    hdrs = [
        "string_to_num.h",
    ],
    compatible_with = [
        "//tools:armhf-debian",
    ],
)

cc_test(
    name = "string_to_num_test",
    srcs = [
        "string_to_num_test.cc",
    ],
    deps = [
        ":string_to_num",
        "//aos/testing:googletest",
    ],
)

cc_library(
    name = "thread",
    srcs = [
        "thread.cc",
    ],
    hdrs = [
        "thread.h",
    ],
    deps = [
        "//aos:macros",
        "//aos/logging",
    ],
)

cc_library(
    name = "trapezoid_profile",
    srcs = [
        "trapezoid_profile.cc",
    ],
    hdrs = [
        "trapezoid_profile.h",
    ],
    linkopts = [
        "-lm",
    ],
    deps = [
        "//aos/time:time",
        "//aos/logging",
        "//third_party/eigen",
    ],
)

cc_test(
    name = "trapezoid_profile_test",
    srcs = [
        "trapezoid_profile_test.cc",
    ],
    deps = [
        ":trapezoid_profile",
        "//aos/testing:googletest",
    ],
)

cc_library(
    name = "wrapping_counter",
    srcs = [
        "wrapping_counter.cc",
    ],
    hdrs = [
        "wrapping_counter.h",
    ],
)

cc_test(
    name = "wrapping_counter_test",
    srcs = [
        "wrapping_counter_test.cc",
    ],
    deps = [
        ":wrapping_counter",
        "//aos/testing:googletest",
    ],
)

cc_library(
    name = "options",
    hdrs = [
        "options.h",
    ],
    compatible_with = [
        "//tools:armhf-debian",
    ],
)

cc_test(
    name = "options_test",
    srcs = [
        "options_test.cc",
    ],
    deps = [
        ":options",
        "//aos/testing:googletest",
    ],
)

cc_library(
    name = "compiler_memory_barrier",
    hdrs = [
        "compiler_memory_barrier.h",
    ],
    compatible_with = [
        "//tools:armhf-debian",
    ],
)

cc_library(
    name = "global_factory",
    hdrs = [
        "global_factory.h",
    ],
)

cc_test(
    name = "global_factory_test",
    srcs = [
        "global_factory_test.cc",
    ],
    deps = [
        ":global_factory",
        "//aos/testing:googletest",
    ],
)

cc_library(
    name = "linked_list",
    hdrs = [
        "linked_list.h",
    ],
    deps = [
        "//aos/transaction:transaction",
    ],
)

cc_test(
    name = "linked_list_test",
    srcs = [
        "linked_list_test.cc",
    ],
    deps = [
        ":linked_list",
        "//aos/logging",
        "//aos/testing:googletest",
    ],
)

cc_test(
    name = "phased_loop_test",
    srcs = [
        "phased_loop_test.cc",
    ],
    deps = [
        ":phased_loop",
        "//aos/testing:googletest",
        "//aos/testing:test_logging",
    ],
)

cc_library(
    name = "file",
    srcs = [
        "file.cc",
    ],
    hdrs = [
        "file.h",
    ],
    deps = [
        "//aos/scoped:scoped_fd",
    ],
)

cc_test(
    name = "file_test",
    size = "small",
    srcs = [
        "file_test.cc",
    ],
    deps = [
        ":file",
        "//aos/testing:googletest",
        "//aos/testing:test_logging",
    ],
)

py_library(
    name = "python_init",
    srcs = ["__init__.py"],
    visibility = ["//visibility:public"],
    deps = ["//aos:python_init"],
)
