summaryrefslogtreecommitdiff
path: root/multimedia/x264-devel/Makefile
blob: 51f33276f6c61d2e6934297952f46cf3ea27d1aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# $NetBSD: Makefile,v 1.58 2016/07/09 06:38:40 wiz Exp $

SNAPSHOT_DATE=	20160307

DISTNAME=	x264-snapshot-${SNAPSHOT_DATE}-2245
PKGNAME=	x264-devel-${SNAPSHOT_DATE}
PKGREVISION=	1
CATEGORIES=	multimedia
MASTER_SITES=	ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
EXTRACT_SUFX=	.tar.bz2

MAINTAINER=	joerg@NetBSD.org
HOMEPAGE=	http://www.videolan.org/developers/x264.html
COMMENT=	GPL licensed H.264 encoder
LICENSE=	gnu-gpl-v2

.include "../../mk/bsd.prefs.mk"

.if exists(/usr/include/stdlib.h) && ${OPSYS} != "Linux" # XXX should be fine
CFLAGS+=	-DHAVE_STDLIB_H
.endif

# The assembler implementations don't use position independent code
# and therefore break the builds on a lot of platforms because we use
# "libtool" to create shared libraries. We therefore need to switch
# them off even if the C versions are slower.
.if ${MACHINE_ARCH} == "i386"
.  if ${OPSYS} == "SunOS" || (${OPSYS} == "NetBSD" && \
	(!empty(OS_VERSION:M[1-5].*) && empty(OS_VERSION:M5.99.*))) || \
      ${OPSYS} == "Darwin"
CONFIGURE_ARGS+=	--disable-asm
# depends on builtin functions enabled with i486 and later with GCC.
.    if ${OPSYS} == "NetBSD" && !empty(MACHINE_ARCH:Mi386)
GNU_ARCH.i386=		i486
CFLAGS+=		-march=i486
.    endif
.  else
BUILD_DEPENDS+=		yasm>=0.4.0:../../devel/yasm
.  endif
.elif ${MACHINE_ARCH} == "x86_64"
.  if ${OPSYS} == "SunOS" || (${OPSYS} == "NetBSD" && \
	(!empty(OS_VERSION:M[1-5].*) && empty(OS_VERSION:M5.99.*)))
CONFIGURE_ARGS+=	--disable-asm
.  else
BUILD_DEPENDS+=		yasm>=0.4.0:../../devel/yasm
.  endif
.elif ${MACHINE_ARCH} == "arm" && ${OPSYS} == "NetBSD"
# pre-ARMv6 is default on NetBSD/arm
CONFIGURE_ARGS+=	--disable-asm
.endif

USE_TOOLS+=		bash gmake
USE_LIBTOOL=		yes
HAS_CONFIGURE=		yes
CONFIG_SHELL=		${BASH}
CONFIGURE_ARGS+=	--enable-pic	# uses libtool's -prefer-pic
CONFIGURE_ARGS+=	--prefix=${PREFIX}
.if ${OPSYS} == "Darwin"
USE_TOOLS+=		perl
.else
CONFIGURE_ARGS+=	--disable-opencl
.endif
MAKE_ENV+=		SH=${SH:Q}

.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
# XXX Consider passing this whether cross-compiling or not.
CONFIGURE_ARGS+=	--host=${MACHINE_GNU_PLATFORM:Q}
.endif

BUILD_TARGET=		default
INSTALL_TARGET=		install-lib-static install-cli
INSTALLATION_DIRS=	bin
REPLACE_SH=		strip_fopt.sh version.sh

.include "../../mk/dlopen.buildlink3.mk"

CHECK_BUILTIN.pthread:=	yes
.include "../../mk/pthread.builtin.mk"
CHECK_BUILTIN.pthread:=	no

.if !empty(USE_BUILTIN.pthread:M[Yy][Ee][Ss])
X264_BUILD_THREADS_SUPPORT=	yes
.else
X264_BUILD_THREADS_SUPPORT=	${DLOPEN_REQUIRE_PTHREADS}
.endif

SUBST_CLASSES+=		netbsd
SUBST_STAGE.netbsd=	pre-configure
SUBST_MESSAGE.netbsd=	Adding support for NetBSD.
SUBST_FILES.netbsd=	common/cpu.c
SUBST_SED.netbsd=	-e 's,SYS_OPENBSD,SYS_OPENBSD || SYS_NETBSD,'

.include "options.mk"

post-extract:
	${CP} ${FILESDIR}/strip_fopt.sh ${WRKSRC}/ && \
	${CHMOD} +x ${WRKSRC}/strip_fopt.sh

.include "../../mk/bsd.pkg.mk"