| |
| LOCAL_PATH:=frameworks/rs |
| rs_base_CFLAGS := -Werror -Wall -Wextra \ |
| -Wno-unused-parameter \ |
| -Wno-unused-variable \ |
| -Wno-overloaded-virtual -DRS_COMPATIBILITY_LIB \ |
| -std=c++11 |
| |
| ifeq ($(ARCH_ARM_HAVE_NEON),true) |
| rs_base_CFLAGS += -DARCH_ARM_HAVE_NEON |
| endif |
| |
| ifeq ($(TARGET_BUILD_PDK), true) |
| rs_base_CFLAGS += -D__RS_PDK__ |
| endif |
| |
| # Build rsg-generator ==================== |
| include $(CLEAR_VARS) |
| |
| LOCAL_MODULE := rsg-generator_support |
| |
| # These symbols are normally defined by BUILD_XXX, but we need to define them |
| # here so that local-intermediates-dir works. |
| |
| LOCAL_MODULE_CLASS := EXECUTABLES |
| intermediates := $(local-intermediates-dir) |
| |
| LOCAL_SRC_FILES:= \ |
| spec.l \ |
| rsg_generator.c |
| |
| LOCAL_CXX_STL := none |
| LOCAL_SANITIZE := never |
| |
| include $(BUILD_HOST_EXECUTABLE) |
| |
| # TODO: This should go into build/core/config.mk |
| RSG_GENERATOR_SUPPORT:=$(LOCAL_BUILT_MODULE) |
| |
| include $(CLEAR_VARS) |
| LOCAL_MODULE := libRSSupport |
| LOCAL_SDK_VERSION := 9 |
| |
| |
| LOCAL_MODULE_CLASS := SHARED_LIBRARIES |
| generated_sources_dir := $(call local-generated-sources-dir) |
| |
| # Generate custom headers |
| |
| GEN := $(addprefix $(generated_sources_dir)/, \ |
| rsgApiStructs.h \ |
| rsgApiFuncDecl.h \ |
| ) |
| |
| $(GEN) : PRIVATE_PATH := $(LOCAL_PATH) |
| $(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rs_compat.spec | $(RSG_GENERATOR_SUPPORT) $< $@ |
| $(GEN) : $(RSG_GENERATOR_SUPPORT) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rs_compat.spec |
| $(GEN): $(generated_sources_dir)/%.h : $(LOCAL_PATH)/%.h.rsg |
| $(transform-generated-source) |
| |
| # used in jni/Android.mk |
| rs_generated_source += $(GEN) |
| LOCAL_GENERATED_SOURCES += $(GEN) |
| |
| # Generate custom source files |
| |
| GEN := $(addprefix $(generated_sources_dir)/, \ |
| rsgApi.cpp \ |
| rsgApiReplay.cpp \ |
| ) |
| |
| $(GEN) : PRIVATE_PATH := $(LOCAL_PATH) |
| $(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rs_compat.spec | $(RSG_GENERATOR_SUPPORT) $< $@ |
| $(GEN) : $(RSG_GENERATOR_SUPPORT) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rs_compat.spec |
| $(GEN): $(generated_sources_dir)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg |
| $(transform-generated-source) |
| |
| # used in jni/Android.mk |
| rs_generated_source += $(GEN) |
| |
| LOCAL_GENERATED_SOURCES += $(GEN) |
| |
| LOCAL_SRC_FILES:= \ |
| rsAllocation.cpp \ |
| rsApiAllocation.cpp \ |
| rsApiContext.cpp \ |
| rsApiDevice.cpp \ |
| rsApiElement.cpp \ |
| rsApiType.cpp \ |
| rsClosure.cpp \ |
| rsComponent.cpp \ |
| rsContext.cpp \ |
| rsCppUtils.cpp \ |
| rsDevice.cpp \ |
| rsDriverLoader.cpp \ |
| rsElement.cpp \ |
| rsFifoSocket.cpp \ |
| rsObjectBase.cpp \ |
| rsMatrix2x2.cpp \ |
| rsMatrix3x3.cpp \ |
| rsMatrix4x4.cpp \ |
| rsMutex.cpp \ |
| rsSampler.cpp \ |
| rsScript.cpp \ |
| rsScriptC.cpp \ |
| rsScriptC_Lib.cpp \ |
| rsScriptGroup.cpp \ |
| rsScriptGroup2.cpp \ |
| rsScriptIntrinsic.cpp \ |
| rsSignal.cpp \ |
| rsStream.cpp \ |
| rsThreadIO.cpp \ |
| rsType.cpp \ |
| driver/rsdAllocation.cpp \ |
| driver/rsdBcc.cpp \ |
| driver/rsdCore.cpp \ |
| driver/rsdElement.cpp \ |
| driver/rsdRuntimeStubs.cpp \ |
| driver/rsdSampler.cpp \ |
| driver/rsdScriptGroup.cpp \ |
| driver/rsdType.cpp \ |
| cpu_ref/rsCpuCore.cpp \ |
| cpu_ref/rsCpuExecutable.cpp \ |
| cpu_ref/rsCpuScript.cpp \ |
| cpu_ref/rsCpuRuntimeMath.cpp \ |
| cpu_ref/rsCpuScriptGroup.cpp \ |
| cpu_ref/rsCpuScriptGroup2.cpp \ |
| cpu_ref/rsCpuIntrinsic.cpp \ |
| cpu_ref/rsCpuIntrinsic3DLUT.cpp \ |
| cpu_ref/rsCpuIntrinsicBlend.cpp \ |
| cpu_ref/rsCpuIntrinsicBlur.cpp \ |
| cpu_ref/rsCpuIntrinsicBLAS.cpp \ |
| cpu_ref/rsCpuIntrinsicColorMatrix.cpp \ |
| cpu_ref/rsCpuIntrinsicConvolve3x3.cpp \ |
| cpu_ref/rsCpuIntrinsicConvolve5x5.cpp \ |
| cpu_ref/rsCpuIntrinsicHistogram.cpp \ |
| cpu_ref/rsCpuIntrinsicLUT.cpp \ |
| cpu_ref/rsCpuIntrinsicResize.cpp \ |
| cpu_ref/rsCpuIntrinsicYuvToRGB.cpp |
| |
| ifeq ($(ARCH_ARM_HAVE_ARMV7A),true) |
| LOCAL_CFLAGS_arm := -DARCH_ARM_HAVE_VFP -DARCH_ARM_USE_INTRINSICS |
| LOCAL_ASFLAGS_arm := -mfpu=neon |
| LOCAL_SRC_FILES_arm := \ |
| cpu_ref/rsCpuIntrinsics_neon_3DLUT.S \ |
| cpu_ref/rsCpuIntrinsics_neon_Blend.S \ |
| cpu_ref/rsCpuIntrinsics_neon_Blur.S \ |
| cpu_ref/rsCpuIntrinsics_neon_ColorMatrix.S \ |
| cpu_ref/rsCpuIntrinsics_neon_Convolve.S \ |
| cpu_ref/rsCpuIntrinsics_neon_Resize.S \ |
| cpu_ref/rsCpuIntrinsics_neon_YuvToRGB.S |
| endif |
| |
| LOCAL_CFLAGS_arm64 += \ |
| -DARCH_ARM_USE_INTRINSICS \ |
| -DARCH_ARM64_USE_INTRINSICS \ |
| -DARCH_ARM64_HAVE_NEON |
| LOCAL_SRC_FILES_arm64 += \ |
| cpu_ref/rsCpuIntrinsics_advsimd_3DLUT.S \ |
| cpu_ref/rsCpuIntrinsics_advsimd_Blend.S \ |
| cpu_ref/rsCpuIntrinsics_advsimd_Blur.S \ |
| cpu_ref/rsCpuIntrinsics_advsimd_ColorMatrix.S \ |
| cpu_ref/rsCpuIntrinsics_advsimd_Convolve.S \ |
| cpu_ref/rsCpuIntrinsics_advsimd_Resize.S \ |
| cpu_ref/rsCpuIntrinsics_advsimd_YuvToRGB.S |
| |
| LOCAL_CFLAGS_x86 += -DARCH_X86_HAVE_SSSE3 |
| LOCAL_SRC_FILES_x86 += cpu_ref/rsCpuIntrinsics_x86.cpp |
| LOCAL_CFLAGS_x86_64 += -DARCH_X86_HAVE_SSSE3 |
| LOCAL_SRC_FILES_x86_64 += cpu_ref/rsCpuIntrinsics_x86.cpp |
| |
| LOCAL_REQUIRED_MODULES := libblasV8 |
| LOCAL_STATIC_LIBRARIES := libbnnmlowpV8 |
| LOCAL_LDFLAGS += -llog -ldl -Wl,--exclude-libs,libc++_static.a |
| LOCAL_NDK_STL_VARIANT := c++_static |
| |
| LOCAL_C_INCLUDES += external/cblas/include |
| LOCAL_C_INCLUDES += external/gemmlowp/eight_bit_int_gemm |
| |
| LOCAL_CFLAGS += $(rs_base_CFLAGS) -DGEMMLOWP_USE_STLPORT |
| |
| LOCAL_MODULE:= libRSSupport |
| |
| # TODO: why isn't this picked up from the host GLOBAL_CFLAGS? |
| LOCAL_CFLAGS += -D__STDC_FORMAT_MACROS |
| |
| include $(BUILD_SHARED_LIBRARY) |