[Android] [PATCH] android: build gnutls

某因幡 tewilove at gmail.com
Tue Mar 6 09:57:49 CET 2012


Did you forget libnettle and gmp?
And I also get:
.././vlc/contrib/arm-linux-androideabi/lib/libgnutls.a(gnutls_global.o):
In function `gnutls_global_init':
gnutls_global.c:(.text+0x23c): undefined reference to `gl_sockets_startup'
.././vlc/contrib/arm-linux-androideabi/lib/libgnutls.a(gnutls_global.o):
In function `gnutls_global_deinit':
gnutls_global.c:(.text+0x59c): undefined reference to `gl_sockets_cleanup'
So it seems gl is not bypassed.

2012/3/5 Rafaël Carré <funman at videolan.org>:
> Le 2012-03-04 04:31, 某因幡 a écrit :
>> 2012/3/4 Rafaël Carré <funman at videolan.org>:
>>> On Sat, 3 Mar 2012 21:28:36 +0800
>>> 某因幡 <tewilove at gmail.com> wrote:
>>>
>>>> From 25d84d422ad961e2403ac0530baa599ebd36fcda Mon Sep 17 00:00:00 2001
>>>> From: tewilove <tewilove at gmail.com>
>>>> Date: Fri, 2 Mar 2012 23:27:45 -0800
>>>> Subject: [PATCH] android: build gnutls
>>>>
>>>> ---
>>>>  contrib/src/gnutls/no-create-time-h.patch |   11 +++++++++++
>>>>  contrib/src/gnutls/rules.mak              |    9 +++++++--
>>>>  2 files changed, 18 insertions(+), 2 deletions(-)
>>>>  create mode 100644 contrib/src/gnutls/no-create-time-h.patch
>>>>
>>>> diff --git a/contrib/src/gnutls/no-create-time-h.patch b/contrib/src/gnutls/no-create-time-h.patch
>>>> new file mode 100644
>>>> index 0000000..ac6fe66
>>>> --- /dev/null
>>>> +++ b/contrib/src/gnutls/no-create-time-h.patch
>>>> @@ -0,0 +1,11 @@
>>>> +--- gnutls/lib/gl/Makefile.am        2011-04-07 17:30:44.000000000 -0700
>>>> ++++ gnutls/lib/gl/Makefile.am        2012-03-02 19:51:53.576555217 -0800
>>>> +@@ -891,7 +891,7 @@ EXTRA_DIST += sys_stat.in.h
>>>> +
>>>> + ## begin gnulib module time
>>>> +
>>>> +-BUILT_SOURCES += time.h
>>>> ++#BUILT_SOURCES += time.h
>>>> +
>>>> + # We need the following in order to create <time.h> when the system
>>>> + # doesn't have one that works with the given compiler.
>>>> diff --git a/contrib/src/gnutls/rules.mak b/contrib/src/gnutls/rules.mak
>>>> index 1e12fc4..12292f4 100644
>>>> --- a/contrib/src/gnutls/rules.mak
>>>> +++ b/contrib/src/gnutls/rules.mak
>>>> @@ -19,7 +19,7 @@ ifdef HAVE_WIN32
>>>>       $(APPLY) $(SRC)/gnutls/gnutls-win32.patch
>>>>  endif
>>>>  ifdef HAVE_ANDROID
>>>> -     $(APPLY) $(SRC)/gnutls/no-gl.patch
>>>
>>> What is the problem with the current patch?
>>> It skips gl/ entirely while your patch only avoids 2 headers.
>>>
>>> I am not sure if I tested https but gnutls builds fine already.
>>>
>>
>> Yes it builds fine but when --enable-gcrypt is specified the android
>> build is not linking, already add gnutls and dependencies to LDFLAGS
>> in Android.mk, saying some functions (appears in gnutls/lib/gl) cannot
>> be found.
>
> gnutls/lib/gl should be skipped entirely and libraries should not link
> to it, perhaps you have an old build of gnutls ?
>
> I just try and linking works,
>
> Here is my diff for android:
>
> diff --git a/vlc-android/jni/Android.mk b/vlc-android/jni/Android.mk
> index 9fe7b28..4e09b31 100644
> --- a/vlc-android/jni/Android.mk
> +++ b/vlc-android/jni/Android.mk
> @@ -31,7 +31,7 @@ LOCAL_LDLIBS := -L$(VLC_CONTRIB)/lib \
>        -lavformat -lavcodec -lswscale -lavutil -lpostproc -lgsm -lopenjpeg \
>        -lliveMedia -lUsageEnvironment -lBasicUsageEnvironment -lgroupsock \
>        -lspeex -lspeexdsp \
> -       -lxml2 -lpng \
> +       -lxml2 -lpng -lgnutls -lgcrypt -lgpg-error -llua \
>        $(CPP_STATIC)
>
>  include $(BUILD_SHARED_LIBRARY)
>
> And for vlc:
>
> diff --git a/extras/package/android/configure.sh
> b/extras/package/android/configure.sh
> index fe687d7..fccb8f2 100755
> --- a/extras/package/android/configure.sh
> +++ b/extras/package/android/configure.sh
> @@ -14,7 +14,7 @@
> LDFLAGS="-Wl,-Bdynamic,-dynamic-linker=/system/bin/linker
> -Wl,--no-undefined"
>
>  if [ -z "$NO_NEON" ]; then
>     CXX_TARGET="armeabi-v7a"
> -    CFLAGS="$CFLAGS -mfpu=neon -march=armv7-a -mtune=cortex-a8
> -mfloat-abi=softfp -ftree-vectorize -mvectorize-with-neon-quad
> -funsafe-math-optimizations"
> +    CFLAGS="$CFLAGS -mfpu=neon -march=armv7-a -mtune=cortex-a8
> -mfloat-abi=softfp -ftree-vectorize -mvectorize-with-neon-quad
> -funsafe-math-optimizations -mthumb -mthumb-interwork"
>     LDFLAGS="$LDFLAGS -Wl,--fix-cortex-a8"
>     EXTRA_PARAMS=" --enable-neon"
>  else
> @@ -40,6 +40,7 @@ NM="${CROSS_COMPILE}nm" \
>  STRIP="${CROSS_COMPILE}strip" \
>  RANLIB="${CROSS_COMPILE}ranlib" \
>  AR="${CROSS_COMPILE}ar" \
> +PKG_CONFIG_PATH="" \
>  sh $VLC_SOURCEDIR/configure --host=arm-linux-androideabi
> --build=x86_64-unknown-linux $EXTRA_PARAMS \
>                 --enable-live555 --enable-realrtsp \
>                 --enable-avformat \
> @@ -53,8 +54,7 @@ sh $VLC_SOURCEDIR/configure
> --host=arm-linux-androideabi --build=x86_64-unknown-
>                 --disable-vlc --disable-shared \
>                 --disable-vlm --disable-sout \
>                 --disable-dbus \
> -                --disable-lua \
> -                --disable-libgcrypt \
> +                --enable-lua \
>                 --disable-vcd \
>                 --disable-v4l2 \
>                 --disable-gnomevfs \
> @@ -100,4 +100,5 @@ sh $VLC_SOURCEDIR/configure
> --host=arm-linux-androideabi --build=x86_64-unknown-
>                 --disable-goom \
>                 --disable-projectm \
>                 --enable-iomx \
> +                --enable-gnutls \
>                 $*
>
>
> I have enabled lua and thumb code but it shoudln't matter.
>
>
> Can you paste your diff and the linking error ?
>
> Also you can force rebuilding only gnutls by cd contrib/android; rm -fr
> gnutls; make -j4 .gnutls
> _______________________________________________
> Android mailing list
> Android at videolan.org
> http://mailman.videolan.org/listinfo/android



-- 
language: Chinese, Japanese, English


More information about the Android mailing list