• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved.
2# Copyright (c) 2020-2023 Huawei Device Co., Ltd. All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without modification,
5# are permitted provided that the following conditions are met:
6#
7# 1. Redistributions of source code must retain the above copyright notice, this list of
8#    conditions and the following disclaimer.
9#
10# 2. Redistributions in binary form must reproduce the above copyright notice, this list
11#    of conditions and the following disclaimer in the documentation and/or other materials
12#    provided with the distribution.
13#
14# 3. Neither the name of the copyright holder nor the names of its contributors may be used
15#    to endorse or promote products derived from this software without specific prior written
16#    permission.
17#
18# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
20# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
22# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
30import("//kernel/liteos_m/liteos.gni")
31
32module_switch = defined(LOSCFG_POSIX_API)
33module_name = get_path_info(rebase_path("."), "name")
34kernel_module(module_name) {
35  sources = [
36    "src/errno.c",
37    "src/libc.c",
38    "src/map_error.c",
39  ]
40  configs += [ "$LITEOSTOPDIR:warn_config" ]
41
42  if (defined(LOSCFG_POSIX_THREAD_API)) {
43    sources += [
44      "src/pthread.c",
45      "src/pthread_attr.c",
46      "src/pthread_cond.c",
47      "src/pthread_mutex.c",
48    ]
49  }
50
51  if (defined(LOSCFG_POSIX_CLOCK_API)) {
52    sources += [ "src/time.c" ]
53  }
54
55  if (defined(LOSCFG_POSIX_SEM_API)) {
56    sources += [ "src/semaphore.c" ]
57  }
58
59  if (defined(LOSCFG_POSIX_MQUEUE_API)) {
60    sources += [ "src/mqueue.c" ]
61  }
62
63  if (defined(LOSCFG_POSIX_PIPE_API)) {
64    sources += [ "src/pipe.c" ]
65    sources += [ "src/poll.c" ]
66  }
67
68  if (defined(LOSCFG_POSIX_SIGNAL_API)) {
69    sources += [ "src/signal.c" ]
70  }
71
72  if (defined(LOSCFG_POSIX_MALLOC_API)) {
73    sources += [ "src/malloc.c" ]
74  }
75}
76
77config("public") {
78  include_dirs = [ "include" ]
79}
80