From b80e9d8f2cc2179abe063895b22bba9572a98fe2 Mon Sep 17 00:00:00 2001 From: Marc Salem Date: Mon, 4 Mar 2013 12:21:27 -0800 Subject: [PATCH] Fix ndk-build makefile and fix C99 compile errors --- jni/Android.mk | 134 +++++++++----------------------------- jni/Application.mk | 4 +- jni/OpenAL/Alc/opensles.c | 11 ++-- local.properties | 2 +- 4 files changed, 41 insertions(+), 110 deletions(-) diff --git a/jni/Android.mk b/jni/Android.mk index e0551cc..7bcbdf3 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -35,31 +35,7 @@ LOCAL_CFLAGS += -I$(ROOTDIR)/$(OPENAL_DIR) \ -O3 \ -g \ -ifeq ($(TARGET_ARCH_ABI),x86) -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 +LOCAL_LDLIBS += -Wl,--build-id -Bsymbolic -shared # Default to Fixed-point math 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 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_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_SRC_FILES := \ - Alc/android.o \ - OpenAL32/alAuxEffectSlot.o \ - OpenAL32/alBuffer.o \ - OpenAL32/alDatabuffer.o \ - OpenAL32/alEffect.o \ - OpenAL32/alError.o \ - OpenAL32/alExtension.o \ - OpenAL32/alFilter.o \ - OpenAL32/alListener.o \ - OpenAL32/alSource.o \ - OpenAL32/alState.o \ - OpenAL32/alThunk.o \ - Alc/ALc.o \ - Alc/alcConfig.o \ - Alc/alcEcho.o \ - Alc/alcModulator.o \ - Alc/alcReverb.o \ - Alc/alcRing.o \ - Alc/alcThread.o \ - Alc/ALu.o \ - Alc/bs2b.o \ - Alc/null.o \ - Alc/panning.o \ - Alc/mixer.o \ - Alc/audiotrack.o \ + $(OPENAL_DIR)/Alc/android.c \ + $(OPENAL_DIR)/OpenAL32/alAuxEffectSlot.c \ + $(OPENAL_DIR)/OpenAL32/alBuffer.c \ + $(OPENAL_DIR)/OpenAL32/alDatabuffer.c \ + $(OPENAL_DIR)/OpenAL32/alEffect.c \ + $(OPENAL_DIR)/OpenAL32/alError.c \ + $(OPENAL_DIR)/OpenAL32/alExtension.c \ + $(OPENAL_DIR)/OpenAL32/alFilter.c \ + $(OPENAL_DIR)/OpenAL32/alListener.c \ + $(OPENAL_DIR)/OpenAL32/alSource.c \ + $(OPENAL_DIR)/OpenAL32/alState.c \ + $(OPENAL_DIR)/OpenAL32/alThunk.c \ + $(OPENAL_DIR)/Alc/ALc.c \ + $(OPENAL_DIR)/Alc/alcConfig.c \ + $(OPENAL_DIR)/Alc/alcEcho.c \ + $(OPENAL_DIR)/Alc/alcModulator.c \ + $(OPENAL_DIR)/Alc/alcReverb.c \ + $(OPENAL_DIR)/Alc/alcRing.c \ + $(OPENAL_DIR)/Alc/alcThread.c \ + $(OPENAL_DIR)/Alc/ALu.c \ + $(OPENAL_DIR)/Alc/bs2b.c \ + $(OPENAL_DIR)/Alc/null.c \ + $(OPENAL_DIR)/Alc/panning.c \ + $(OPENAL_DIR)/Alc/mixer.c \ + $(OPENAL_DIR)/Alc/audiotrack.c \ -OBJECTS:=$(LOCAL_SRC_FILES) # If building for versions after FROYO ifeq ($(POST_FROYO), yes) 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_SRC_FILES += Alc/opensles.o + LOCAL_SRC_FILES += $(OPENAL_DIR)/Alc/opensles.c 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) diff --git a/jni/Application.mk b/jni/Application.mk index c064a3b..fab0d7e 100644 --- a/jni/Application.mk +++ b/jni/Application.mk @@ -1,3 +1,3 @@ APP_ABI := $(TARGET_ARCH_ABI) -$(warning APP_ABI $(APP_ABI)) -$(warning LOCAL_ARM_NEON $(LOCAL_ARM_NEON)) +# $(warning APP_ABI $(APP_ABI)) +# $(warning LOCAL_ARM_NEON $(LOCAL_ARM_NEON)) diff --git a/jni/OpenAL/Alc/opensles.c b/jni/OpenAL/Alc/opensles.c index 97278d0..ab6acaa 100644 --- a/jni/OpenAL/Alc/opensles.c +++ b/jni/OpenAL/Alc/opensles.c @@ -107,7 +107,7 @@ static char *alc_opensles_get_android_model() { androidModelField = (*env)->GetStaticFieldID(env, androidBuildClass, "MODEL", "Ljava/lang/String;"); 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)) { jsize sz = (*env)->GetStringLength(env, androidModelString); @@ -177,8 +177,9 @@ static pthread_mutex_t deviceListMutex = PTHREAD_MUTEX_INITIALIZER; typedef void (*deviceListFn)(ALCdevice *); static void devlist_add(ALCdevice *pDevice) { + int i; pthread_mutex_lock(&(deviceListMutex)); - for (int i = 0; i < MAX_DEVICES; i++) { + for (i = 0; i < MAX_DEVICES; i++) { if (deviceList[i] == pDevice) { break; } else if (deviceList[i] == NULL) { @@ -190,8 +191,9 @@ static void devlist_add(ALCdevice *pDevice) { } static void devlist_remove(ALCdevice *pDevice) { + int i; pthread_mutex_lock(&(deviceListMutex)); - for (int i = 0; i < MAX_DEVICES; i++) { + for (i = 0; i < MAX_DEVICES; i++) { if (deviceList[i] == pDevice) { deviceList[i] = NULL; } @@ -200,8 +202,9 @@ static void devlist_remove(ALCdevice *pDevice) { } static void devlist_process(deviceListFn mapFunction) { + int i; pthread_mutex_lock(&(deviceListMutex)); - for (int i = 0; i < MAX_DEVICES; i++) { + for (i = 0; i < MAX_DEVICES; i++) { if (deviceList[i]) { pthread_mutex_unlock(&(deviceListMutex)); mapFunction(deviceList[i]); diff --git a/local.properties b/local.properties index 3d41297..211db44 100644 --- a/local.properties +++ b/local.properties @@ -7,4 +7,4 @@ # location of the SDK. This is only used by Ant # For customization when using a Version Control System, please read the # header note. -sdk.dir=/Developer/DestinyCloudFist/android-sdk-macosx +sdk.dir=/Developer/android-sdk