webkit.mk 2.38 KB
################################################################################
#
# webkit
#
################################################################################

WEBKIT_VERSION = 1.11.5
WEBKIT_SITE = http://www.webkitgtk.org/releases
WEBKIT_SOURCE = webkitgtk-$(WEBKIT_VERSION).tar.xz
WEBKIT_INSTALL_STAGING = YES
WEBKIT_DEPENDENCIES = host-ruby host-flex host-bison host-gperf enchant harfbuzz \
	icu jpeg libcurl libgail libsecret libsoup libxml2 libxslt libgtk2 sqlite webp

WEBKIT_DEPENDENCIES += \
	$(if $(BR_PACKAGE_XLIB_LIBXCOMPOSITE),xlib_libXcomposite) \
	$(if $(BR_PACKAGE_XLIB_LIBXDAMAGE),xlib_libXdamage)

# webkit-disable-tests.patch changes configure.ac therefore autoreconf required
WEBKIT_AUTORECONF = YES
WEBKIT_AUTORECONF_OPTS = -I $(@D)/Source/autotools

# parallel make install deadlocks with make 3.81
WEBKIT_INSTALL_STAGING_OPTS = -j1 DESTDIR=$(STAGING_DIR) install
WEBKIT_INSTALL_TARGET_OPTS = -j1 DESTDIR=$(TARGET_DIR) install

# Does not build and it's disabled by default
# in newer releases
define DISABLE_INDEXED_DATABASE
	$(SED) '/ENABLE_INDEXED_DATABASE/s:1:0:' \
		$(@D)/Source/WebCore/GNUmakefile.features.am
endef

WEBKIT_PRE_CONFIGURE_HOOKS += DISABLE_INDEXED_DATABASE

# Give explicit path to icu-config, and silence gazillions of warnings
# with recent gcc versions.
WEBKIT_CONF_ENV = ac_cv_path_icu_config=$(STAGING_DIR)/usr/bin/icu-config \
	CFLAGS="$(TARGET_CFLAGS) -Wno-cast-align -Wno-sign-compare" \
	CXXFLAGS="$(TARGET_CXXFLAGS) -Wno-cast-align -Wno-sign-compare" \
	AR_FLAGS="cru"

WEBKIT_CONF_OPTS += \
	--enable-dependency-tracking \
	--with-gtk=2.0 \
	--disable-geolocation \
	--disable-webkit2 \
	--disable-glibtest \
	--disable-video \
	--disable-tests

# Xorg Dependencies
WEBKIT_CONF_OPTS += --with-target=x11
WEBKIT_DEPENDENCIES += xlib_libXt

ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGLES),yy)
WEBKIT_CONF_OPTS += --enable-gles2
WEBKIT_DEPENDENCIES += libegl libgles
else
WEBKIT_CONF_OPTS += --disable-gles2
endif

# gles/egl support is prefered over opengl by webkit configure
ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
WEBKIT_CONF_OPTS += --with-acceleration-backend=opengl
WEBKIT_DEPENDENCIES += libgl
else
# OpenGL/glx is auto-detected due to the presence of gl.h/glx.h, which is not
# enough, so disable glx and the use of the OpenGL acceleration backend here
WEBKIT_CONF_OPTS += --disable-glx --with-acceleration-backend=none
endif

$(eval $(autotools-package))