aboutsummaryrefslogtreecommitdiff
path: root/multimedia/ffmpeg3/Makefile
blob: 1ffae6043d4821a638cc42cbad1ed2250cdaddb2 (plain) (blame)
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
PORTNAME=	ffmpeg
DISTVERSION=	3.0.2
PORTREVISION=	1
CATEGORIES=	multimedia audio net
MASTER_SITES=	https://ffmpeg.org/releases/
PKGNAMESUFFIX=	3

PATCH_SITES=	https://github.com/hrydgard/ppsspp-ffmpeg/commit/
PATCHFILES=	9c4f84d9d9ad147f4a44cff582829647a0c65420.patch:-p1 \
		15f7d6bfeb1d2be9ec3c61a6eee4e843d61ddf69.patch:-p1

MAINTAINER=	kreinholz@gmail.com
COMMENT=	Realtime audio/video encoder/converter and streaming server (legacy 3.* series)
WWW=		https://ffmpeg.org/

LICENSE=	GPLv2+ LGPL21+
LICENSE_COMB=	multi

NOT_FOR_ARCHS=	mips mips64 powerpc powerpc64 powerpcspe
NOT_FOR_ARCHS_REASON=	emulators/ppsspp only supports little-endian, see \
		https://github.com/hrydgard/ppsspp/issues/8823

USES=		compiler:c11 cpe gmake localbase:ldflags perl5 pkgconfig \
		shebangfix tar:xz
USE_PERL5=	build
SHEBANG_FILES=	doc/texi2pod.pl
USE_LDCONFIG=	yes

.ifdef PKGNAMESUFFIX
PORTSCOUT=	limit:^3\.
PREFIX=		${LOCALBASE}/${PKGBASE} # avoid conflict with the default
.endif

HAS_CONFIGURE=	yes
CONFIGURE_LOG=	ffbuild/config.log

LDFLAGS_aarch64=-Wl,-z,notext

INSTALL_TARGET=	install-libs install-headers

NOPRECIOUSMAKEVARS=	yes
MAKE_ENV+=	V=1

.if defined(WITH_DEBUG)
CONFIGURE_ARGS=	--disable-stripping
.else
CONFIGURE_ARGS=	--disable-debug
.endif

CONFIGURE_ARGS+=--prefix="${PREFIX}" \
		--pkgconfigdir="${PREFIX}/libdata/pkgconfig" \
		--enable-static \
		--disable-shared \
		--enable-pic \
		--enable-zlib \
		--disable-everything \
		--enable-gpl \
		--cc="${CC}" \
		--cxx="${CXX}" \
		--disable-avdevice \
		--disable-filters \
		--disable-programs \
		--disable-network \
		--disable-avfilter \
		--disable-postproc \
		--disable-encoders \
		--disable-doc \
		--disable-ffplay \
		--disable-ffprobe \
		--disable-ffserver \
		--disable-ffmpeg \
		--enable-decoder=h264 \
		--enable-decoder=mpeg4 \
		--enable-decoder=h263 \
		--enable-decoder=h263p \
		--enable-decoder=mpeg2video \
		--enable-decoder=mjpeg \
		--enable-decoder=mjpegb \
		--enable-decoder=aac \
		--enable-decoder=aac_latm \
		--enable-decoder=atrac3 \
		--enable-decoder=atrac3p \
		--enable-decoder=mp3 \
		--enable-decoder=pcm_s16le \
		--enable-decoder=pcm_s8 \
		--enable-demuxer=h264 \
		--enable-demuxer=h263 \
		--enable-demuxer=m4v \
		--enable-demuxer=mpegps \
		--enable-demuxer=mpegvideo \
		--enable-demuxer=avi \
		--enable-demuxer=mp3 \
		--enable-demuxer=aac \
		--enable-demuxer=pmp \
		--enable-demuxer=oma \
		--enable-demuxer=pcm_s16le \
		--enable-demuxer=pcm_s8 \
		--enable-demuxer=wav \
		--enable-encoder=ffv1 \
		--enable-encoder=huffyuv \
		--enable-encoder=mpeg4 \
		--enable-encoder=pcm_s16le \
		--enable-muxer=avi \
		--enable-parser=h264 \
		--enable-parser=mpeg4video \
		--enable-parser=mpegvideo \
		--enable-parser=aac \
		--enable-parser=aac_latm \
		--enable-parser=mpegaudio \
		--enable-protocol=file \
		--disable-sdl \
		--disable-asm \
		--disable-iconv \
		--disable-vaapi \
		--disable-hwaccels

OPTIONS_DEFINE=		LTO OPTIMIZED_CFLAGS RTCPU
OPTIONS_DEFAULT=	LTO OPTIMIZED_CFLAGS
OPTIONS_DEFAULT_amd64=	RTCPU
OPTIONS_EXCLUDE_aarch64=RTCPU

RTCPU_DESC=		Detect CPU capabilities at runtime

LTO_CONFIGURE_ENABLE=	lto

OPTIMIZED_CFLAGS_CONFIGURE_ENABLE=	optimizations

RTCPU_CONFIGURE_ENABLE=	runtime-cpudetect

.include <bsd.port.mk>