Removed linux_code

Change-Id: I7327828d2c9efdf03172d1b90f49d5c51fbba86e
diff --git a/aos/ipc_lib/BUILD b/aos/ipc_lib/BUILD
new file mode 100644
index 0000000..20972e4
--- /dev/null
+++ b/aos/ipc_lib/BUILD
@@ -0,0 +1,168 @@
+package(default_visibility = ["//visibility:public"])
+
+cc_library(
+    name = "aos_sync",
+    srcs = [
+        "aos_sync.cc",
+    ],
+    hdrs = [
+        "aos_sync.h",
+    ],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    linkopts = [
+        "-lpthread",
+    ],
+    deps = [
+        "//aos:once",
+        "//aos:macros",
+        "//aos/logging",
+        "//aos/util:compiler_memory_barrier",
+    ],
+)
+
+cc_library(
+    name = "core_lib",
+    srcs = [
+        "core_lib.c",
+    ],
+    hdrs = [
+        "core_lib.h",
+    ],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":aos_sync",
+        ":shared_mem_types",
+    ],
+)
+
+cc_library(
+    name = "shared_mem",
+    srcs = [
+        "shared_mem.c",
+    ],
+    hdrs = [
+        "shared_mem.h",
+    ],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    linkopts = [
+        "-lrt",
+    ],
+    deps = [
+        ":aos_sync",
+        ":core_lib",
+        ":shared_mem_types",
+        "//aos/logging",
+    ],
+)
+
+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",
+    ],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":aos_sync",
+    ],
+)
+
+cc_library(
+    name = "queue",
+    srcs = [
+        "queue.cc",
+    ],
+    hdrs = [
+        "queue.h",
+    ],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    linkopts = [
+        "-lrt",
+    ],
+    deps = [
+        ":core_lib",
+        ":shared_mem",
+        "//aos:condition",
+        "//aos/mutex:mutex",
+        "//aos/logging",
+        "//aos/util:options",
+    ],
+)
+
+cc_test(
+    name = "raw_queue_test",
+    srcs = [
+        "raw_queue_test.cc",
+    ],
+    deps = [
+        ":core_lib",
+        ":queue",
+        "//aos:die",
+        "//aos/time:time",
+        "//aos/logging",
+        "//aos/util:death_test_log_implementation",
+        "//aos/util:thread",
+        "//aos/testing:googletest",
+        "//aos/testing:prevent_exit",
+        "//aos/testing:test_shm",
+    ],
+)
+
+cc_test(
+    name = "ipc_stress_test",
+    srcs = [
+        "ipc_stress_test.cc",
+    ],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    tags = [
+        "manual",
+    ],
+    deps = [
+        ":core_lib",
+        "//aos:die",
+        "//aos/mutex:mutex",
+        "//aos/time:time",
+        "//aos/libc:aos_strsignal",
+        "//aos/libc:dirname",
+        "//aos/logging",
+        "//aos/testing:googletest",
+        "//aos/testing:test_shm",
+    ],
+)
+
+cc_library(
+    name = "scoped_message_ptr",
+    deps = [
+        ":queue",
+    ],
+)
+
+cc_binary(
+    name = "ipc_comparison",
+    srcs = [
+        "ipc_comparison.cc",
+    ],
+    deps = [
+        ":queue",
+        "//aos:condition",
+        "//aos:event",
+        "//aos/mutex:mutex",
+        "//aos/logging",
+        "//aos/logging:implementations",
+        "//aos:init",
+        "//third_party/gflags",
+    ],
+)