WinGui: Fix another instance of the Caliburn vs Json.net sillyness where objects...
[HandBrake.git] / libhb / module.defs
blobf98930dd5dc082a5e13a5f5852d0654660c6b991
1 __deps__ := A52DEC BZIP2 LIBVPX FFMPEG FONTCONFIG FREETYPE LAME LIBASS LIBDCA \
2     LIBDVDREAD LIBDVDNAV LIBICONV LIBOGG LIBSAMPLERATE LIBTHEORA LIBVORBIS \
3     LIBXML2 PTHREADW32 X264 X265 ZLIB LIBBLURAY FDKAAC LIBMFX LIBGNURX JANSSON
5 $(eval $(call import.MODULE.defs,LIBHB,libhb,$(__deps__)))
6 $(eval $(call import.GCC,LIBHB))
8 ###############################################################################
10 LIBHB.src/   = $(SRC/)libhb/
11 LIBHB.build/ = $(BUILD/)libhb/
13 LIBHB.m4.in  = $(wildcard $(LIBHB.src/)*.m4)
14 LIBHB.m4.out = $(patsubst $(LIBHB.src/)%.m4,$(LIBHB.build/)%,$(LIBHB.m4.in))
16 LIBHB.c   = $(wildcard $(LIBHB.src/)*.c)
17 LIBHB.c.o = $(patsubst $(SRC/)%.c,$(BUILD/)%.o,$(LIBHB.c))
18 LIBHB.m.o = $(patsubst $(SRC/)%.m,$(BUILD/)%.o,$(LIBHB.m))
19 LIBHB.d   = $(LIBHB.m4.out) $(LIBHB.h.out) \
20     $(foreach n,$(LIBHB.prerequisites),$($n.INSTALL.target) )
22 LIBHB.h.in  = $(wildcard $(LIBHB.src/)*.h)
23 LIBHB.h.in += $(wildcard $(LIBHB.src/)extras/*.h)
24 LIBHB.h.out = $(patsubst $(SRC/)%,$(BUILD/)%,$(LIBHB.h.in))
26 ###############################################################################
28 LIBHB.a = $(LIBHB.build/)$(call TARGET.archive,handbrake)
30 ###############################################################################
32 LIBHB.out += $(LIBHB.m4.out)
33 LIBHB.out += $(LIBHB.c.o)
34 LIBHB.out += $(LIBHB.m.o)
35 LIBHB.out += $(LIBHB.h.out)
36 LIBHB.out += $(LIBHB.a)
38 ###############################################################################
40 ifeq (1,$(FEATURE.hwd))
41 LIBHB.GCC.D += USE_HWD
42 endif
44 ifeq (1,$(FEATURE.libav_aac))
45 LIBHB.GCC.D += USE_LIBAV_AAC
46 endif
47 LIBHB.GCC.D += __LIBHB__ USE_PTHREAD
48 LIBHB.GCC.I += $(LIBHB.build/) $(CONTRIB.build/)include
50 ifneq (,$(filter $(BUILD.system),darwin cygwin mingw))
51 LIBHB.GCC.I += $(CONTRIB.build/)include/libxml2
52 else
53 LIBHB.GCC.I += /usr/include/libxml2
54 endif
56 ifeq ($(BUILD.system),cygwin)
57     LIBHB.GCC.D += SYS_CYGWIN
58 else ifeq ($(BUILD.system),darwin)
59     LIBHB.GCC.D += SYS_DARWIN
60     LIBHB.c += $(wildcard $(LIBHB.src/)platform/macosx/*.c)
61     LIBHB.m += $(wildcard $(LIBHB.src/)platform/macosx/*.m)
62 else ifeq ($(BUILD.system),linux)
63     LIBHB.GCC.D += SYS_LINUX _LARGEFILE_SOURCE _FILE_OFFSET_BITS=64
64 else ifeq ($(BUILD.system),mingw)
65     LIBHB.GCC.D += SYS_MINGW
66 ifneq ($(HAS.pthread),1)
67     LIBHB.GCC.D += PTW32_STATIC_LIB
68 endif
69         LIBHB.GCC.args.extra.dylib++ += -Wl,--enable-auto-import -static
70 else ifeq ($(BUILD.system),solaris)
71     LIBHB.GCC.D += SYS_SunOS _LARGEFILE_SOURCE _FILE_OFFSET_BITS=64 _POSIX_C_SOURCE=200112L __EXTENSIONS__
72 else
73     LIBHB.platform.D = SYS_UNKNOWN
74 endif
76 ifeq (1,$(FEATURE.qsv))    
77     LIBHB.GCC.D += USE_QSV HAVE_THREADS=1
78 endif  
80 ifeq (1,$(FEATURE.x265))
81     LIBHB.GCC.D += USE_X265
82 endif  
84 ifeq (1,$(COMPAT.strtok_r))
85     LIBHB.GCC.D += HB_NEED_STRTOK_R
86 endif
88 ## required for <libdvdread/*.h>
89 ifneq (,$(filter $(BUILD.arch),ppc ppc64))
90         LIBHB.GCC.D += WORDS_BIGENDIAN
91 endif
93 ###############################################################################
95 ## when defined this gives us the subdir name, or flavor of asm implementation
96 ifneq (disabled,$(FEATURE.asm))
98 LIBHB.yasm.src/   = $(LIBHB.src/)$(FEATURE.asm)/
99 LIBHB.yasm.build/ = $(LIBHB.build/)$(FEATURE.asm)/
100 LIBHB.yasm.asm    = $(LIBHB.yasm.src/)deinterlace-a.asm
101 LIBHB.yasm.o      = $(LIBHB.yasm.asm:$(LIBHB.yasm.src/)%.asm=$(LIBHB.yasm.build/)%.o)
102 LIBHB.yasm.d      = $(wildcard $(LIBHB.yasmsrc/)*.h)
104 LIBHB.YASM.I     = $(LIBHB.yasm.src/)
105 LIBHB.YASM.ASM_O = $(strip $(YASM.exe) \
106     -f $(LIBHB.YASM.f) \
107     -m $(LIBHB.YASM.m) \
108     $(LIBHB.YASM.D:%=-D%) \
109     $(LIBHB.YASM.I:%=-I%) \
110     -o $(1) $(2))
112 LIBHB.out += $(LIBHB.yasm.o)
114 endif
116 ###############################################################################
118 ifeq (1-mingw,$(BUILD.cross)-$(BUILD.system))
120 LIBHB.dll = $(LIBHB.build/)hb.dll
121 LIBHB.lib = $(LIBHB.build/)hb.lib
123 LIBHB.dll.libs = $(foreach n, \
124         ass avcodec avformat avutil avresample dvdnav dvdread fontconfig \
125         freetype mp3lame ogg samplerate swscale vpx theora vorbis vorbisenc \
126         x264 xml2 bluray jansson, \
127         $(CONTRIB.build/)lib/lib$(n).a )
129 ifeq (1,$(FEATURE.fdk_aac))
130 LIBHB.dll.libs += $(CONTRIB.build/)lib/libfdk-aac.a
131 endif
133 ifeq (1,$(FEATURE.qsv))
134 LIBHB.dll.libs += $(CONTRIB.build/)lib/libmfx.a
135 endif
137 ifeq (1,$(FEATURE.x265))
138 LIBHB.dll.libs += $(CONTRIB.build/)lib/libx265.a
139 endif
141 ifneq ($(HAS.iconv),1)
142 LIBHB.dll.libs += $(CONTRIB.build/)lib/libiconv.a
143 else
144     LIBHB.GCC.l += iconv
145 endif
147 ifneq ($(HAS.regex),1)
148 LIBHB.dll.libs += $(CONTRIB.build/)lib/libregex.a
149 else
150     LIBHB.GCC.l += regex
151 endif
153 ifeq (1,$(FRIBIDI.enabled))
154     LIBHB.dll.libs += $(CONTRIB.build/)lib/libfribidi.a
155 else
156         LIBHB.GCC.l += fribidi
157 endif
159 ifeq ($(HAS.pthread),1)
160     LIBHB.GCC.l += pthread
161 else ifneq ($(HAS.pthreadGC2),1)
162 LIBHB.dll.libs += $(CONTRIB.build/)lib/libpthreadGC2.a
163 else
164     LIBHB.GCC.l += pthreadGC2
165 endif
167 ifneq ($(HAS.bz2),1)
168 LIBHB.dll.libs += $(CONTRIB.build/)lib/libbz2.a
169 else
170     LIBHB.GCC.l += bz2
171 endif
173 ifneq ($(HAS.libz),1)
174 LIBHB.dll.libs += $(CONTRIB.build/)lib/libz.a
175 else
176     LIBHB.GCC.l += z
177 endif
179 LIBHB.GCC.args.extra.dylib++ += -Wl,--out-implib,$(LIBHB.lib)
180 LIBHB.GCC.l += ws2_32 uuid ole32
181 ifeq ($(HAS.dlfcn),1)
182     LIBHB.GCC.l += dl
183 endif
184 LIBHB.out += $(LIBHB.dll) $(LIBHB.lib)
186 endif
188 ###############################################################################
190 BUILD.out += $(LIBHB.out)