Fix ndk-build makefile and fix C99 compile errors
parent
b77e73ea52
commit
b80e9d8f2c
134
jni/Android.mk
134
jni/Android.mk
|
@ -35,31 +35,7 @@ LOCAL_CFLAGS += -I$(ROOTDIR)/$(OPENAL_DIR) \
|
||||||
-O3 \
|
-O3 \
|
||||||
-g \
|
-g \
|
||||||
|
|
||||||
ifeq ($(TARGET_ARCH_ABI),x86)
|
LOCAL_LDLIBS += -Wl,--build-id -Bsymbolic -shared
|
||||||
LOCAL_CFLAGS += \
|
|
||||||
-DBUILD_FOUNDATION_LIB \
|
|
||||||
-DTARGET_OS_android \
|
|
||||||
-D__POSIX_SOURCE \
|
|
||||||
-DURI_NO_UNICODE \
|
|
||||||
-DURI_ENABLE_ANSI \
|
|
||||||
-nostdinc \
|
|
||||||
-I/$(ANDROID_NDK_ROOT)/toolchains/x86-4.4.3/prebuilt/$(HOST_OS)-$(HOST_ARCH)/lib/gcc/i686-android-linux/4.4.3/include/ \
|
|
||||||
-I$(ANDROID_NDK_ROOT)/platforms/android-8/arch-x86/usr/include/ \
|
|
||||||
|
|
||||||
else
|
|
||||||
LOCAL_CFLAGS += \
|
|
||||||
-DBUILD_FOUNDATION_LIB \
|
|
||||||
-DTARGET_OS_android \
|
|
||||||
-D__POSIX_SOURCE \
|
|
||||||
-DURI_NO_UNICODE \
|
|
||||||
-DURI_ENABLE_ANSI \
|
|
||||||
-nostdinc \
|
|
||||||
-I/$(ANDROID_NDK_ROOT)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$(HOST_OS)-$(HOST_ARCH)/lib/gcc/arm-linux-androideabi/4.4.3/include/ \
|
|
||||||
-I$(ANDROID_NDK_ROOT)/platforms/android-8/arch-arm/usr/include/ \
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
LOCAL_LDLIBS += --build-id -Bsymbolic -shared
|
|
||||||
|
|
||||||
# Default to Fixed-point math
|
# Default to Fixed-point math
|
||||||
ifeq ($(TARGET_ARCH_ABI),armeabi)
|
ifeq ($(TARGET_ARCH_ABI),armeabi)
|
||||||
|
@ -67,13 +43,6 @@ ifeq ($(TARGET_ARCH_ABI),armeabi)
|
||||||
LOCAL_CFLAGS += -marm -DOPENAL_FIXED_POINT -DOPENAL_FIXED_POINT_SHIFT=16
|
LOCAL_CFLAGS += -marm -DOPENAL_FIXED_POINT -DOPENAL_FIXED_POINT_SHIFT=16
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
|
|
||||||
ifeq ($(LOCAL_ARM_NEON),true)
|
|
||||||
LOCAL_CFLAGS += -mfloat-abi=softfp -mfpu=neon -march=armv7
|
|
||||||
else
|
|
||||||
LOCAL_CFLAGS += -mfloat-abi=softfp -mfpu=vfpv3-d16 -march=armv7
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
MAX_SOURCES_LOW ?= 4
|
MAX_SOURCES_LOW ?= 4
|
||||||
MAX_SOURCES_START ?= 8
|
MAX_SOURCES_START ?= 8
|
||||||
|
@ -81,93 +50,52 @@ MAX_SOURCES_HIGH ?= 64
|
||||||
LOCAL_CFLAGS += -DMAX_SOURCES_LOW=$(MAX_SOURCES_LOW) -DMAX_SOURCES_START=$(MAX_SOURCES_START) -DMAX_SOURCES_HIGH=$(MAX_SOURCES_HIGH)
|
LOCAL_CFLAGS += -DMAX_SOURCES_LOW=$(MAX_SOURCES_LOW) -DMAX_SOURCES_START=$(MAX_SOURCES_START) -DMAX_SOURCES_HIGH=$(MAX_SOURCES_HIGH)
|
||||||
|
|
||||||
LOCAL_SRC_FILES := \
|
LOCAL_SRC_FILES := \
|
||||||
Alc/android.o \
|
$(OPENAL_DIR)/Alc/android.c \
|
||||||
OpenAL32/alAuxEffectSlot.o \
|
$(OPENAL_DIR)/OpenAL32/alAuxEffectSlot.c \
|
||||||
OpenAL32/alBuffer.o \
|
$(OPENAL_DIR)/OpenAL32/alBuffer.c \
|
||||||
OpenAL32/alDatabuffer.o \
|
$(OPENAL_DIR)/OpenAL32/alDatabuffer.c \
|
||||||
OpenAL32/alEffect.o \
|
$(OPENAL_DIR)/OpenAL32/alEffect.c \
|
||||||
OpenAL32/alError.o \
|
$(OPENAL_DIR)/OpenAL32/alError.c \
|
||||||
OpenAL32/alExtension.o \
|
$(OPENAL_DIR)/OpenAL32/alExtension.c \
|
||||||
OpenAL32/alFilter.o \
|
$(OPENAL_DIR)/OpenAL32/alFilter.c \
|
||||||
OpenAL32/alListener.o \
|
$(OPENAL_DIR)/OpenAL32/alListener.c \
|
||||||
OpenAL32/alSource.o \
|
$(OPENAL_DIR)/OpenAL32/alSource.c \
|
||||||
OpenAL32/alState.o \
|
$(OPENAL_DIR)/OpenAL32/alState.c \
|
||||||
OpenAL32/alThunk.o \
|
$(OPENAL_DIR)/OpenAL32/alThunk.c \
|
||||||
Alc/ALc.o \
|
$(OPENAL_DIR)/Alc/ALc.c \
|
||||||
Alc/alcConfig.o \
|
$(OPENAL_DIR)/Alc/alcConfig.c \
|
||||||
Alc/alcEcho.o \
|
$(OPENAL_DIR)/Alc/alcEcho.c \
|
||||||
Alc/alcModulator.o \
|
$(OPENAL_DIR)/Alc/alcModulator.c \
|
||||||
Alc/alcReverb.o \
|
$(OPENAL_DIR)/Alc/alcReverb.c \
|
||||||
Alc/alcRing.o \
|
$(OPENAL_DIR)/Alc/alcRing.c \
|
||||||
Alc/alcThread.o \
|
$(OPENAL_DIR)/Alc/alcThread.c \
|
||||||
Alc/ALu.o \
|
$(OPENAL_DIR)/Alc/ALu.c \
|
||||||
Alc/bs2b.o \
|
$(OPENAL_DIR)/Alc/bs2b.c \
|
||||||
Alc/null.o \
|
$(OPENAL_DIR)/Alc/null.c \
|
||||||
Alc/panning.o \
|
$(OPENAL_DIR)/Alc/panning.c \
|
||||||
Alc/mixer.o \
|
$(OPENAL_DIR)/Alc/mixer.c \
|
||||||
Alc/audiotrack.o \
|
$(OPENAL_DIR)/Alc/audiotrack.c \
|
||||||
|
|
||||||
OBJECTS:=$(LOCAL_SRC_FILES)
|
|
||||||
|
|
||||||
# If building for versions after FROYO
|
# If building for versions after FROYO
|
||||||
ifeq ($(POST_FROYO), yes)
|
ifeq ($(POST_FROYO), yes)
|
||||||
LOCAL_CFLAGS += -DPOST_FROYO -I$(ANDROID_NDK_ROOT)/platforms/android-9/arch-arm/usr/include/
|
LOCAL_CFLAGS += -DPOST_FROYO -I$(ANDROID_NDK_ROOT)/platforms/android-9/arch-arm/usr/include/
|
||||||
LOCAL_LDLIBS += -ldl -L$(ANDROID_NDK_ROOT)/platforms/android-9/arch-arm/usr/lib/
|
LOCAL_LDLIBS += -ldl -L$(ANDROID_NDK_ROOT)/platforms/android-9/arch-arm/usr/lib/
|
||||||
LOCAL_SRC_FILES += Alc/opensles.o
|
LOCAL_SRC_FILES += $(OPENAL_DIR)/Alc/opensles.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(TARGET_ARCH_ABI),x86)
|
|
||||||
CC= /Developer/DestinyCloudFist/clang-$(CLANG_VERSION)/bin/clang --sysroot=$(ANDROID_NDK_ROOT)/platforms/android-8/arch-x86 $(CXX_SYSTEM) -ccc-host-triple i686-android-linux -march=i386 -D__compiler_offsetof=__builtin_offsetof
|
|
||||||
CCAS=$(ANDROID_NDK_ROOT)/toolchains/x86-4.4.3/prebuilt/$(HOST_OS)-$(HOST_ARCH)/bin/i686-android-linux-gcc
|
|
||||||
else
|
|
||||||
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
|
|
||||||
CC= /Developer/DestinyCloudFist/clang-$(CLANG_VERSION)/bin/clang --sysroot=$(ANDROID_NDK_ROOT)/platforms/android-8/arch-arm $(CXX_SYSTEM) -ccc-host-triple arm-android-eabi-v7a -march=armv7a -mfloat-abi=softfp -mfpu=vfp -D__compiler_offsetof=__builtin_offsetof
|
|
||||||
CCAS=$(ANDROID_NDK_ROOT)/toolchains/arm-linux-androideabi-4.6/prebuilt/$(HOST_OS)-$(HOST_ARCH)/bin/arm-linux-androideabi-gcc
|
|
||||||
else
|
|
||||||
CC= /Developer/DestinyCloudFist/clang-$(CLANG_VERSION)/bin/clang --sysroot=$(ANDROID_NDK_ROOT)/platforms/android-8/arch-arm $(CXX_SYSTEM) -ccc-host-triple arm-android-eabi -march=armv5 -D__compiler_offsetof=__builtin_offsetof
|
|
||||||
CCAS=$(ANDROID_NDK_ROOT)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$(HOST_OS)-$(HOST_ARCH)/bin/arm-linux-androideabi-gcc
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
OBJDIR = $(BINDIR)/$(MODULE_DST)
|
|
||||||
|
|
||||||
MODULE_CFLAGS := $(COMMON_CFLAGS) $(CFLAGS) $(LOCAL_CFLAGS)
|
|
||||||
|
|
||||||
DEBUG_LOGGING_FLAGS ?= -DDEBUG_LOG\(...\)=do\{\}while\(0\)\; -DDEBUG_BREAK\(\)=do\{\}while\(0\)\; -DRELEASE_LOG\(...\)=do\{\}while\(0\);
|
|
||||||
|
|
||||||
ifneq ("$(ANALYZE)", "yes")
|
|
||||||
# Start Compile Rules
|
|
||||||
|
|
||||||
|
|
||||||
$(OBJDIR)/%.out.s: $(ROOTDIR)/$(MODULE)/%.c
|
|
||||||
@echo Compiling .c $<
|
|
||||||
@mkdir -p $(dir $@)
|
|
||||||
@$(CC) $(MODULE_CFLAGS) $(MODULE_CCFLAGS) $(DEBUG_LOGGING_FLAGS) -S $< -o $@
|
|
||||||
|
|
||||||
$(OBJDIR)/%.fixed.s: $(OBJDIR)/%.out.s
|
|
||||||
@echo fixing $<
|
|
||||||
@perl fixup_assembly.pl < $< > $@
|
|
||||||
|
|
||||||
$(OBJDIR)/%.o: $(OBJDIR)/%.fixed.s
|
|
||||||
@echo assembling $<
|
|
||||||
@$(CCAS) $(MODULE_ASFLAGS) -c $< -o $@
|
|
||||||
|
|
||||||
$(OBJDIR)/%.o: $(ROOTDIR)/$(MODULE)/%.s
|
|
||||||
@echo Assembling $<
|
|
||||||
@mkdir -p $(dir $@)
|
|
||||||
@$(CC) $(MODULE_ASFLAGS) -c $< -o $@
|
|
||||||
|
|
||||||
# End Compile Rules
|
|
||||||
else
|
|
||||||
# Start Analyze Rules
|
|
||||||
|
|
||||||
$(OBJDIR)/%.o: $(ROOTDIR)/$(MODULE)/%.c
|
|
||||||
@echo Analyzing $<
|
|
||||||
@mkdir -p `echo $@ | sed s/[^/]*[.]o$$//`
|
|
||||||
@$(CC) $(MODULE_CFLAGS) $(MODULE_CCFLAGS) $(DEBUG_LOGGING_FLAGS) -S --analyze $< -o /dev/null 2>> $(ANALYZE_OUTPUT)
|
|
||||||
|
|
||||||
# End Analyze Rules
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
APP_ABI := $(TARGET_ARCH_ABI)
|
APP_ABI := $(TARGET_ARCH_ABI)
|
||||||
$(warning APP_ABI $(APP_ABI))
|
# $(warning APP_ABI $(APP_ABI))
|
||||||
$(warning LOCAL_ARM_NEON $(LOCAL_ARM_NEON))
|
# $(warning LOCAL_ARM_NEON $(LOCAL_ARM_NEON))
|
||||||
|
|
|
@ -107,7 +107,7 @@ static char *alc_opensles_get_android_model()
|
||||||
{
|
{
|
||||||
androidModelField = (*env)->GetStaticFieldID(env, androidBuildClass, "MODEL", "Ljava/lang/String;");
|
androidModelField = (*env)->GetStaticFieldID(env, androidBuildClass, "MODEL", "Ljava/lang/String;");
|
||||||
androidModelString = (*env)->GetStaticObjectField(env, androidBuildClass, androidModelField);
|
androidModelString = (*env)->GetStaticObjectField(env, androidBuildClass, androidModelField);
|
||||||
const jchar *unichars = (*env)->GetStringUTFChars(env, androidModelString, NULL);
|
const char *unichars = (*env)->GetStringUTFChars(env, androidModelString, NULL);
|
||||||
if (!(*env)->ExceptionOccurred(env))
|
if (!(*env)->ExceptionOccurred(env))
|
||||||
{
|
{
|
||||||
jsize sz = (*env)->GetStringLength(env, androidModelString);
|
jsize sz = (*env)->GetStringLength(env, androidModelString);
|
||||||
|
@ -177,8 +177,9 @@ static pthread_mutex_t deviceListMutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
typedef void (*deviceListFn)(ALCdevice *);
|
typedef void (*deviceListFn)(ALCdevice *);
|
||||||
|
|
||||||
static void devlist_add(ALCdevice *pDevice) {
|
static void devlist_add(ALCdevice *pDevice) {
|
||||||
|
int i;
|
||||||
pthread_mutex_lock(&(deviceListMutex));
|
pthread_mutex_lock(&(deviceListMutex));
|
||||||
for (int i = 0; i < MAX_DEVICES; i++) {
|
for (i = 0; i < MAX_DEVICES; i++) {
|
||||||
if (deviceList[i] == pDevice) {
|
if (deviceList[i] == pDevice) {
|
||||||
break;
|
break;
|
||||||
} else if (deviceList[i] == NULL) {
|
} else if (deviceList[i] == NULL) {
|
||||||
|
@ -190,8 +191,9 @@ static void devlist_add(ALCdevice *pDevice) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void devlist_remove(ALCdevice *pDevice) {
|
static void devlist_remove(ALCdevice *pDevice) {
|
||||||
|
int i;
|
||||||
pthread_mutex_lock(&(deviceListMutex));
|
pthread_mutex_lock(&(deviceListMutex));
|
||||||
for (int i = 0; i < MAX_DEVICES; i++) {
|
for (i = 0; i < MAX_DEVICES; i++) {
|
||||||
if (deviceList[i] == pDevice) {
|
if (deviceList[i] == pDevice) {
|
||||||
deviceList[i] = NULL;
|
deviceList[i] = NULL;
|
||||||
}
|
}
|
||||||
|
@ -200,8 +202,9 @@ static void devlist_remove(ALCdevice *pDevice) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void devlist_process(deviceListFn mapFunction) {
|
static void devlist_process(deviceListFn mapFunction) {
|
||||||
|
int i;
|
||||||
pthread_mutex_lock(&(deviceListMutex));
|
pthread_mutex_lock(&(deviceListMutex));
|
||||||
for (int i = 0; i < MAX_DEVICES; i++) {
|
for (i = 0; i < MAX_DEVICES; i++) {
|
||||||
if (deviceList[i]) {
|
if (deviceList[i]) {
|
||||||
pthread_mutex_unlock(&(deviceListMutex));
|
pthread_mutex_unlock(&(deviceListMutex));
|
||||||
mapFunction(deviceList[i]);
|
mapFunction(deviceList[i]);
|
||||||
|
|
|
@ -7,4 +7,4 @@
|
||||||
# location of the SDK. This is only used by Ant
|
# location of the SDK. This is only used by Ant
|
||||||
# For customization when using a Version Control System, please read the
|
# For customization when using a Version Control System, please read the
|
||||||
# header note.
|
# header note.
|
||||||
sdk.dir=/Developer/DestinyCloudFist/android-sdk-macosx
|
sdk.dir=/Developer/android-sdk
|
||||||
|
|
Loading…
Reference in New Issue