buildroot/package/webkitgtk/Config.in
Bernd Kuhls 30ed9de2fd package/gnutls: disable for static build
The gnutils code uses __attribute__((constructor)) and
__attribute__((destructor)) to call constructor/desctructor when a
shared library is loaded.
Constructor/desctructor are not used when a static library is used
(except when if -Wl,--whole-archive -lgnutls -Wno-whole-archive is
used, not tested).

Even if gnutls initialization (_gnutls_global_init()) may be
called manually, the gnutls maintainer said it's not supported [1].

"Note that static linking applications with gnutls is not something
 supported. gnutls relies on library constructors and destructors
 which are not loaded when linking statically."

Now the gnutls script warns about static linking [2].

So disable gnutls statically by adding "depends on !BR2_STATIC_LIBS"
at Kconfig level and --disable-static in GNUTLS_CONF_OPTS.

Fixes:
[taskd] http://autobuild.buildroot.net/results/c2d/c2dd5c1c9dc87d2943c15e58ee56e67d7375368c
[ffmpeg] http://autobuild.buildroot.net/results/892/8926d319d6d1cd1ee72239ad7d9ca869d2355628
[sngrep] http://autobuild.buildroot.net/results/f7f/f7fb42d3742f6f01000a0d181e0c785640284405

[1] https://gitlab.com/gnutls/gnutls/issues/203
[2] 6b74888679

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Romain: merge our two patches together
    add some option comment
    disable static libgnutls.a
    add sngrep autobuilder reference]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: do not disable libgnutls.a]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-29 22:52:34 +02:00

82 lines
2.8 KiB
Plaintext

config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
bool
# ARM needs BLX, so v5t+, BE completely untested so disabled
default y if BR2_arm && !BR2_ARM_CPU_ARMV4
default y if BR2_i386 || BR2_x86_64
# Disabled on MIPS big endian due to sigbus
default y if BR2_mipsel || BR2_mips64el
# Disabled on PowerPC pending runtime testing
# Disabled on SuperH because of segfault
depends on BR2_USE_MMU # libglib2
depends on BR2_TOOLCHAIN_HAS_SYNC_4
comment "webkitgtk needs libgtk3 and a glibc toolchain w/ C++, gcc >= 4.9"
depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_USES_GLIBC || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
depends on BR2_USE_MMU
config BR2_PACKAGE_WEBKITGTK
bool "webkitgtk"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
depends on BR2_TOOLCHAIN_USES_GLIBC
depends on BR2_PACKAGE_LIBGTK3
depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_PNG
select BR2_PACKAGE_ENCHANT
select BR2_PACKAGE_HARFBUZZ
select BR2_PACKAGE_ICU
select BR2_PACKAGE_JPEG
select BR2_PACKAGE_LIBSECRET
select BR2_PACKAGE_LIBSOUP
select BR2_PACKAGE_LIBXML2
select BR2_PACKAGE_LIBXSLT
select BR2_PACKAGE_SQLITE
select BR2_PACKAGE_WEBP
select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11
select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11
select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11
select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_LIBGTK3_X11
help
WebKit is an open source, standards compliant web browser engine.
http://www.webkitgtk.org/
if BR2_PACKAGE_WEBKITGTK
config BR2_PACKAGE_WEBKITGTK_HTTPS
bool "HTTPS support"
depends on !BR2_STATIC_LIBS # gnutls -> libsoup
select BR2_PACKAGE_CA_CERTIFICATES # runtime
select BR2_PACKAGE_LIBSOUP_SSL
help
Enable HTTPS protocol support.
comment "webkitgtk https support needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
config BR2_PACKAGE_WEBKITGTK_MULTIMEDIA
bool "multimedia support"
select BR2_PACKAGE_GSTREAMER1
select BR2_PACKAGE_GST1_PLUGINS_BASE
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME
select BR2_PACKAGE_GST1_PLUGINS_GOOD
select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4
select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP
select BR2_PACKAGE_GST1_LIBAV
help
This option pulls in all of the required dependencies
to enable multimedia (video/audio) support.
endif