1e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent# Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
2e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent#
3e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent# Use of this source code is governed by a BSD-style license
4e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent# that can be found in the LICENSE file in the root of the source
5e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent# tree. An additional intellectual property rights grant can be found
6e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent# in the file PATENTS.  All contributing project authors may
7e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent# be found in the AUTHORS file in the root of the source tree.
8e48d5845c8b35de2ab73ea055c18a61fa3a9f0beEric Laurent
9c55a96383497a772a307b346368133960b02ad03Eric Laurent# These defines will apply to all source files
10c55a96383497a772a307b346368133960b02ad03Eric Laurent# Think again before changing it
11c55a96383497a772a307b346368133960b02ad03Eric LaurentMY_WEBRTC_COMMON_DEFS := \
12c55a96383497a772a307b346368133960b02ad03Eric Laurent    '-DWEBRTC_TARGET_PC' \
13c55a96383497a772a307b346368133960b02ad03Eric Laurent    '-DWEBRTC_LINUX' \
14c55a96383497a772a307b346368133960b02ad03Eric Laurent    '-DWEBRTC_THREAD_RR' \
15c55a96383497a772a307b346368133960b02ad03Eric Laurent    '-DWEBRTC_CLOCK_TYPE_REALTIME' \
16c55a96383497a772a307b346368133960b02ad03Eric Laurent    '-DWEBRTC_ANDROID'
17c55a96383497a772a307b346368133960b02ad03Eric Laurent#    The following macros are used by modules,
18c55a96383497a772a307b346368133960b02ad03Eric Laurent#    we might need to re-organize them
19c55a96383497a772a307b346368133960b02ad03Eric Laurent#    '-DWEBRTC_ANDROID_OPENSLES' [module audio_device]
20c55a96383497a772a307b346368133960b02ad03Eric Laurent#    '-DNETEQ_VOICEENGINE_CODECS' [module audio_coding neteq]
21c55a96383497a772a307b346368133960b02ad03Eric Laurent#    '-DWEBRTC_MODULE_UTILITY_VIDEO' [module media_file] [module utility]
22792d5464151b0e5744e311ff79eca886e277807bYing WangMY_WEBRTC_COMMON_DEFS_arm := \
23c55a96383497a772a307b346368133960b02ad03Eric Laurent    '-DWEBRTC_ARCH_ARM'
24c55a96383497a772a307b346368133960b02ad03Eric Laurent#    '-DWEBRTC_DETECT_ARM_NEON' # only used in a build configuration without Neon
25c55a96383497a772a307b346368133960b02ad03Eric Laurent# TODO(kma): figure out if the above define could be moved to NDK build only.
26c55a96383497a772a307b346368133960b02ad03Eric Laurent
27c55a96383497a772a307b346368133960b02ad03Eric Laurent# TODO(kma): test if the code under next two macros works with generic GCC compilers
28c55a96383497a772a307b346368133960b02ad03Eric Laurentifeq ($(ARCH_ARM_HAVE_NEON),true)
29792d5464151b0e5744e311ff79eca886e277807bYing WangMY_WEBRTC_COMMON_DEFS_arm += \
30c55a96383497a772a307b346368133960b02ad03Eric Laurent    '-DWEBRTC_ARCH_ARM_NEON'
31c55a96383497a772a307b346368133960b02ad03Eric LaurentMY_ARM_CFLAGS_NEON := \
32c55a96383497a772a307b346368133960b02ad03Eric Laurent    -flax-vector-conversions
33c55a96383497a772a307b346368133960b02ad03Eric Laurentendif
34c55a96383497a772a307b346368133960b02ad03Eric Laurent
35c55a96383497a772a307b346368133960b02ad03Eric Laurentifneq (,$(filter '-DWEBRTC_DETECT_ARM_NEON' '-DWEBRTC_ARCH_ARM_NEON', \
36446440a7f6703cb6f722be22a99bd805a3ceb41eYing Wang    $(MY_WEBRTC_COMMON_DEFS_arm)))
37c55a96383497a772a307b346368133960b02ad03Eric LaurentWEBRTC_BUILD_NEON_LIBS := true
38c55a96383497a772a307b346368133960b02ad03Eric Laurentendif
39c55a96383497a772a307b346368133960b02ad03Eric Laurent
40c55a96383497a772a307b346368133960b02ad03Eric Laurentifeq ($(ARCH_ARM_HAVE_ARMV7A),true)
41792d5464151b0e5744e311ff79eca886e277807bYing WangMY_WEBRTC_COMMON_DEFS_arm += \
42c55a96383497a772a307b346368133960b02ad03Eric Laurent    '-DWEBRTC_ARCH_ARM_V7A'
43c55a96383497a772a307b346368133960b02ad03Eric Laurentendif
44c55a96383497a772a307b346368133960b02ad03Eric Laurent
45792d5464151b0e5744e311ff79eca886e277807bYing WangMY_WEBRTC_COMMON_DEFS_x86 := \
46c55a96383497a772a307b346368133960b02ad03Eric Laurent    '-DWEBRTC_USE_SSE2'
47