1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# x264 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunX264_VERSION = 35417dcd65a57321fbadf98c9a4cff1cb741db4b 8*4882a593SmuzhiyunX264_SITE = https://code.videolan.org/videolan/x264.git 9*4882a593SmuzhiyunX264_SITE_METHOD = git 10*4882a593SmuzhiyunX264_LICENSE = GPL-2.0+ 11*4882a593SmuzhiyunX264_DEPENDENCIES = host-pkgconf 12*4882a593SmuzhiyunX264_LICENSE_FILES = COPYING 13*4882a593SmuzhiyunX264_INSTALL_STAGING = YES 14*4882a593SmuzhiyunX264_CONF_OPTS = --disable-avs --disable-lavf --disable-swscale 15*4882a593Smuzhiyun 16*4882a593Smuzhiyunifeq ($(BR2_i386)$(BR2_x86_64),y) 17*4882a593Smuzhiyun# nasm needed for assembly files 18*4882a593SmuzhiyunX264_DEPENDENCIES += host-nasm 19*4882a593SmuzhiyunX264_CONF_ENV += AS="$(HOST_DIR)/bin/nasm" 20*4882a593Smuzhiyunelse ifeq ($(BR2_ARM_CPU_ARMV7A)$(BR2_aarch64),y) 21*4882a593Smuzhiyun# We need to pass gcc as AS, because the ARM assembly files have to be 22*4882a593Smuzhiyun# preprocessed 23*4882a593SmuzhiyunX264_CONF_ENV += AS="$(TARGET_CC)" 24*4882a593Smuzhiyunelse 25*4882a593SmuzhiyunX264_CONF_OPTS += --disable-asm 26*4882a593Smuzhiyunendif 27*4882a593Smuzhiyun 28*4882a593Smuzhiyunifeq ($(BR2_STATIC_LIBS),) 29*4882a593SmuzhiyunX264_CONF_OPTS += --enable-pic --enable-shared 30*4882a593Smuzhiyunendif 31*4882a593Smuzhiyun 32*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_X264_CLI),) 33*4882a593SmuzhiyunX264_CONF_OPTS += --disable-cli 34*4882a593Smuzhiyunendif 35*4882a593Smuzhiyun 36*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) 37*4882a593SmuzhiyunX264_CONF_OPTS += --disable-thread 38*4882a593Smuzhiyunendif 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun# Even though the configure script is not generated by autoconf, x264 41*4882a593Smuzhiyun# uses config.sub/config.guess, so we want up-to-date versions of 42*4882a593Smuzhiyun# them. 43*4882a593SmuzhiyunX264_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun# the configure script is not generated by autoconf 46*4882a593Smuzhiyundefine X264_CONFIGURE_CMDS 47*4882a593Smuzhiyun (cd $(@D); $(TARGET_CONFIGURE_OPTS) $(X264_CONF_ENV) ./configure \ 48*4882a593Smuzhiyun --prefix=/usr \ 49*4882a593Smuzhiyun --host="$(GNU_TARGET_NAME)" \ 50*4882a593Smuzhiyun --cross-prefix="$(TARGET_CROSS)" \ 51*4882a593Smuzhiyun --disable-ffms \ 52*4882a593Smuzhiyun --enable-static \ 53*4882a593Smuzhiyun --disable-opencl \ 54*4882a593Smuzhiyun $(X264_CONF_OPTS) \ 55*4882a593Smuzhiyun ) 56*4882a593Smuzhiyunendef 57*4882a593Smuzhiyun 58*4882a593Smuzhiyundefine X264_BUILD_CMDS 59*4882a593Smuzhiyun $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) 60*4882a593Smuzhiyunendef 61*4882a593Smuzhiyun 62*4882a593Smuzhiyundefine X264_INSTALL_STAGING_CMDS 63*4882a593Smuzhiyun $(TARGET_MAKE_ENV) $(MAKE) DESTDIR="$(STAGING_DIR)" -C $(@D) install 64*4882a593Smuzhiyunendef 65*4882a593Smuzhiyun 66*4882a593Smuzhiyundefine X264_INSTALL_TARGET_CMDS 67*4882a593Smuzhiyun $(TARGET_MAKE_ENV) $(MAKE) DESTDIR="$(TARGET_DIR)" -C $(@D) install 68*4882a593Smuzhiyunendef 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun$(eval $(generic-package)) 71