blob: 2ab0b0c71c993a3f5ee6a06a3ebd100d7649db47 [file]
# Copyright 2019 The IREE Authors
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
iree_add_all_subdirs()
iree_cc_library(
NAME
base
HDRS
"api.h"
SRCS
"allocator.c"
"allocator.h"
"assert.h"
"bitfield.c"
"bitfield.h"
"loop.c"
"loop.h"
"loop_inline.c"
"loop_inline.h"
"status.c"
"status.h"
"status_cc.h"
"status_payload.h"
"status_stack_trace.c"
"string_builder.c"
"string_builder.h"
"string_view.c"
"string_view.h"
"time.c"
"wait_source.c"
"wait_source.h"
DEPS
::core_headers
iree::base::internal::time
iree::base::tracing::provider
PUBLIC
)
iree_cc_library(
NAME
core_headers
HDRS
"alignment.h"
"attributes.h"
"config.h"
"target_platform.h"
"time.h"
"tracing.h"
PUBLIC
)
iree_cc_test(
NAME
bitfield_test
SRCS
"bitfield_test.cc"
DEPS
::base
iree::testing::gtest
iree::testing::gtest_main
)
iree_cc_test(
NAME
loop_inline_test
SRCS
"loop_inline_test.cc"
DEPS
::base
::loop_test_hdrs
iree::testing::gtest
iree::testing::gtest_main
)
iree_cc_library(
NAME
loop_test_hdrs
HDRS
"loop_test.h"
DEPS
::base
iree::base::internal::wait_handle
iree::testing::gtest
TESTONLY
PUBLIC
)
iree_cc_test(
NAME
status_test
SRCS
"status_test.cc"
DEPS
::base
iree::testing::gtest
iree::testing::gtest_main
)
iree_cc_test(
NAME
string_builder_test
SRCS
"string_builder_test.cc"
DEPS
::base
iree::testing::gtest
iree::testing::gtest_main
)
iree_cc_test(
NAME
string_view_test
SRCS
"string_view_test.cc"
DEPS
::base
iree::testing::gtest
iree::testing::gtest_main
)
iree_cc_library(
NAME
loop_sync
HDRS
"loop_sync.h"
SRCS
"loop_sync.c"
DEPS
::base
iree::base::internal
iree::base::internal::wait_handle
PUBLIC
)
iree_cc_test(
NAME
loop_sync_test
SRCS
"loop_sync_test.cc"
DEPS
::base
::loop_sync
::loop_test_hdrs
iree::testing::gtest
iree::testing::gtest_main
)
if(EMSCRIPTEN)
iree_cc_library(
NAME
loop_emscripten
HDRS
"loop_emscripten.h"
SRCS
"loop_emscripten.c"
DEPS
::base
iree::base::internal::wait_handle
PUBLIC
)
iree_link_js_library(
TARGET
::loop_emscripten
SRCS
"loop_emscripten.js"
)
# TODO(scotttodd): rewrite as a JS/C file and test with Promises
# The C++ test uses IREE_LOOP_COMMAND_DRAIN, which is not implemented here
# This test is just useful for the initial bring-up.
iree_cc_test(
NAME
loop_emscripten_test
SRCS
"loop_emscripten_test.cc"
DEPS
::base
::loop_emscripten
::loop_test_hdrs
iree::testing::gtest
iree::testing::gtest_main
LINKOPTS
"-sEXPORTED_RUNTIME_METHODS=['dynCall']"
)
endif()