blob: 8b8686d1fd9a9a93d1b25fbfd4674035a9b9a376 [file] [log] [blame]
package(default_visibility = ['//visibility:public'])
cc_library(
name = 'aos_sync',
srcs = [
'aos_sync.cc',
],
hdrs = [
'aos_sync.h',
],
linkopts = [
'-pthread',
],
deps = [
'//aos/common/logging',
'//aos:once',
'//aos/common:macros',
'//aos/common/util:compiler_memory_barrier',
],
)
cc_library(
name = 'core_lib',
srcs = [
'core_lib.c',
],
hdrs = [
'core_lib.h',
],
deps = [
':aos_sync',
':shared_mem_types',
],
)
cc_library(
name = 'shared_mem',
srcs = [
'shared_mem.c',
],
hdrs = [
'shared_mem.h',
],
deps = [
':aos_sync',
':core_lib',
':shared_mem_types',
'//aos/common/logging',
],
linkopts = [
'-lrt',
],
)
cc_library(
# TODO(Brian): This should be shared_mem{,.h}, and the other one should be
# shared_mem_init{,.cc,.h}.
name = 'shared_mem_types',
hdrs = [
'shared_mem_types.h',
],
deps = [
':aos_sync',
],
)
cc_library(
name = 'queue',
srcs = [
'queue.cc',
],
hdrs = [
'queue.h',
],
deps = [
'//aos/common:condition',
'//aos/common:mutex',
':core_lib',
':shared_mem',
'//aos/common/logging',
'//aos/common/util:options',
],
linkopts = [
'-lrt',
],
)
cc_test(
name = 'raw_queue_test',
srcs = [
'raw_queue_test.cc',
],
deps = [
'//aos/testing:googletest',
'//aos/testing:prevent_exit',
':queue',
'//aos/common/logging',
':core_lib',
'//aos/testing:test_shm',
'//aos/common:time',
'//aos/common:die',
'//aos/common/util:thread',
'//aos/common/util:death_test_log_implementation',
],
)
cc_test(
name = 'ipc_stress_test',
srcs = [
'ipc_stress_test.cc',
],
tags = [
'manual',
],
deps = [
'//aos/testing:googletest',
'//aos/common:time',
'//aos/testing:test_shm',
'//aos/common:mutex',
':core_lib',
'//aos/common:die',
'//aos/common/libc:dirname',
'//aos/common/libc:aos_strsignal',
'//aos/common/logging',
],
)
cc_library(
name = 'scoped_message_ptr',
deps = [
':queue',
],
)
cc_binary(
name = 'ipc_comparison',
srcs = [
'ipc_comparison.cc',
],
deps = [
'//aos/common:mutex',
'//aos/common:event',
'//aos/common:condition',
'//third_party/gflags',
'//aos/common/logging',
'//aos/common/logging:implementations',
'//aos/linux_code:init',
':queue',
],
)