[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