summaryrefslogtreecommitdiffstats
path: root/make/include/main.defs
blob: e7f3a0980a1682ecb83d62d01acc0d7a0ab0a483 (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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
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

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

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

HB_TOOLS_PATH =
ifeq (1,$(FEATURE.local_cmake))
    MODULES += contrib/cmake
    HB_TOOLS_PATH = $(call fn.ABSOLUTE,$(CONTRIB.build/)bin)
endif

ifeq (1,$(FEATURE.local_autotools))
    MODULES += contrib/autoconf
    MODULES += contrib/automake
    MODULES += contrib/libtool
    MODULES += contrib/m4
ifneq (1,$(FEATURE.local_pkgconfig))
    MODULES += contrib/pkgconfig
endif
    AUTOTOOL_MODULES = AUTOCONF AUTOMAKE LIBTOOL M4 PKGCONFIG
    HB_TOOLS_PATH = $(call fn.ABSOLUTE,$(CONTRIB.build/)bin)
else
    AUTOTOOL_MODULES =
endif

ifneq (,$(HB_TOOLS_PATH))
    PATH := $(HB_TOOLS_PATH):$(PATH)
endif

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

ifneq (,$(filter $(BUILD.system),darwin cygwin mingw))
    MODULES += contrib/fontconfig
    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/libtheora
    MODULES += contrib/libsamplerate
    MODULES += contrib/lame
    MODULES += contrib/x264
    MODULES += contrib/jansson
endif

ifeq (1,$(FEATURE.flatpak))
    MODULES += contrib/lame
    MODULES += contrib/jansson
    MODULES += contrib/x264
    MODULES += contrib/harfbuzz
    MODULES += contrib/fribidi
    MODULES += contrib/freetype
    MODULES += contrib/libass
    MODULES += contrib/yasm
endif

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

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

MODULES += contrib/ffmpeg
MODULES += contrib/libvpx
MODULES += contrib/libdvdread
MODULES += contrib/libdvdnav
MODULES += contrib/libbluray

ifneq (,$(filter $(BUILD.system),mingw))
ifneq ($(HAS.pthread),1)
ifneq ($(HAS.pthreadGC2),1)
    MODULES += contrib/pthreadw32
endif
endif
endif

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

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

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


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

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

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

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

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

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

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

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

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

MODULES += doc
MODULES += pkg

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

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