Changed build settings for ARMv5 in Android.
I found some issues in building ARMv5 with ICM. This CL includes fixes, and a design change which now will exclude any NEON libraries unless the build is for dynamic detection or for Neon specifically. Review URL: http://webrtc-codereview.appspot.com/330021 git-svn-id: http://webrtc.googlecode.com/svn/trunk@1335 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
11
Android.mk
11
Android.mk
@@ -74,11 +74,7 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \
|
|||||||
libwebrtc_system_wrappers
|
libwebrtc_system_wrappers
|
||||||
|
|
||||||
# Add Neon libraries.
|
# Add Neon libraries.
|
||||||
ifneq (,$(filter '-DWEBRTC_DETECT_ARM_NEON',$(MY_WEBRTC_COMMON_DEFS)))
|
ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
|
||||||
LOCAL_WHOLE_STATIC_LIBRARIES += \
|
|
||||||
libwebrtc_aecm_neon \
|
|
||||||
libwebrtc_ns_neon
|
|
||||||
else ifeq ($(ARCH_ARM_HAVE_NEON),true)
|
|
||||||
LOCAL_WHOLE_STATIC_LIBRARIES += \
|
LOCAL_WHOLE_STATIC_LIBRARIES += \
|
||||||
libwebrtc_aecm_neon \
|
libwebrtc_aecm_neon \
|
||||||
libwebrtc_ns_neon
|
libwebrtc_ns_neon
|
||||||
@@ -139,10 +135,7 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \
|
|||||||
libwebrtc_vpx
|
libwebrtc_vpx
|
||||||
|
|
||||||
# Add Neon libraries.
|
# Add Neon libraries.
|
||||||
ifneq (,$(filter '-DWEBRTC_DETECT_ARM_NEON',$(MY_WEBRTC_COMMON_DEFS)))
|
ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
|
||||||
LOCAL_WHOLE_STATIC_LIBRARIES += \
|
|
||||||
libwebrtc_isacfix_neon
|
|
||||||
else ifeq ($(ARCH_ARM_HAVE_NEON),true)
|
|
||||||
LOCAL_WHOLE_STATIC_LIBRARIES += \
|
LOCAL_WHOLE_STATIC_LIBRARIES += \
|
||||||
libwebrtc_isacfix_neon
|
libwebrtc_isacfix_neon
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -33,6 +33,11 @@ MY_ARM_CFLAGS_NEON := \
|
|||||||
-flax-vector-conversions
|
-flax-vector-conversions
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq (,$(filter '-DWEBRTC_DETECT_ARM_NEON' '-DWEBRTC_ARCH_ARM_NEON', \
|
||||||
|
$(MY_WEBRTC_COMMON_DEFS)))
|
||||||
|
WEBRTC_BUILD_NEON_LIBS := true
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(ARCH_ARM_HAVE_ARMV7A),true)
|
ifeq ($(ARCH_ARM_HAVE_ARMV7A),true)
|
||||||
MY_WEBRTC_COMMON_DEFS += \
|
MY_WEBRTC_COMMON_DEFS += \
|
||||||
'-DWEBRTC_ARCH_ARM_V7A'
|
'-DWEBRTC_ARCH_ARM_V7A'
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ include $(BUILD_STATIC_LIBRARY)
|
|||||||
|
|
||||||
#########################
|
#########################
|
||||||
# Build the neon library.
|
# Build the neon library.
|
||||||
|
ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
@@ -76,13 +77,12 @@ LOCAL_MODULE_TAGS := optional
|
|||||||
LOCAL_SRC_FILES := \
|
LOCAL_SRC_FILES := \
|
||||||
filters_neon.c \
|
filters_neon.c \
|
||||||
lattice_neon.S #.S extention is for including a header file in assembly.
|
lattice_neon.S #.S extention is for including a header file in assembly.
|
||||||
# TODO(kma): Check with C compiler team and on line community for any status
|
|
||||||
# in the file name (.s vs .S), for a better solution.
|
|
||||||
|
|
||||||
# Flags passed to both C and C++ files.
|
# Flags passed to both C and C++ files.
|
||||||
LOCAL_CFLAGS := \
|
LOCAL_CFLAGS := \
|
||||||
$(MY_WEBRTC_COMMON_DEFS) \
|
$(MY_WEBRTC_COMMON_DEFS) \
|
||||||
-mfpu=neon \
|
-mfpu=neon \
|
||||||
|
-mfloat-abi=softfp \
|
||||||
-flax-vector-conversions
|
-flax-vector-conversions
|
||||||
|
|
||||||
LOCAL_C_INCLUDES := \
|
LOCAL_C_INCLUDES := \
|
||||||
@@ -96,6 +96,8 @@ include external/stlport/libstlport.mk
|
|||||||
endif
|
endif
|
||||||
include $(BUILD_STATIC_LIBRARY)
|
include $(BUILD_STATIC_LIBRARY)
|
||||||
|
|
||||||
|
endif # ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
# isac test app
|
# isac test app
|
||||||
|
|
||||||
@@ -114,9 +116,13 @@ LOCAL_C_INCLUDES := \
|
|||||||
|
|
||||||
LOCAL_STATIC_LIBRARIES := \
|
LOCAL_STATIC_LIBRARIES := \
|
||||||
libwebrtc_isacfix \
|
libwebrtc_isacfix \
|
||||||
libwebrtc_isacfix_neon \
|
|
||||||
libwebrtc_spl
|
libwebrtc_spl
|
||||||
|
|
||||||
|
ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
|
||||||
|
LOCAL_STATIC_LIBRARIES += \
|
||||||
|
libwebrtc_isacfix_neon
|
||||||
|
endif
|
||||||
|
|
||||||
LOCAL_SHARED_LIBRARIES := \
|
LOCAL_SHARED_LIBRARIES := \
|
||||||
libutils
|
libutils
|
||||||
|
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ include $(BUILD_STATIC_LIBRARY)
|
|||||||
|
|
||||||
#########################
|
#########################
|
||||||
# Build the neon library.
|
# Build the neon library.
|
||||||
|
ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
@@ -61,6 +62,7 @@ LOCAL_SRC_FILES := aecm_core_neon.c
|
|||||||
LOCAL_CFLAGS := \
|
LOCAL_CFLAGS := \
|
||||||
$(MY_WEBRTC_COMMON_DEFS) \
|
$(MY_WEBRTC_COMMON_DEFS) \
|
||||||
-mfpu=neon \
|
-mfpu=neon \
|
||||||
|
-mfloat-abi=softfp \
|
||||||
-flax-vector-conversions
|
-flax-vector-conversions
|
||||||
|
|
||||||
LOCAL_C_INCLUDES := \
|
LOCAL_C_INCLUDES := \
|
||||||
@@ -72,3 +74,5 @@ ifndef NDK_ROOT
|
|||||||
include external/stlport/libstlport.mk
|
include external/stlport/libstlport.mk
|
||||||
endif
|
endif
|
||||||
include $(BUILD_STATIC_LIBRARY)
|
include $(BUILD_STATIC_LIBRARY)
|
||||||
|
|
||||||
|
endif # ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
|
||||||
|
|||||||
@@ -49,13 +49,14 @@ include $(BUILD_STATIC_LIBRARY)
|
|||||||
|
|
||||||
#############################
|
#############################
|
||||||
# Build the neon library.
|
# Build the neon library.
|
||||||
|
ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
LOCAL_ARM_MODE := arm
|
||||||
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
||||||
LOCAL_MODULE := libwebrtc_ns_neon
|
LOCAL_MODULE := libwebrtc_ns_neon
|
||||||
LOCAL_MODULE_TAGS := optional
|
LOCAL_MODULE_TAGS := optional
|
||||||
LOCAL_GENERATED_SOURCES :=
|
|
||||||
|
|
||||||
LOCAL_SRC_FILES := nsx_core_neon.c
|
LOCAL_SRC_FILES := nsx_core_neon.c
|
||||||
|
|
||||||
@@ -63,6 +64,7 @@ LOCAL_SRC_FILES := nsx_core_neon.c
|
|||||||
LOCAL_CFLAGS := \
|
LOCAL_CFLAGS := \
|
||||||
$(MY_WEBRTC_COMMON_DEFS) \
|
$(MY_WEBRTC_COMMON_DEFS) \
|
||||||
-mfpu=neon \
|
-mfpu=neon \
|
||||||
|
-mfloat-abi=softfp \
|
||||||
-flax-vector-conversions
|
-flax-vector-conversions
|
||||||
|
|
||||||
LOCAL_C_INCLUDES := \
|
LOCAL_C_INCLUDES := \
|
||||||
@@ -74,3 +76,4 @@ ifndef NDK_ROOT
|
|||||||
include external/stlport/libstlport.mk
|
include external/stlport/libstlport.mk
|
||||||
endif
|
endif
|
||||||
include $(BUILD_STATIC_LIBRARY)
|
include $(BUILD_STATIC_LIBRARY)
|
||||||
|
endif # ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
|
||||||
|
|||||||
Reference in New Issue
Block a user