[Android] [PATCH 2/4] android: build libass and dependencies

某因幡 tewilove at gmail.com
Sun Mar 18 12:00:15 CET 2012


At least this enables subtitles, although it's slow for some complex
ass scripts.


2012/3/5 Rafaël Carré <funman at videolan.org>:
> Le 2012-03-04 18:13, Rafaël Carré a écrit :
>> From: tewilove <tewilove at gmail.com>
>>
>> Modified-by: funman (replace config.* patch by UPDATE_AUTOCONFIG)
>> ---
>>  contrib/src/ass/rules.mak                |    9 +++++++
>>  contrib/src/iconv/libiconv-android.patch |   38 ++++++++++++++++++++++++++++++
>>  contrib/src/iconv/rules.mak              |    4 +++
>>  extras/package/android/configure.sh      |    4 +-
>>  4 files changed, 53 insertions(+), 2 deletions(-)
>>  create mode 100644 contrib/src/iconv/libiconv-android.patch
>>
>> diff --git a/contrib/src/ass/rules.mak b/contrib/src/ass/rules.mak
>> index 8e6dae4..8583f8e 100644
>> --- a/contrib/src/ass/rules.mak
>> +++ b/contrib/src/ass/rules.mak
>> @@ -16,10 +16,19 @@ libass: libass-$(ASS_VERSION).tar.gz .sum-ass
>>       $(UNPACK)
>>       $(MOVE)
>>
>> +ifndef HAVE_ANDROID
>>  DEPS_ass = freetype2 $(DEPS_freetype2) fontconfig $(DEPS_fontconfig) fribidi
>> +else
>> +DEPS_ass = freetype2 $(DEPS_freetype2) fribidi
>> +endif
>
> It could probably use a comment to say why fontconfig is disabled
> because it was not obvious to me.
>
>>  .ass: libass
>>       #$(RECONF)
>> +ifndef HAVE_ANDROID
>>       cd $< && $(HOSTVARS) CFLAGS="$(CFLAGS) -O3" ./configure $(HOSTCONF) --disable-enca
>> +else
>> +     $(RECONF)
>
> Reconf should not be optional but run for all platforms or none.
> Why do you need it? Perhaps UPDATE_AUTOCONFIG is enough.
>
>> +     cd $< && $(HOSTVARS) CFLAGS="$(CFLAGS) -O3" ./configure $(HOSTCONF) --disable-enca --disable-fontconfig
>> +endif
>>       cd $< && $(MAKE) install
>>       touch $@
>
>> diff --git a/contrib/src/iconv/libiconv-android.patch b/contrib/src/iconv/libiconv-android.patch
>> new file mode 100644
>> index 0000000..7435cba
>> --- /dev/null
>> +++ b/contrib/src/iconv/libiconv-android.patch
>> @@ -0,0 +1,38 @@
>> +--- libiconv/Makefile.in     2009-06-21 19:17:33.000000000 +0800
>> ++++ libiconv/Makefile.in     2011-10-13 22:51:46.000000000 +0800
>> +@@ -32,11 +32,6 @@ SHELL = /bin/sh
>> + all : lib/localcharset.h force
>> +     cd lib && $(MAKE) all
>> +     cd preload && $(MAKE) all
>> +-    cd srclib && $(MAKE) all
>> +-    cd src && $(MAKE) all
>> +-    cd po && $(MAKE) all
>> +-    cd man && $(MAKE) all
>> +-    if test -d tests; then cd tests && $(MAKE) all; fi
>> +
>> + lib/localcharset.h :
>> +     builddir="`pwd`"; cd libcharset && $(MAKE) all && $(MAKE) install-lib libdir="$$builddir/lib" includedir="$$builddir/lib"
>> +@@ -52,23 +47,16 @@ install : lib/localcharset.h force
>> +     cd libcharset && $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
>> +     cd lib && $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
>> +     cd preload && $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
>> +-    cd srclib && $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
>> +-    cd src && $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
>> +     if [ ! -d $(DESTDIR)$(includedir) ] ; then $(mkinstalldirs) $(DESTDIR)$(includedir) ; fi
>> +     $(INSTALL_DATA) include/iconv.h.inst $(DESTDIR)$(includedir)/iconv.h
>> +-    cd po && $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' datarootdir='$(datarootdir)' datadir='$(datadir)'
>> +-    cd man && $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' datarootdir='$(datarootdir)' datadir='$(datadir)' mandir='$(mandir)'
>> +
>> + install-strip : lib/localcharset.h force
>> +     cd libcharset && $(MAKE) install-strip prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
>> +     cd lib && $(MAKE) install-strip prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
>> +     cd preload && $(MAKE) install-strip prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
>> +     cd srclib && $(MAKE) install-strip prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
>> +-    cd src && $(MAKE) install-strip prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
>> +     if [ ! -d $(DESTDIR)$(includedir) ] ; then $(mkinstalldirs) $(DESTDIR)$(includedir) ; fi
>> +     $(INSTALL_DATA) include/iconv.h.inst $(DESTDIR)$(includedir)/iconv.h
>> +-    cd po && $(MAKE) install-strip prefix='$(prefix)' exec_prefix='$(exec_prefix)' datarootdir='$(datarootdir)' datadir='$(datadir)'
>> +-    cd man && $(MAKE) install-strip prefix='$(prefix)' exec_prefix='$(exec_prefix)' datarootdir='$(datarootdir)' datadir='$(datadir)' mandir='$(mandir)'
>> +
>> + installdirs : force
>> +     cd libcharset && $(MAKE) installdirs prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
>> diff --git a/contrib/src/iconv/rules.mak b/contrib/src/iconv/rules.mak
>> index 5c6e2b9..f234590 100644
>> --- a/contrib/src/iconv/rules.mak
>> +++ b/contrib/src/iconv/rules.mak
>> @@ -23,6 +23,10 @@ ifdef HAVE_WINCE
>>       $(APPLY) $(SRC)/iconv/libiconv-wince.patch
>>       $(APPLY) $(SRC)/iconv/libiconv-wince-hack.patch
>>  endif
>> +ifdef HAVE_ANDROID
>> +     $(APPLY) $(SRC)/iconv/libiconv-android.patch
>> +endif
>> +     $(UPDATE_AUTOCONFIG) && cd $(UNPACK_DIR) && cp config.guess config.sub libcharset/build-aux && mv config.guess config.sub build-aux
>>       $(MOVE)
>>
>>  .iconv: iconv
>
> This should be committed separately.
>
> I don't know how iconv source is split, why do you skip src/ and srclib/
> directories?
>
> By the way this should solve the bug with MMS access mentioned on the list.
>
>> diff --git a/extras/package/android/configure.sh b/extras/package/android/configure.sh
>> index 64acd0d..920598b 100755
>> --- a/extras/package/android/configure.sh
>> +++ b/extras/package/android/configure.sh
>> @@ -89,8 +89,8 @@ sh $VLC_SOURCEDIR/configure --host=arm-linux-androideabi --build=x86_64-unknown-
>>                  --disable-mtp \
>>                  --enable-taglib \
>>                  --disable-notify \
>> -                --disable-freetype \
>> -                --disable-libass \
>> +                --enable-freetype \
>> +                --enable-libass \
>>                  --disable-svg \
>>                  --disable-sqlite \
>>                  --disable-udev \
>
> OK of course.
>
> BTW This script should move to vlc-android repo, so when we enable a new
> lib we modify:
>        - configure.sh
>        - compile.sh
>        - Android.mk
> all at the same time.
> _______________________________________________
> Android mailing list
> Android at videolan.org
> http://mailman.videolan.org/listinfo/android



-- 
language: Chinese, Japanese, English
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-android-build-libass.patch
Type: text/x-patch
Size: 8420 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/android/attachments/20120318/c8a96147/attachment.bin>


More information about the Android mailing list