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
|
$(eval $(call import.MODULE.defs,FFMPEG,ffmpeg,YASM BZIP2 ZLIB))
$(eval $(call import.CONTRIB.defs,FFMPEG))
FFMPEG.FETCH.url = http://download.handbrake.fr/handbrake/contrib/libav-v9.1.tar.bz2
FFMPEG.CONFIGURE.deps =
FFMPEG.CONFIGURE.env =
FFMPEG.CONFIGURE.host =
FFMPEG.CONFIGURE.extra = \
--enable-gpl \
--disable-doc \
--disable-bsfs \
--disable-avconv \
--disable-avplay \
--disable-avprobe \
--disable-avserver \
--disable-avfilter \
--disable-muxers \
--disable-network \
--disable-hwaccels \
--disable-encoders \
--enable-dxva2 \
--enable-hwaccel=h264_dxva2 \
--enable-hwaccel=mpeg2_dxva2 \
--enable-hwaccel=vc1_dxva2 \
--enable-hwaccel=wmv3_dxva2 \
--enable-encoder=aac \
--enable-encoder=ac3 \
--enable-encoder=flac \
--enable-encoder=mpeg2video \
--enable-encoder=mpeg4 \
--enable-encoder=snow \
--enable-zlib \
--enable-bzlib \
--cc="$(FFMPEG.GCC.gcc)" \
--extra-ldflags="$(call fn.ARGS,FFMPEG.GCC,*archs *sysroot *minver ?extra) -L$(call fn.ABSOLUTE,$(CONTRIB.build/)lib)"
## check against tuple: B-SYSTEM where B is { 0 | 1 } for cross-compiling flag
ifeq (0-cygwin,$(BUILD.cross)-$(BUILD.system))
FFMPEG.CONFIGURE.extra += --enable-pthreads --enable-memalign-hack
FFMPEG.GCC.args.extra = -fno-common
else ifeq (darwin,$(BUILD.system))
## section for darwin-archs
FFMPEG.CONFIGURE.extra += --enable-pthreads --enable-cross-compile --arch=$(BUILD.machine) --target-os=darwin
else ifeq (1-mingw,$(BUILD.cross)-$(BUILD.system))
FFMPEG.CONFIGURE.extra += \
--enable-w32threads \
--enable-memalign-hack \
--target-os=mingw32 \
--arch=i386 \
--enable-cross-compile --cross-prefix=$(BUILD.cross.prefix)
FFMPEG.GCC.args.extra += -fno-common
else
FFMPEG.CONFIGURE.extra += --enable-pthreads
endif
ifneq (none,$(FFMPEG.GCC.g))
FFMPEG.CONFIGURE.extra += --enable-debug
ifeq (max,$(FFMPEG.GCC.g))
FFMPEG.CONFIGURE.extra += --extra-cflags="$(call fn.ARGS,FFMPEG.GCC,*archs *sysroot *minver ?extra) -I$(call fn.ABSOLUTE,$(CONTRIB.build/)include) -DDEBUG"
else
FFMPEG.CONFIGURE.extra += --extra-cflags="$(call fn.ARGS,FFMPEG.GCC,*archs *sysroot *minver ?extra) -I$(call fn.ABSOLUTE,$(CONTRIB.build/)include) -DNDEBUG"
endif
else
FFMPEG.CONFIGURE.extra += --disable-debug
FFMPEG.CONFIGURE.extra += --extra-cflags="$(call fn.ARGS,FFMPEG.GCC,*archs *sysroot *minver ?extra) -I$(call fn.ABSOLUTE,$(CONTRIB.build/)include) -DNDEBUG"
endif
ifeq (none,$(FFMPEG.GCC.O))
FFMPEG.CONFIGURE.extra += --disable-optimizations
endif
## enable compile verbosity
FFMPEG.BUILD.extra = V=1
##
## llvm inline assembler (used in llvm-gcc and clang) runs out of registers
## on darwin i386 - unclear if it is a source code or llvm bug.
##
ifeq (darwin-i386,$(BUILD.system)-$(BUILD.machine))
## optimize mode hack: use clang
ifneq (none,$(FFMPEG.GCC.O))
FFMPEG.GCC.gcc = clang
endif
## debug mode hack: omit frame pointer
ifneq (none,$(FFMPEG.GCC.g))
FFMPEG.GCC.args.extra += -fomit-frame-pointer
endif
endif
## For POSIX.1-2001
ifeq (solaris,$(BUILD.system))
FFMPEG.CONFIGURE.extra += --extra-libs=/usr/lib/values-xpg6.o
endif
## MPC8 Doesn't compile on SPARC
ifeq (solaris-sparc,$(BUILD.system)-$(BUILD.machine))
FFMPEG.CONFIGURE.extra += --disable-demuxer=mpc8
endif
ifeq (1,$(FEATURE.local_yasm))
FFMPEG.CONFIGURE.env = PATH="$(call fn.ABSOLUTE,$(CONTRIB.build/)bin):$(PATH)"
FFMPEG.BUILD.env = PATH="$(call fn.ABSOLUTE,$(CONTRIB.build/)bin):$(PATH)"
endif
|