blob: ac516a22bcc0d667c336cd00e98d130b5027d88b [file] [log] [blame]
Miguel Young de la Sotad36c3e42022-03-28 12:56:09 -04001# Copyright lowRISC contributors.
2# Licensed under the Apache License, Version 2.0, see LICENSE for details.
3# SPDX-License-Identifier: Apache-2.0
4
5package(default_visibility = ["//visibility:public"])
6
7cc_library(
8 name = "portmacro",
9 hdrs = ["portable/GCC/RISC-V/portmacro.h"],
10 includes = ["portable/GCC/RISC-V"],
Chris Frantz7d962c82022-05-03 07:39:44 -070011 target_compatible_with = ["@platforms//cpu:riscv32"],
Miguel Young de la Sotad36c3e42022-03-28 12:56:09 -040012)
13
14cc_library(
15 name = "hdrs",
16 srcs = [
17 "include/FreeRTOS.h",
18 "include/StackMacros.h",
19 "include/atomic.h",
20 "include/croutine.h",
21 "include/event_groups.h",
22 "include/list.h",
23 "include/message_buffer.h",
24 "include/mpu_prototypes.h",
25 "include/mpu_wrappers.h",
26 "include/ot_memory.h",
27 "include/portable.h",
28 "include/projdefs.h",
29 "include/queue.h",
30 "include/semphr.h",
31 "include/stack_macros.h",
32 "include/stream_buffer.h",
33 "include/task.h",
34 "include/timers.h",
35 ],
36 includes = ["include"],
37 deps = [
38 ":portmacro",
39 ],
40)
41
42# This needs to be a filegroup, because the actual kernel library depends on
43# FreeRTOSConfig.h, which we can't make available in this repository without
44# including it in the patches, which is fairly brittle.
45#
46# Instead, the actual kernel library is defined in the //third_party/freertos
47# package.
48filegroup(
49 name = "srcs",
50 srcs = [
51 "include/deprecated_definitions.h",
52 "list.c",
53 "portable/MemMang/heap_1.c",
54 "queue.c",
55 "tasks.c",
56 ],
57)