1488570ebSJim Harris# SPDX-License-Identifier: BSD-3-Clause 2a6dbe372Spaul luse# Copyright (C) 2015 Intel Corporation. 395a2dcb3SPaul Luse# All rights reserved. 495a2dcb3SPaul Luse# 5a6dbe372Spaul luse 6*35948d8fSKonrad SztyberSPDK_MOCK_SYMBOLS += \ 72a8065b5SNick Connolly calloc \ 82a8065b5SNick Connolly pthread_mutexattr_init \ 92a8065b5SNick Connolly pthread_mutex_init \ 102a8065b5SNick Connolly recvmsg \ 112a8065b5SNick Connolly sendmsg \ 122a8065b5SNick Connolly writev 132a8065b5SNick Connolly 142a8065b5SNick Connollydefine add_wrap_with_prefix 152a8065b5SNick Connolly$(2:%=-Wl,--wrap,$(1)%) 162a8065b5SNick Connollyendef 172a8065b5SNick Connolly 182a8065b5SNick Connollyifeq ($(OS),Windows) 192a8065b5SNick Connolly# Windows needs a thin layer above the system calls to provide POSIX 202a8065b5SNick Connolly# functionality. For GCC, use the prefix wpdk_ to ensure that the layer 212a8065b5SNick Connolly# is called. For other compilers, --wrap is not supported so the layer 222a8065b5SNick Connolly# implements an alternative mechanism to enable mocking. 232a8065b5SNick Connollyifeq ($(CC_TYPE),gcc) 24*35948d8fSKonrad SztyberLDFLAGS += $(call add_wrap_with_prefix,wpdk_,$(SPDK_MOCK_SYMBOLS)) 252a8065b5SNick Connollyendif 262a8065b5SNick Connollyelse 27*35948d8fSKonrad SztyberLDFLAGS += $(call add_wrap_with_prefix,,$(SPDK_MOCK_SYMBOLS)) 282a8065b5SNick Connollyendif 29