1#
2# SPDX-License-Identifier: BSD-3-Clause
3#
4# Copyright © 2019 Keith Packard,
5# Copyright © 2020 Anthony Anderson
6#
7# Redistribution and use in source and binary forms, with or without
8# modification, are permitted provided that the following conditions
9# are met:
10#
11# 1. Redistributions of source code must retain the above copyright
12#    notice, this list of conditions and the following disclaimer.
13#
14# 2. Redistributions in binary form must reproduce the above
15#    copyright notice, this list of conditions and the following
16#    disclaimer in the documentation and/or other materials provided
17#    with the distribution.
18#
19# 3. Neither the name of the copyright holder nor the names of its
20#    contributors may be used to endorse or promote products derived
21#    from this software without specific prior written permission.
22#
23# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
26# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
27# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
28# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
32# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
34# OF THE POSSIBILITY OF SUCH DAMAGE.
35#
36
37srcs_machine = [
38    'memchr-stub.c',
39    'memchr.S',
40    'memcmp-stub.c',
41    'memcmp.S',
42    'memcpy-stub.c',
43    'memcpy.S',
44    'memmove-stub.c',
45    'memmove.S',
46    'memrchr-stub.c',
47    'memrchr.S',
48    'memset-stub.c',
49    'memset.S',
50    'rawmemchr-stub.c',
51    'rawmemchr.S',
52    'setjmp.S',
53    'stpcpy-stub.c',
54    'stpcpy.S',
55    'strchr-stub.c',
56    'strchr.S',
57    'strchrnul-stub.c',
58    'strchrnul.S',
59    'strcmp-stub.c',
60    'strcmp.S',
61    'strcpy-stub.c',
62    'strcpy.S',
63    'strlen-stub.c',
64    'strlen.S',
65    'strncmp-stub.c',
66    'strncmp.S',
67    'strnlen-stub.c',
68    'strnlen.S',
69    'strrchr-stub.c',
70    'strrchr.S',
71]
72
73subdir('machine')
74
75foreach target : targets
76    value = get_variable('target_' + target)
77    set_variable('lib_machine' + target,
78        static_library('machine' + target,
79            srcs_machine,
80            pic: false,
81            include_directories: inc,
82            c_args: value[1] + c_args + arg_fnobuiltin))
83endforeach
84