blob: 64433d3d2a0be3d9b83bde060700af8ce57a0b9d [file] [log] [blame]
// Copyright (C) 2017-2020 Apple Inc. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "Version.xcconfig"
PRODUCT_NAME = libwebrtc;
EXPORTED_SYMBOLS_FILE[sdk=macosx*] = $(EXPORTED_SYMBOLS_FILE_$(WK_IS_CATALYST))
EXPORTED_SYMBOLS_FILE_NO = Configurations/libwebrtc.mac.exp;
EXPORTED_SYMBOLS_FILE_YES = Configurations/libwebrtc.iOS.exp;
EXPORTED_SYMBOLS_FILE[sdk=iphoneos*] = Configurations/libwebrtc.iOS.exp;
EXPORTED_SYMBOLS_FILE[sdk=iphonesimulator*] = Configurations/libwebrtc.iOSsim.exp;
SECONDARY_STAGED_FRAMEWORK_DIRECTORY = $(SYSTEM_SECONDARY_CONTENT_PATH)$(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari
STAGED_DYLIB_FRAMEWORK_PATH=/WebCore.framework/Versions/A/Frameworks
COPY_STAGED_FRAMEWORKS_TO_SECONDARY_PATH = $(COPY_STAGED_FRAMEWORKS_TO_SECONDARY_PATH_SDK_VARIANT_$(SDK_VARIANT));
COPY_STAGED_FRAMEWORKS_TO_SECONDARY_PATH_SDK_VARIANT_ = NO
COPY_STAGED_FRAMEWORKS_TO_SECONDARY_PATH_SDK_VARIANT_iosmac = NO
INSTALL_PATH = $(INSTALL_PATH_PREFIX)$(NORMAL_WEBCORE_FRAMEWORKS_DIR)/WebCore.framework/Frameworks;
INSTALL_PATH[sdk=macosx*] = $(INSTALL_PATH_USE_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
INSTALL_PATH_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(INSTALL_PATH_PREFIX)$(NORMAL_WEBCORE_FRAMEWORKS_DIR)/WebCore.framework/Versions/A/Frameworks;
INSTALL_PATH_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR);
DYLIB_INSTALL_NAME_BASE = $(NORMAL_WEBCORE_FRAMEWORKS_DIR)/WebCore.framework/Frameworks;
DYLIB_INSTALL_NAME_BASE[sdk=macosx*] = $(DYLIB_INSTALL_NAME_BASE_USE_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
DYLIB_INSTALL_NAME_BASE_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(DYLIB_INSTALL_NAME_BASE_WK_RELOCATABLE_FRAMEWORKS_$(WK_RELOCATABLE_FRAMEWORKS));
DYLIB_INSTALL_NAME_BASE_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(INSTALL_PATH);
DYLIB_INSTALL_NAME_BASE_WK_RELOCATABLE_FRAMEWORKS_ = $(NORMAL_WEBCORE_FRAMEWORKS_DIR)/WebCore.framework/Versions/A/Frameworks;
DYLIB_INSTALL_NAME_BASE_WK_RELOCATABLE_FRAMEWORKS_YES = @loader_path/../../../;
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
HEADER_SEARCH_PATHS = Source Source/third_party/libsrtp/crypto/include Source/third_party/libsrtp/include Source/third_party/boringssl/src/include Source/third_party/libyuv/include Source/third_party/usrsctp Source/third_party/usrsctp/usrsctplib Source/third_party/usrsctp/usrsctplib/usrsctplib Source/webrtc/sdk/objc/Framework/Headers Source/webrtc/common_audio/signal_processing/include Source/webrtc/modules/audio_coding/codecs/isac/main/include Source/third_party/opus/src/celt Source/third_party/opus/src/include Source/third_party/opus/src/src Source/webrtc/modules/audio_device/mac Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet Source/webrtc/modules/audio_device/ios Source/webrtc Source/webrtc/sdk/objc Source/webrtc/sdk/objc/base Source/webrtc/sdk/objc/Framework/Classes Source/third_party/libsrtp/config Source/webrtc/sdk/objc/Framework/Classes/Common Source/webrtc/sdk/objc/Framework/Classes/Video Source/webrtc/sdk/objc/Framework/Classes/PeerConnection Source/third_party/abseil-cpp Source/third_party/libvpx/source/libvpx Source/third_party/libwebm/webm_parser/include;
PUBLIC_HEADERS_FOLDER_PREFIX = $(WK_LIBRARY_HEADERS_FOLDER_PATH);
INSTALL_PUBLIC_HEADER_PREFIX = $(INSTALL_PATH_PREFIX)$(PUBLIC_HEADERS_FOLDER_PREFIX);
SYSTEM_PUBLIC_HEADER_PREFIX = $(SYSTEM_PUBLIC_HEADER_PREFIX_$(USE_SYSTEM_CONTENT_PATH));
SYSTEM_PUBLIC_HEADER_PREFIX_YES = $(DSTROOT)$(PUBLIC_HEADERS_FOLDER_PREFIX);
HEADER_FOLDER_LIST = absl libwebrtc webm webrtc;
PUBLIC_LIBRARY_FOLDER_PREFIX = $(WK_LIBRARY_INSTALL_PATH);
INSTALL_PUBLIC_LIBRARY_PREFIX = $(INSTALL_PATH_PREFIX)$(PUBLIC_LIBRARY_FOLDER_PREFIX);
SYSTEM_PUBLIC_LIBRARY_PREFIX = $(SYSTEM_PUBLIC_LIBRARY_PREFIX_$(USE_SYSTEM_CONTENT_PATH));
SYSTEM_PUBLIC_LIBRARY_PREFIX_YES = $(DSTROOT)$(PUBLIC_LIBRARY_FOLDER_PREFIX);
LIBRARY_LIST = libboringssl.a libopus.a libsrtp.a libusrsctp.a libvpx.a libwebm.a libyuv.a
CREATE_SYMLINK_OUTPUT_FILES = ${SYSTEM_PUBLIC_HEADER_PREFIX} ${SYSTEM_PUBLIC_LIBRARY_PREFIX};
APPLY_RULES_IN_COPY_HEADERS = $(WK_USE_NEW_BUILD_SYSTEM);
PUBLIC_HEADERS_FOLDER_PATH = $(PUBLIC_HEADERS_FOLDER_PATH_$(WK_WHICH_BUILD_SYSTEM));
PUBLIC_HEADERS_FOLDER_PATH_not_legacy = ${INSTALL_PUBLIC_HEADER_PREFIX}/webrtc;
PUBLIC_HEADERS_FOLDER_PATH_legacy = ${PUBLIC_HEADERS_FOLDER_PREFIX}/webrtc_flattened;
USE_HEADERMAP = NO;
INSTALLHDRS_SCRIPT_PHASE = YES;
WARNING_CFLAGS = -Wno-deprecated-declarations $(inherited);
// FIXME: Set WEBRTC_USE_BUILTIN_ISAC_FIX and WEBRTC_USE_BUILTIN_ISAC_FLOAT for iOS and Mac
GCC_PREPROCESSOR_DEFINITIONS = GTEST_RELATIVE_PATH WEBRTC_OPUS_SUPPORT_120MS_PTIME=0 WEBRTC_POSIX WEBRTC_MAC SSL_USE_OPENSSL FEATURE_ENABLE_SSL HAVE_SRTP HAVE_NETINET_IN_H HAVE_OPENSSL_SSL_H SCTP_PROCESS_LEVEL_LOCKS SCTP_SIMPLE_ALLOCATOR SCTP_USE_OPENSSL_SHA1 __Userspace__ HAVE_SA_LEN HAVE_SCONN_LEN __APPLE_USE_RFC_2292 __Userspace_os_Darwin NON_WINDOWS_DEFINE HAVE_WEBRTC_VIDEO HAVE_WEBRTC_VOICE WEBRTC_INTELLIGIBILITY_ENHANCER=0 WEBRTC_APM_DEBUG_DUMP=0 WEBRTC_NS_FLOAT WEBRTC_USE_BUILTIN_OPUS WEBRTC_CODEC_OPUS WEBRTC_CODEC_ISAC WEBRTC_CODEC_RED HAVE_STDINT_H HAVE_STDLIB_H HAVE_UINT64_T OPENSSL HAVE_CONFIG_H WEBRTC_WEBKIT_BUILD HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE HAVE_SCTP WEBRTC_CODEC_G711 WEBRTC_CODEC_G722 WEBRTC_OPUS_VARIABLE_COMPLEXITY=0 WEBRTC_USE_BUILTIN_ISAC_FIX=1 WEBRTC_USE_BUILTIN_ISAC_FLOAT=0 USE_BUILTIN_SW_CODECS WEBRTC_WEBKIT_BUILD RTC_ENABLE_VP9 NO_MAIN_THREAD_WRAPPING RTC_DISABLE_TRACE_EVENTS WEBRTC_HAVE_SCTP WEBRTC_HAVE_USRSCTP $(inherited);
GCC_PREPROCESSOR_DEFINITIONS[sdk=macosx*] = $(inherited) WEBRTC_USE_VTB_HARDWARE_ENCODER $(GCC_PREPROCESSOR_DEFINITIONS_$(WK_IS_CATALYST));
GCC_PREPROCESSOR_DEFINITIONS_YES = WEBRTC_MAC_CATALYST WEBRTC_IOS;
GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*] = $(inherited) WEBRTC_IOS;
GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*] = $(inherited) WEBRTC_IOS;
STRIP_INSTALLED_PRODUCT = YES;
STRIP_INSTALLED_PRODUCT[config=Debug] = NO;
EXCLUDED_SOURCE_FILE_NAMES_macosx = voice_processing_audio_unit.mm;
EXCLUDED_SOURCE_FILE_NAMES_ios = macutils.cc macwindowpicker.cc audio_device_mac.cc audio_mixer_manager_mac.cc logging_mac.mm;
EXCLUDED_SOURCE_FILE_NAMES_arm = *_sse.cc *_sse2.cc;
EXCLUDED_SOURCE_FILE_NAMES[sdk=iphoneos*] = $(EXCLUDED_SOURCE_FILE_NAMES_ios) $(EXCLUDED_SOURCE_FILE_NAMES_arm);
EXCLUDED_SOURCE_FILE_NAMES[sdk=iphonesimulator*] = $(EXCLUDED_SOURCE_FILE_NAMES_ios);
EXCLUDED_SOURCE_FILE_NAMES[sdk=iphonesimulator*][arch=arm64*] = $(EXCLUDED_SOURCE_FILE_NAMES_ios) $(EXCLUDED_SOURCE_FILE_NAMES_arm);
EXCLUDED_SOURCE_FILE_NAMES[sdk=macosx*] = $(EXCLUDED_SOURCE_FILE_NAMES_macosx);
EXCLUDED_SOURCE_FILE_NAMES[sdk=macosx*][arch=arm64*] = $(EXCLUDED_SOURCE_FILE_NAMES_macosx) $(EXCLUDED_SOURCE_FILE_NAMES_arm);
OTHER_LDFLAGS = $(inherited) $(SOURCE_VERSION_LDFLAGS);