//
// Copyright © 2017 ARM Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//

////////////////////////////////////////////
//                                        //
//           static boost libs            //
//                                        //
////////////////////////////////////////////
cc_defaults {
    name: "libboost-defaults",
    proprietary: true,
    export_include_dirs: ["boost_1_64_0"],
    cflags: [
        "-O3",
        "-fexceptions",
        "-Wno-unused-parameter",
        "-DBOOST_NO_AUTO_PTR"
    ],
    cppflags: [
        "-std=c++14"
    ],
    rtti: true,
}

cc_library_static {
    name: "libboost_log",
    defaults: ["libboost-defaults"],
    srcs: [
        "boost_1_64_0/libs/log/src/attribute_name.cpp",
        "boost_1_64_0/libs/log/src/default_sink.cpp",
        "boost_1_64_0/libs/log/src/global_logger_storage.cpp",
        "boost_1_64_0/libs/log/src/record_ostream.cpp",
        "boost_1_64_0/libs/log/src/thread_id.cpp",
        "boost_1_64_0/libs/log/src/attribute_set.cpp",
        "boost_1_64_0/libs/log/src/named_scope.cpp",
        "boost_1_64_0/libs/log/src/severity_level.cpp",
        "boost_1_64_0/libs/log/src/threadsafe_queue.cpp",
        "boost_1_64_0/libs/log/src/attribute_value_set.cpp",
        "boost_1_64_0/libs/log/src/dump.cpp",
        "boost_1_64_0/libs/log/src/named_scope_format_parser.cpp",
        "boost_1_64_0/libs/log/src/spirit_encoding.cpp",
        "boost_1_64_0/libs/log/src/thread_specific.cpp",
        "boost_1_64_0/libs/log/src/code_conversion.cpp",
        "boost_1_64_0/libs/log/src/once_block.cpp",
        "boost_1_64_0/libs/log/src/syslog_backend.cpp",
        "boost_1_64_0/libs/log/src/timer.cpp",
        "boost_1_64_0/libs/log/src/core.cpp",
        "boost_1_64_0/libs/log/src/event.cpp",
        "boost_1_64_0/libs/log/src/permissions.cpp",
        "boost_1_64_0/libs/log/src/text_file_backend.cpp",
        "boost_1_64_0/libs/log/src/timestamp.cpp",
        "boost_1_64_0/libs/log/src/date_time_format_parser.cpp",
        "boost_1_64_0/libs/log/src/exceptions.cpp",
        "boost_1_64_0/libs/log/src/process_id.cpp",
        "boost_1_64_0/libs/log/src/text_multifile_backend.cpp",
        "boost_1_64_0/libs/log/src/trivial.cpp",
        "boost_1_64_0/libs/log/src/default_attribute_names.cpp",
        "boost_1_64_0/libs/log/src/format_parser.cpp",
        "boost_1_64_0/libs/log/src/process_name.cpp",
        "boost_1_64_0/libs/log/src/text_ostream_backend.cpp",
        "boost_1_64_0/libs/log/src/unhandled_exception_count.cpp",
    ],
}
cc_library_static {
    name: "libboost_system",
    defaults: ["libboost-defaults"],
    srcs: [ "boost_1_64_0/libs/system/src/error_code.cpp", ],
}

cc_library_static {
    name: "libboost_thread",
    defaults: ["libboost-defaults"],
    srcs: [
        "boost_1_64_0/libs/thread/src/pthread/thread.cpp",
        "boost_1_64_0/libs/thread/src/pthread/once_atomic.cpp",
        "boost_1_64_0/libs/thread/src/pthread/once.cpp",
        "boost_1_64_0/libs/thread/src/future.cpp",
        "boost_1_64_0/libs/thread/src/tss_null.cpp",
    ],
}

cc_library_static {
    name: "libboost_unit_test_framework",
    defaults: ["libboost-defaults"],
    srcs: [
        "boost_1_64_0/libs/test/src/compiler_log_formatter.cpp",
        "boost_1_64_0/libs/test/src/framework.cpp",
        "boost_1_64_0/libs/test/src/results_reporter.cpp",
        "boost_1_64_0/libs/test/src/unit_test_main.cpp",
        "boost_1_64_0/libs/test/src/cpp_main.cpp",
        "boost_1_64_0/libs/test/src/junit_log_formatter.cpp",
        "boost_1_64_0/libs/test/src/test_main.cpp",
        "boost_1_64_0/libs/test/src/unit_test_monitor.cpp",
        "boost_1_64_0/libs/test/src/debug.cpp",
        "boost_1_64_0/libs/test/src/plain_report_formatter.cpp",
        "boost_1_64_0/libs/test/src/test_tools.cpp",
        "boost_1_64_0/libs/test/src/unit_test_parameters.cpp",
        "boost_1_64_0/libs/test/src/decorator.cpp",
        "boost_1_64_0/libs/test/src/progress_monitor.cpp",
        "boost_1_64_0/libs/test/src/test_tree.cpp",
        "boost_1_64_0/libs/test/src/xml_log_formatter.cpp",
        "boost_1_64_0/libs/test/src/execution_monitor.cpp",
        "boost_1_64_0/libs/test/src/results_collector.cpp",
        "boost_1_64_0/libs/test/src/unit_test_log.cpp",
        "boost_1_64_0/libs/test/src/xml_report_formatter.cpp",
    ],
}

cc_library_static {
    name: "libboost_program_options",
    defaults: ["libboost-defaults"],
    srcs: [
        "boost_1_64_0/libs/program_options/src/cmdline.cpp",
        "boost_1_64_0/libs/program_options/src/config_file.cpp",
        "boost_1_64_0/libs/program_options/src/convert.cpp",
        "boost_1_64_0/libs/program_options/src/options_description.cpp",
        "boost_1_64_0/libs/program_options/src/parsers.cpp",
        "boost_1_64_0/libs/program_options/src/positional_options.cpp",
        "boost_1_64_0/libs/program_options/src/split.cpp",
        "boost_1_64_0/libs/program_options/src/utf8_codecvt_facet.cpp",
        "boost_1_64_0/libs/program_options/src/value_semantic.cpp",
        "boost_1_64_0/libs/program_options/src/variables_map.cpp",
        "boost_1_64_0/libs/program_options/src/winmain.cpp",
    ],
}

cc_library_static {
    name: "libboost_filesystem",
    defaults: ["libboost-defaults"],
    srcs: [
        "boost_1_64_0/libs/filesystem/src/codecvt_error_category.cpp",
        "boost_1_64_0/libs/filesystem/src/operations.cpp",
        "boost_1_64_0/libs/filesystem/src/path.cpp",
        "boost_1_64_0/libs/filesystem/src/path_traits.cpp",
        "boost_1_64_0/libs/filesystem/src/portability.cpp",
        "boost_1_64_0/libs/filesystem/src/unique_path.cpp",
        "boost_1_64_0/libs/filesystem/src/utf8_codecvt_facet.cpp",
        "boost_1_64_0/libs/filesystem/src/windows_file_codecvt.cpp",
    ],
}

subdirs = [
    "armnn",
]
