[Android] [PATCH 8/8] contrib: Prevent __gxx_personality_v0 errors in certain C++ libs
Rafaël Carré
funman at videolan.org
Wed Jul 25 09:48:51 CEST 2012
Can we make -frtti -fno-exceptions global ?
Then we can enable exceptions e.g. for live555 only
Le 2012-07-25 04:51, Edward Wang a écrit :
> Modplug and taglib refuse to compile without explicitly disabling exceptions:
>
> CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o:(.data.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0):
> undefined reference to `__gxx_personality_v0'
> ---
> contrib/src/modplug/rules.mak | 10 +++++++++-
> contrib/src/taglib/rules.mak | 10 +++++++++-
> 2 files changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/contrib/src/modplug/rules.mak b/contrib/src/modplug/rules.mak
> index 674ae7f..33a444c 100644
> --- a/contrib/src/modplug/rules.mak
> +++ b/contrib/src/modplug/rules.mak
> @@ -19,7 +19,15 @@ libmodplug: libmodplug-$(MODPLUG_VERSION).tar.gz .sum-modplug
> $(call pkg_static,"libmodplug.pc.in")
> $(MOVE)
>
> +MODPLUG_EXTRA_CXXFLAGS = ""
> +ifdef HAVE_ANDROID
> +ifeq ($(ANDROID_ABI), x86)
> +# Prevent undefined reference to `__gxx_personality_v0'
> +MODPLUG_EXTRA_CXXFLAGS = CXXFLAGS="${CXXFLAGS} -frtti -fno-exceptions"
> +endif
> +endif
> +
> .modplug: libmodplug
> - cd $< && $(HOSTVARS) ./configure $(HOSTCONF)
> + cd $< && $(HOSTVARS) $(MODPLUG_EXTRA_CXXFLAGS) ./configure $(HOSTCONF)
> cd $< && $(MAKE) install
> touch $@
> diff --git a/contrib/src/taglib/rules.mak b/contrib/src/taglib/rules.mak
> index c3ccfb8..ead0c73 100644
> --- a/contrib/src/taglib/rules.mak
> +++ b/contrib/src/taglib/rules.mak
> @@ -20,8 +20,16 @@ ifdef HAVE_WIN32
> endif
> $(MOVE)
>
> +TAGLIB_EXTRA_CXXFLAGS = ""
> +ifdef HAVE_ANDROID
> +ifeq ($(ANDROID_ABI), x86)
> +# Prevent undefined reference to `__gxx_personality_v0'
> +TAGLIB_EXTRA_CXXFLAGS = CXXFLAGS="${CXXFLAGS} -fno-exceptions"
> +endif
> +endif
> +
> .taglib: taglib toolchain.cmake
> - cd $< && $(HOSTVARS_PIC) $(CMAKE) \
> + cd $< && $(HOSTVARS_PIC) $(TAGLIB_EXTRA_CXXFLAGS) $(CMAKE) \
> -DENABLE_STATIC:BOOL=ON \
> -DWITH_ASF:BOOL=ON \
> -DWITH_MP4:BOOL=ON .
>
More information about the Android
mailing list