xref: /OK3568_Linux_fs/buildroot/package/jpeg-turbo/jpeg-turbo.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# jpeg-turbo
4#
5################################################################################
6
7JPEG_TURBO_VERSION = 2.1.3
8JPEG_TURBO_SOURCE = libjpeg-turbo-$(JPEG_TURBO_VERSION).tar.gz
9JPEG_TURBO_SITE = https://downloads.sourceforge.net/project/libjpeg-turbo/$(JPEG_TURBO_VERSION)
10JPEG_TURBO_LICENSE = IJG (libjpeg), BSD-3-Clause (TurboJPEG), Zlib (SIMD)
11JPEG_TURBO_LICENSE_FILES = LICENSE.md README.ijg
12JPEG_TURBO_CPE_ID_VENDOR = libjpeg-turbo
13JPEG_TURBO_CPE_ID_PRODUCT = libjpeg-turbo
14JPEG_TURBO_INSTALL_STAGING = YES
15JPEG_TURBO_PROVIDES = jpeg
16JPEG_TURBO_DEPENDENCIES = host-pkgconf
17
18ifeq ($(BR2_PACKAGE_JPEG_TURBO_JPEG8),y)
19JPEG_TURBO_CONF_OPTS = -DWITH_JPEG8=ON
20else ifeq ($(BR2_PACKAGE_JPEG_TURBO_JPEG7),y)
21JPEG_TURBO_CONF_OPTS = -DWITH_JPEG7=ON
22endif
23
24ifeq ($(BR2_STATIC_LIBS),y)
25JPEG_TURBO_CONF_OPTS += -DENABLE_STATIC=ON -DENABLE_SHARED=OFF
26else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
27JPEG_TURBO_CONF_OPTS += -DENABLE_STATIC=ON -DENABLE_SHARED=ON
28else ifeq ($(BR2_SHARED_LIBS),y)
29JPEG_TURBO_CONF_OPTS += -DENABLE_STATIC=OFF -DENABLE_SHARED=ON
30endif
31
32ifeq ($(BR2_PACKAGE_JPEG_SIMD_SUPPORT),y)
33JPEG_TURBO_CONF_OPTS += -DWITH_SIMD=ON
34# x86 simd support needs nasm
35JPEG_TURBO_DEPENDENCIES += $(if $(BR2_X86_CPU_HAS_MMX),host-nasm)
36else
37JPEG_TURBO_CONF_OPTS += -DWITH_SIMD=OFF
38endif
39
40# Ensure that jpeg-turbo is compiled with -fPIC to allow linking the static
41# libraries with dynamically linked programs. This is not a requirement
42# for most architectures but is mandatory for ARM.
43# This allow to avoid link issues with BR2_SSP_ALL:
44# jsimd_none.c.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `__stack_chk_guard@@GLIBC_2.17'
45# can not be used when making a shared object; recompile with -fPIC
46ifeq ($(BR2_STATIC_LIBS),)
47JPEG_TURBO_CONF_OPTS += -DCMAKE_POSITION_INDEPENDENT_CODE=ON
48endif
49
50ifeq ($(BR2_PACKAGE_JPEG_TURBO_TOOLS),)
51define JPEG_TURBO_REMOVE_TOOLS
52	rm -f $(addprefix $(TARGET_DIR)/usr/bin/,cjpeg djpeg jpegtran rdjpgcom tjbench wrjpgcom)
53endef
54JPEG_TURBO_POST_INSTALL_TARGET_HOOKS += JPEG_TURBO_REMOVE_TOOLS
55endif
56
57$(eval $(cmake-package))
58