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