summaryrefslogtreecommitdiffstats
path: root/make/include/main.defs
blob: 04ab85aa8386ed0bb3c2e2c73e85d58274f3c3da (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
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
include $(SRC/)make/include/base.defs
include $(SRC/)make/include/contrib.defs
include $(SRC/)make/include/function.defs
include $(SRC/)make/include/gcc.defs
include $(SRC/)make/include/target.defs
include $(SRC/)make/include/tool.defs

###############################################################################

ifneq (,$(filter $(HOST.system),cygwin mingw))
ifneq ($(HAS.bz2),1)
    MODULES += contrib/bzip2
endif
endif

ifneq (,$(filter $(HOST.system),darwin cygwin mingw))
    MODULES += contrib/freetype
    MODULES += contrib/fribidi
    MODULES += contrib/harfbuzz
    MODULES += contrib/libxml2
    MODULES += contrib/libass
    MODULES += contrib/libogg
    MODULES += contrib/libvorbis
    MODULES += contrib/libopus
    MODULES += contrib/libspeex
    MODULES += contrib/libtheora
    MODULES += contrib/lame
    MODULES += contrib/x264
    MODULES += contrib/jansson
    MODULES += contrib/libvpx
    MODULES += contrib/libjpeg-turbo
endif

ifeq (1,$(FEATURE.flatpak))
    MODULES += contrib/jansson
    MODULES += contrib/x264
endif

ifeq (1,$(FEATURE.fdk_aac))
    MODULES += contrib/fdk-aac
endif

ifeq (1,$(FEATURE.x265))
    MODULES += contrib/x265
    MODULES += contrib/x265_8bit
    MODULES += contrib/x265_10bit
    MODULES += contrib/x265_12bit
endif

MODULES += contrib/libdav1d
MODULES += contrib/zimg
MODULES += contrib/ffmpeg
MODULES += contrib/libdvdread
MODULES += contrib/libdvdnav
MODULES += contrib/libbluray

ifeq (1,$(FEATURE.qsv))
ifeq (,$(filter $(HOST.system),freebsd))
    MODULES += contrib/libmfx
endif
endif

ifeq (1,$(FEATURE.vce))
    MODULES += contrib/amf
endif

ifeq (1,$(FEATURE.nvenc))
    MODULES += contrib/nvenc
endif

ifneq (,$(filter $(HOST.system),darwin))
    MODULES += contrib/xz
endif

ifneq (,$(filter $(HOST.system),cygwin mingw))
ifneq ($(HAS.iconv),1)
    MODULES += contrib/libiconv
endif
ifneq ($(HAS.xz),1)
    MODULES += contrib/xz
endif
ifneq ($(HAS.libz),1)
    MODULES += contrib/zlib
endif
ifneq ($(HAS.regex),1)
    MODULES += contrib/libgnurx
endif
endif

ifneq (,$(filter $(HOST.system),solaris))
    MODULES += contrib/libiconv
endif


## these must come after contrib since some contrib modules are optional
MODULES += libhb

###############################################################################

ifeq (1-darwin,$(FEATURE.xcode)-$(HOST.system))
    ## use macosx module when xcode+darwin
    MODULES += macosx
else
    ## default is to build CLI
    MODULES += test
endif

ifeq (1-mingw,$(FEATURE.gtk.mingw)-$(HOST.system))
    MODULES += gtk
endif

ifeq (1-linux,$(FEATURE.gtk)-$(HOST.system))
    ## build gtk when gtk+linux
    MODULES += gtk
endif

ifeq (1-freebsd,$(FEATURE.gtk)-$(HOST.system))
    ## build gtk when gtk+freebsd
    MODULES += gtk
endif

ifeq (1-kfreebsd,$(FEATURE.gtk)-$(HOST.system))
    ## build gtk when gtk+kfreebsd
    MODULES += gtk
endif

ifeq (1-gnu,$(FEATURE.gtk)-$(HOST.system))
    ## build gtk when gtk+gnu
    MODULES += gtk
endif

ifeq (1-netbsd,$(FEATURE.gtk)-$(BUILD.system))
    ## build gtk when gtk+netbsd
    MODULES += gtk
endif

###############################################################################

MODULES += pkg

###############################################################################

include $(MODULES:%=$(SRC/)%/module.defs)
include $(SRC/)make/variant/$(HOST.system).defs
-include $(SRC/)make/variant/$(HOST.system).$(HOST.machine).defs