Skip to content

Commit

Permalink
Updated Android build, including MOD, MP3 and OGG music support.
Browse files Browse the repository at this point in the history
  • Loading branch information
slouken committed Jun 2, 2013
1 parent 852f831 commit a11517f
Show file tree
Hide file tree
Showing 13 changed files with 3,213 additions and 10 deletions.
11 changes: 10 additions & 1 deletion .hgignore
Expand Up @@ -4,6 +4,15 @@ config.cache
config.log
config.status
Makefile
SDL2_mixer.pc
libtool
.deps
.libs
*.lo
*.o
*.la
*.lai
*.xcworkspacedata
*.xcuserdatad
.DS_Store
build
SDL2_mixer.pc
61 changes: 54 additions & 7 deletions Android.mk
Expand Up @@ -4,16 +4,63 @@ include $(CLEAR_VARS)

LOCAL_MODULE := SDL2_mixer

LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/.. \
$(LOCAL_PATH)/../SDL/include \
$(LOCAL_PATH)/../mikmod/include \
# Enable this if you want to support loading MOD music via mikmod
# The library path should be a relative path to this directory.
SUPPORT_MOD := true
MOD_LIBRARY_PATH := external/libmikmod-3.1.12

LOCAL_CFLAGS := -DWAV_MUSIC -DOGG_MUSIC -DOGG_USE_TREMOR -DMOD_MUSIC
# Enable this if you want to support loading MP3 music via SMPEG
# The library path should be a relative path to this directory.
SUPPORT_MP3 := true
MP3_LIBRARY_PATH := external/smpeg2-2.0.0

# Enable this if you want to support loading OGG Vorbis music via Tremor
# The library path should be a relative path to this directory.
SUPPORT_OGG := true
OGG_LIBRARY_PATH := external/libogg-1.3.1
VORBIS_LIBRARY_PATH := external/libvorbisidec-1.2.1


LOCAL_C_INCLUDES := $(NDK_PROJECT_PATH)/jni/SDL/include
LOCAL_CFLAGS := -DWAV_MUSIC

LOCAL_SRC_FILES := $(notdir $(filter-out %/playmus.c %/playwave.c, $(wildcard $(LOCAL_PATH)/*.c)))

LOCAL_SHARED_LIBRARIES := SDL2 mikmod
LOCAL_STATIC_LIBRARIES := tremor
LOCAL_LDLIBS :=
LOCAL_STATIC_LIBRARIES :=
LOCAL_SHARED_LIBRARIES := SDL2

ifeq ($(SUPPORT_MOD),true)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(MOD_LIBRARY_PATH)/include
LOCAL_CFLAGS += -DMOD_MUSIC
LOCAL_SHARED_LIBRARIES += mikmod
endif

ifeq ($(SUPPORT_MP3),true)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(MP3_LIBRARY_PATH)
LOCAL_CFLAGS += -DMP3_MUSIC
LOCAL_SHARED_LIBRARIES += smpeg2
endif

ifeq ($(SUPPORT_OGG),true)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(OGG_LIBRARY_PATH)/include $(LOCAL_PATH)/$(VORBIS_LIBRARY_PATH)
LOCAL_CFLAGS += -DOGG_MUSIC -DOGG_USE_TREMOR
LOCAL_SRC_FILES += \
$(VORBIS_LIBRARY_PATH)/mdct.c \
$(VORBIS_LIBRARY_PATH)/block.c \
$(VORBIS_LIBRARY_PATH)/window.c \
$(VORBIS_LIBRARY_PATH)/synthesis.c \
$(VORBIS_LIBRARY_PATH)/info.c \
$(VORBIS_LIBRARY_PATH)/floor1.c \
$(VORBIS_LIBRARY_PATH)/floor0.c \
$(VORBIS_LIBRARY_PATH)/vorbisfile.c \
$(VORBIS_LIBRARY_PATH)/res012.c \
$(VORBIS_LIBRARY_PATH)/mapping0.c \
$(VORBIS_LIBRARY_PATH)/registry.c \
$(VORBIS_LIBRARY_PATH)/codebook.c \
$(VORBIS_LIBRARY_PATH)/sharedbook.c \
$(OGG_LIBRARY_PATH)/src/framing.c \
$(OGG_LIBRARY_PATH)/src/bitwise.c
endif

include $(BUILD_SHARED_LIBRARY)
2 changes: 1 addition & 1 deletion dynamic_ogg.h
Expand Up @@ -21,7 +21,7 @@

#ifdef OGG_MUSIC
#ifdef OGG_USE_TREMOR
#include <tremor/ivorbisfile.h>
#include <ivorbisfile.h>
#else
#include <vorbis/vorbisfile.h>
#endif
Expand Down
66 changes: 66 additions & 0 deletions external/libmikmod-3.1.12/Android.mk
@@ -0,0 +1,66 @@
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := mikmod

LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_CFLAGS := -D_DLL -DDLL_EXPORTS -DHAVE_UNISTD_H -DHAVE_FCNTL_H

LOCAL_SRC_FILES := \
drivers/drv_AF.c \
drivers/drv_aix.c \
drivers/drv_alsa.c \
drivers/drv_esd.c \
drivers/drv_hp.c \
drivers/drv_nos.c \
drivers/drv_oss.c \
drivers/drv_pipe.c \
drivers/drv_raw.c \
drivers/drv_sam9407.c \
drivers/drv_sgi.c \
drivers/drv_stdout.c \
drivers/drv_sun.c \
drivers/drv_ultra.c \
drivers/drv_wav.c \
loaders/load_669.c \
loaders/load_amf.c \
loaders/load_dsm.c \
loaders/load_far.c \
loaders/load_gdm.c \
loaders/load_imf.c \
loaders/load_it.c \
loaders/load_m15.c \
loaders/load_med.c \
loaders/load_mod.c \
loaders/load_mtm.c \
loaders/load_okt.c \
loaders/load_s3m.c \
loaders/load_stm.c \
loaders/load_stx.c \
loaders/load_ult.c \
loaders/load_uni.c \
loaders/load_xm.c \
mmio/mmalloc.c \
mmio/mmerror.c \
mmio/mmio.c \
playercode/mdreg.c \
playercode/mdriver.c \
playercode/mdulaw.c \
playercode/mloader.c \
playercode/mlreg.c \
playercode/mlutil.c \
playercode/mplayer.c \
playercode/munitrk.c \
playercode/mwav.c \
playercode/npertab.c \
playercode/sloader.c \
playercode/virtch.c \
playercode/virtch2.c \
playercode/virtch_common.c

LOCAL_LDLIBS :=
LOCAL_STATIC_LIBRARIES :=
LOCAL_SHARED_LIBRARIES :=

include $(BUILD_SHARED_LIBRARY)
7 changes: 7 additions & 0 deletions external/libmikmod-3.1.12/drivers/drv_raw.c
Expand Up @@ -50,6 +50,13 @@
#ifndef O_BINARY
#define O_BINARY 0
#endif
#ifndef S_IREAD
#define S_IREAD S_IRUSR
#endif
#ifndef S_IWRITE
#define S_IWRITE S_IWUSR
#endif


#if defined(WIN32) && !defined(__MWERKS__)
#define open _open
Expand Down

0 comments on commit a11517f

Please sign in to comment.