ICONV_VERSION = 1.14
ICONV_DIR = $(ROOT)/deps/libiconv/
-ICONV_LIB = $(ICONV_DIR)/iconv.so
+ICONV_LIB = $(ICONV_DIR)/lib/.libs/libiconv.so
ICONV_TIMESTAMP = $(ICONV_DIR)timestamp
ICONV_TIMESTAMP_INT = $(ROOT)/deps/iconv_timestamp
ICONV_URL_HTTP = http://ftp.gnu.org/pub/gnu/libiconv/libiconv-$(ICONV_VERSION).tar.gz
fi
iconv_download :
- @if [ ! -d ${ICONV_DIR} ] ; then \
- echo "iconv sources missing, downloading..."; \
- mkdir -p ${ROOT}/deps; \
- cd ${ROOT}/deps; \
- wget ${ICONV_URL_HTTP} || exit 1; \
- tar -xzf libiconv-${ICONV_VERSION}.tar.gz || exit 1; \
- rm libiconv-${ICONV_VERSION}.tar.gz; \
- ln -s libiconv-${ICONV_VERSION} libiconv; \
- cd ${ICONV_DIR}; \
- patch -p1 < ${ROOT}/libiconv_android.patch; \
- patch -p1 < ${ROOT}/libiconv_android_mk.patch; \
- patch -p1 < ${ROOT}/libiconv_stdio.patch; \
- cd jni; \
- ln -s .. src; \
+ @if [ ! -d ${ICONV_DIR} ] ; then \
+ echo "iconv sources missing, downloading..."; \
+ mkdir -p ${ROOT}/deps; \
+ cd ${ROOT}/deps; \
+ wget ${ICONV_URL_HTTP} || exit 1; \
+ tar -xzf libiconv-${ICONV_VERSION}.tar.gz || exit 1; \
+ rm libiconv-${ICONV_VERSION}.tar.gz; \
+ ln -s libiconv-${ICONV_VERSION} libiconv; \
+ cd ${ICONV_DIR}; \
+ patch -p1 < ${ROOT}/libiconv_android.patch; \
+ patch -p1 < ${ROOT}/libiconv_stdio.patch; \
fi
iconv : $(ICONV_LIB)
$(ICONV_LIB) : $(ICONV_TIMESTAMP)
@REFRESH=0; \
- if [ ! -e ${ICONV_TIMESTAMP_INT} ] ; then \
- REFRESH=1; \
+ if [ ! -e ${ICONV_TIMESTAMP_INT} ] ; then \
+ REFRESH=1; \
fi; \
- if [ ! -e ${ICONV_LIB} ] ; then \
- REFRESH=1; \
+ if [ ! -e ${ICONV_LIB} ] ; then \
+ REFRESH=1; \
fi; \
- if [ ${ICONV_TIMESTAMP} -nt ${ICONV_TIMESTAMP_INT} ] ; then \
- REFRESH=1; \
+ if [ ${ICONV_TIMESTAMP} -nt ${ICONV_TIMESTAMP_INT} ] ; then \
+ REFRESH=1; \
fi; \
if [ $$REFRESH -ne 0 ] ; then \
- mkdir -p ${ICONV_DIR}; \
+ mkdir -p ${ICONV_DIR}; \
export PATH=$$PATH:${SDKFOLDER}/platform-tools:${ANDROID_NDK}; \
- echo "changed timestamp for iconv detected building..."; \
- cd ${ICONV_DIR}; \
- ./configure; \
- make; \
- export NDK_PROJECT_PATH=${ICONV_DIR}; \
- ndk-build NDEBUG=${NDEBUG} NDK_MODULE_PATH=${NDK_MODULE_PATH} \
- APP_PLATFORM=${APP_PLATFORM} APP_ABI=${TARGET_ABI} \
- TARGET_CFLAGS+="${TARGET_CFLAGS_ADDON}" \
- TARGET_LDFLAGS+="${TARGET_LDFLAGS_ADDON}" \
- TARGET_CXXFLAGS+="${TARGET_CXXFLAGS_ADDON}" || exit 1; \
- touch ${ICONV_TIMESTAMP}; \
- touch ${ICONV_TIMESTAMP_INT}; \
+ echo "changed timestamp for iconv detected building..."; \
+ cd ${ICONV_DIR}; \
+ \
+ export TOOLCHAIN=/tmp/ndk-${TARGET_HOST}-iconv; \
+ ${ANDROID_NDK}/build/tools/make-standalone-toolchain.sh \
+ --toolchain=${TARGET_TOOLCHAIN}${COMPILER_VERSION} \
+ --install-dir=$${TOOLCHAIN}; \
+ export PATH="$${TOOLCHAIN}/bin:$${PATH}"; \
+ export CC=${CROSS_PREFIX}gcc; \
+ export CXX=${CROSS_PREFIX}g++; \
+ export TARGET_OS=OS_ANDROID_CROSSCOMPILE; \
+ ./configure --host=${TARGET_HOST} || exit 1; \
+ sed -i 's/LIBICONV_VERSION_INFO) /LIBICONV_VERSION_INFO) -avoid-version /g' lib/Makefile; \
+ grep "iconv_LDFLAGS" src/Makefile; \
+ $(MAKE) -s || exit 1; \
+ touch ${ICONV_TIMESTAMP}; \
+ touch ${ICONV_TIMESTAMP_INT}; \
+ rm -rf ${TOOLCHAIN}; \
else \
- echo "nothing to be done for iconv"; \
+ echo "nothing to be done for iconv"; \
fi
clean_iconv :
include $(CLEAR_VARS)
LOCAL_MODULE := iconv
-LOCAL_SRC_FILES := deps/libiconv/obj/local/$(TARGET_ARCH_ABI)/libiconv.a
-include $(PREBUILT_STATIC_LIBRARY)
+LOCAL_SRC_FILES := deps/libiconv/lib/.libs/libiconv.so
+include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := openal
# json
LOCAL_SRC_FILES += jni/src/json/jsoncpp.cpp
-LOCAL_SHARED_LIBRARIES := openal ogg vorbis gmp
-LOCAL_STATIC_LIBRARIES := Irrlicht iconv freetype curl ssl crypto android_native_app_glue $(PROFILER_LIBS)
+LOCAL_SHARED_LIBRARIES := iconv openal ogg vorbis gmp
+LOCAL_STATIC_LIBRARIES := Irrlicht freetype curl ssl crypto android_native_app_glue $(PROFILER_LIBS)
ifeq ($(HAVE_LEVELDB), 1)
LOCAL_STATIC_LIBRARIES += LevelDB
+++ /dev/null
-From fe27aae178d65b06d5f4104158343b0d2d33e3f0 Mon Sep 17 00:00:00 2001
-From: Pierre Zurek <pierrezurek@gmail.com>
-Date: Sat, 2 Apr 2011 23:11:57 +0200
-Subject: [PATCH] Added Android.mk.
-
-This makefile first executes the configure script, that will
-generate the config.h files necessary to build iconv.
----
- Android.mk | 29 +++++++++++++++++++++++++++++
- 1 file changed, 29 insertions(+)
- create mode 100644 Android.mk
-
-diff --git a/jni/Android.mk b/jni/Android.mk
-new file mode 100644
-index 0000000..799b22d
---- /dev/null
-+++ b/jni/Android.mk
-@@ -0,0 +1,32 @@
-+LOCAL_PATH := $(call my-dir)
-+include $(CLEAR_VARS)
-+
-+LOCAL_ARM_MODE := arm
-+
-+LOCAL_SRC_FILES := src/lib/iconv.c \
-+ src/libcharset/lib/localcharset.c \
-+ src/lib/relocatable.c
-+
-+LOCAL_C_INCLUDES += $(LOCAL_PATH)/src/include \
-+ $(LOCAL_PATH)/src/libcharset \
-+ $(LOCAL_PATH)/src/libcharset/include
-+
-+LOCAL_CFLAGS := \
-+ -DLIBDIR="\"c\"" \
-+ -D_ANDROID \
-+ -DBUILDING_LIBCHARSET \
-+ -DBUILDING_LIBICONV \
-+ -DBUILDING_LIBICONV \
-+ -DIN_LIBRARY
-+
-+LOCAL_MODULE:= iconv
-+
-+$(info Configuring iconv...)
-+COMMAND := $(shell \
-+ export PATH=$(TOOLCHAIN_INSTALL_DIR)/bin:$$PATH; \
-+ cd $(LOCAL_PATH); \
-+ make distclean; \
-+ ./configure --host="arm-linux-androideabi")
-+$(info iconv configured.)
-+
-+include $(BUILD_STATIC_LIBRARY)
-+
--- a/srclib/stdio.in.h 2011-08-07 15:42:06.000000000 +0200
+++ b/srclib/stdio.in.h 2015-06-10 09:27:58.129056262 +0200
-@@ -695,7 +696,8 @@ _GL_CXXALIASWARN (gets);
+@@ -695,8 +696,9 @@ _GL_CXXALIASWARN (gets);
/* It is very rare that the developer ever has full control of stdin,
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+/*_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");*/
+#define gets(a) fgets( a, sizeof(*(a)), stdin)
- #endif
\ No newline at end of file
+ #endif
+
+
+#if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@