################################################################################
#
# webkitgtk 2.4.x
#
################################################################################

WEBKITGTK24_VERSION = 2.4.9
WEBKITGTK24_SITE = http://www.webkitgtk.org/releases
WEBKITGTK24_SOURCE = webkitgtk-$(WEBKITGTK24_VERSION).tar.xz
WEBKITGTK24_INSTALL_STAGING = YES
WEBKITGTK24_LICENSE = LGPLv2+ BSD-2c
WEBKITGTK24_LICENSE_FILES = \
	Source/WebCore/LICENSE-APPLE \
	Source/WebCore/LICENSE-LGPL-2
WEBKITGTK24_DEPENDENCIES = host-ruby host-flex host-bison host-gperf \
	enchant harfbuzz icu jpeg libcurl libgtk2 libsecret libsoup \
	libxml2 libxslt sqlite webp

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

# make 3.81 loops into oblivion with numjobs > 1
ifneq ($(findstring x3.81,x$(RUNNING_MAKE_VERSION)),)
WEBKITGTK24_MAKE = $(MAKE1)
endif

# Give explicit path to icu-config to avoid host leakage
WEBKITGTK24_CONF_ENV = ac_cv_path_icu_config=$(STAGING_DIR)/usr/bin/icu-config

# Some 32-bit architectures need libatomic support for 64-bit ops
ifeq ($(BR2_i386)$(BR2_mips)$(BR2_mipsel)$(BR2_sh),y)
WEBKITGTK24_CONF_ENV += LIBS="-latomic"
endif

# dependency tracking is to avoid build issues in the GEN/WTF phase
WEBKITGTK24_CONF_OPTS = \
	--enable-dependency-tracking \
	--enable-spellcheck \
	--disable-geolocation \
	--disable-glibtest \
	--disable-gtk-doc-html \
	--disable-wayland-target

ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y)
WEBKITGTK24_CONF_OPTS += \
	--enable-video \
	--enable-web-audio
WEBKITGTK24_DEPENDENCIES += gst1-plugins-good
else
WEBKITGTK24_CONF_OPTS += \
	--disable-video \
	--disable-web-audio
endif

# OpenGL
ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
WEBKITGTK24_CONF_OPTS += \
	--enable-accelerated-compositing  \
	--enable-glx \
	--enable-webgl \
	--disable-gles2
WEBKITGTK24_DEPENDENCIES += libgl
# EGL + GLES
else ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGLES),yy)
WEBKITGTK24_CONF_OPTS += \
	--enable-accelerated-compositing \
	--enable-gles2 \
	--enable-webgl \
	--disable-glx
WEBKITGTK24_DEPENDENCIES += libegl libgles
# No GL
else
WEBKITGTK24_CONF_OPTS += \
	--disable-accelerated-compositing \
	--disable-gles2 \
	--disable-glx \
	--disable-webgl
endif

# X11 target with GTK2 (optionally GTK3)
ifeq ($(BR2_PACKAGE_XLIB_LIBXT),y)
WEBKITGTK24_CONF_OPTS += --enable-x11-target
WEBKITGTK24_DEPENDENCIES += xlib_libXt
else
WEBKITGTK24_CONF_OPTS += --disable-x11-target
endif

# ARM needs NEON for JIT
# i386 & x86_64 don't seem to have any special requirements
ifeq ($(BR2_ARM_ENABLE_NEON)$(BR2_i386)$(BR2_x86_64),y)
WEBKITGTK24_CONF_OPTS += --enable-jit
else
WEBKITGTK24_CONF_OPTS += --disable-jit
# Disabling assembly and JIT needs an extra push sometimes (ppc)
# See https://bugs.webkit.org/show_bug.cgi?format=multiple&id=113638
WEBKITGTK24_CONF_ENV += \
	CPPFLAGS="$(TARGET_CPPFLAGS) -DENABLE_JIT=0 -DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0"
endif

# webkit1 (old API) uses gtk2, webkit2 (new API) uses gtk3
# Both can be built simultaneously, prefer "newer" for size/time savings
# gtk2 is mandatory for plugin support
ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
WEBKITGTK24_CONF_OPTS += \
	--with-gtk=3.0 \
	--disable-webkit1
WEBKITGTK24_DEPENDENCIES += libgtk3
define WEBKITGTK24_INSTALL_BROWSER
	$(INSTALL) -D -m 0755 $(@D)/Programs/MiniBrowser \
		$(TARGET_DIR)/usr/bin/MiniBrowser
endef
WEBKITGTK24_POST_INSTALL_TARGET_HOOKS += WEBKITGTK24_INSTALL_BROWSER
else
WEBKITGTK24_CONF_OPTS += \
	--with-gtk=2.0 \
	--disable-webkit2
endif

$(eval $(autotools-package))
