BuildFeatures revision 74bfec3b
1# This file contains setup for build features that require external packages. It
2# is included once for each configured packaging architecture (with
3# TARGET_PACKAGING_ARCH set accordingly).
4
5
6local architecture = $(TARGET_PACKAGING_ARCH) ;
7local secondaryArchSubDir = [ MultiArchIfPrimary "" : /$(architecture) ] ;
8local libDir = lib$(secondaryArchSubDir) ;
9local developLibDir = develop/lib$(secondaryArchSubDir) ;
10local developHeadersDir = develop/headers$(secondaryArchSubDir) ;
11
12
13# SSL
14
15# Automatically enable the SSL feature, when the OpenSSL package is enabled.
16if [ IsHaikuImagePackageAdded openssl ] {
17	HAIKU_BUILD_FEATURE_SSL = 1 ;
18}
19
20if $(HAIKU_BUILD_FEATURE_SSL) {
21	if [ IsPackageAvailable openssl_devel ] {
22		ExtractBuildFeatureArchives openssl :
23			file: base openssl
24				runtime: lib
25			file: devel openssl_devel
26				depends: base
27				libraries:
28					$(developLibDir)/libcrypto.so
29					$(developLibDir)/libssl.so
30				headers: $(developHeadersDir)
31			;
32
33		EnableBuildFeatures openssl ;
34	} else {
35		Echo "SSL build feature not available for $(TARGET_PACKAGING_ARCH)" ;
36	}
37}
38
39
40# gcc_syslibs
41
42if $(TARGET_PACKAGING_ARCH) != x86_gcc2 {
43	if [ IsPackageAvailable gcc_syslibs ] {
44		ExtractBuildFeatureArchives gcc_syslibs :
45			file: base gcc_syslibs
46				libgcc_s.so: $(libDir)/libgcc_s.so
47				libstdc++.so: $(libDir)/libstdc++.so
48				libsupc++.so: $(libDir)/libsupc++.so
49			;
50
51		EnableBuildFeatures gcc_syslibs ;
52	} else {
53		Echo "gcc_syslibs not available for $(TARGET_PACKAGING_ARCH)" ;
54	}
55}
56
57
58# gcc_syslibs_devel
59
60if [ IsPackageAvailable gcc_syslibs_devel ] {
61	if $(TARGET_PACKAGING_ARCH) = x86_gcc2 {
62		ExtractBuildFeatureArchives gcc_syslibs_devel :
63			file: base gcc_syslibs_devel
64				libgcc.a: $(developLibDir)/libgcc.a
65				libgcc_eh.a:
66				libgcc-kernel.a: $(developLibDir)/libgcc.a
67				libgcc_eh-kernel.a:
68				libstdc++.a:
69				libsupc++.a:
70				libsupc++-kernel.a:
71			;
72	} else {
73		ExtractBuildFeatureArchives gcc_syslibs_devel :
74			file: base gcc_syslibs_devel
75				libgcc.a: $(developLibDir)/libgcc.a
76				libgcc_eh.a: $(developLibDir)/libgcc_eh.a
77				libgcc-kernel.a: $(developLibDir)/libgcc-kernel.a
78				libgcc_eh-kernel.a: $(developLibDir)/libgcc_eh.a
79				libstdc++.a: $(developLibDir)/libstdc++.a
80				libsupc++.a: $(developLibDir)/libsupc++.a
81				libsupc++-kernel.a: $(developLibDir)/libsupc++-kernel.a
82				c++-headers: $(developHeadersDir)/c++
83				gcc-headers: $(developHeadersDir)/gcc
84			;
85	}
86
87	EnableBuildFeatures gcc_syslibs_devel ;
88} else {
89	Echo "gcc_syslibs_devel not available for $(TARGET_PACKAGING_ARCH)" ;
90}
91
92
93# ICU
94
95if [ IsPackageAvailable icu_devel ] {
96	ExtractBuildFeatureArchives icu :
97		file: base icu
98			runtime: lib
99		file: devel icu_devel
100			depends: base
101			libraries:
102				$(developLibDir)/libicudata.so
103				$(developLibDir)/libicui18n.so
104				$(developLibDir)/libicuio.so
105				$(developLibDir)/libicule.so
106				$(developLibDir)/libiculx.so
107				$(developLibDir)/libicutu.so
108				$(developLibDir)/libicuuc.so
109			headers: $(developHeadersDir)
110		;
111
112	EnableBuildFeatures icu ;
113} else {
114	Echo "ICU not available for $(TARGET_PACKAGING_ARCH)" ;
115}
116
117
118# curl
119if [ IsPackageAvailable curl_devel ] {
120	ExtractBuildFeatureArchives curl :
121		file: base curl
122			runtime: lib
123		file: devel curl_devel
124			depends: base
125			library:
126				$(developLibDir)/libcurl.so
127			headers: $(developHeadersDir) $(developHeadersDir)/curl
128		;
129
130	EnableBuildFeatures curl ;
131} else {
132	Echo "Curl not available for $(TARGET_PACKAGING_ARCH)" ;
133}
134
135
136# CLucene
137
138# TODO: Update to packages!
139if ! 1 {
140
141# Automatically install the CLucene feature, when the CLucene package is
142# enabled.
143if [ IsHaikuImagePackageAdded clucene ] {
144	HAIKU_BUILD_FEATURE_CLUCENE = 1 ;
145}
146
147
148HAIKU_CLUCENE_PACKAGE = clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip ;
149HAIKU_CLUCENE_URL = $(baseURL)/$(HAIKU_CLUCENE_PACKAGE) ;
150
151if $(HAIKU_BUILD_FEATURE_CLUCENE) {
152	if $(TARGET_ARCH) != x86 {
153		Echo "CLucene build feature not available for"
154			"$(TARGET_PACKAGING_ARCH)" ;
155	} else {
156		# Download the zip archive.
157		local zipFile = [ DownloadFile $(HAIKU_CLUCENE_PACKAGE)
158			: $(HAIKU_CLUCENE_URL) ] ;
159
160		# zip file and output directory
161		HAIKU_CLUCENE_ZIP_FILE = $(zipFile) ;
162		HAIKU_CLUCENE_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
163			$(HAIKU_CLUCENE_PACKAGE:B) ] ;
164
165		# extract headers and libraries
166		HAIKU_CLUCENE_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_CLUCENE_DIR)
167			: common/include/ : $(zipFile) : extracted-clucene
168		] ;
169
170		HAIKU_CLUCENE_LIBS = [ ExtractArchive $(HAIKU_CLUCENE_DIR)
171			:
172			common/lib/libclucene.a
173			: $(zipFile)
174			 : extracted-clucene
175		] ;
176
177		HAIKU_CLUCENE_HEADERS
178			= [ FDirName $(HAIKU_CLUCENE_DIR) common include ] ;
179
180		EnableBuildFeatures clucene ;
181	}
182}
183
184} # ! 1
185
186
187# Giflib
188if [ IsPackageAvailable giflib_devel ] {
189	ExtractBuildFeatureArchives giflib :
190		file: base giflib
191			runtime: lib
192		file: devel giflib_devel
193			depends: base
194			library: $(developLibDir)/libgif.so.7
195			headers: $(developHeadersDir)
196		;
197
198	EnableBuildFeatures giflib ;
199} else {
200	Echo "Giflib support not available on $(TARGET_PACKAGING_ARCH)" ;
201}
202
203
204# GLU (GL Utilities)
205if [ IsPackageAvailable glu_devel ] {
206	ExtractBuildFeatureArchives glu :
207		file: base glu
208			runtime: lib
209		file: devel glu_devel
210			depends: base
211			library: $(developLibDir)/libGLU.so
212			headers: $(developHeadersDir)
213		;
214
215	EnableBuildFeatures glu ;
216} else {
217	Echo "GLU not yet available on $(TARGET_PACKAGING_ARCH)" ;
218}
219
220
221# GL (GL Kit, Mesa3D)
222if [ IsPackageAvailable mesa_devel ] {
223	ExtractBuildFeatureArchives mesa :
224		file: base mesa
225			runtime: lib
226		file: devel mesa_devel
227			depends: base
228			library: $(developLibDir)/libGL.so
229			headers: $(developHeadersDir)/os/opengl
230		;
231
232	EnableBuildFeatures mesa ;
233} else {
234	Echo "GL not yet available on $(TARGET_PACKAGING_ARCH)" ;
235}
236
237
238# FFmpeg
239if [ IsPackageAvailable ffmpeg_devel ] {
240	local ffmpegLibs = libavformat.so libavcodec.so libavfilter.so libswscale.so
241		libavutil.so libswresample.so ;
242
243	ExtractBuildFeatureArchives ffmpeg :
244		file: base ffmpeg
245			runtime: lib
246		file: devel ffmpeg_devel
247			depends: base
248			libraries: $(developLibDir)/$(ffmpegLibs)
249			headers: $(developHeadersDir)
250		;
251
252	EnableBuildFeatures ffmpeg ;
253
254} else {
255	Echo "FFMpeg support not available on $(TARGET_PACKAGING_ARCH)" ;
256}
257
258
259# Fluidlite
260if [ IsPackageAvailable fluidlite_devel ] && [ IsPackageAvailable libvorbis_devel ] {
261	ExtractBuildFeatureArchives fluidlite :
262		file: devel fluidlite_devel
263			library: $(developLibDir)/libfluidlite.a
264			headers: $(developHeadersDir)
265		;
266
267	EnableBuildFeatures fluidlite ;
268} else {
269	Echo "Fluidlite support not available on $(TARGET_PACKAGING_ARCH)" ;
270}
271
272
273# Libvorbis
274if [ IsPackageAvailable libvorbis_devel ] {
275	ExtractBuildFeatureArchives libvorbis :
276		file: base libvorbis
277			runtime: lib
278		file: devel libvorbis_devel
279			depends: base
280			library: $(developLibDir)/libvorbisfile.so.3
281			headers: $(developHeadersDir)
282		;
283
284	EnableBuildFeatures libvorbis ;
285} else {
286	Echo "Libvorbis support not available on $(TARGET_PACKAGING_ARCH)" ;
287}
288
289
290# Freetype
291if [ IsPackageAvailable freetype_devel ] {
292	ExtractBuildFeatureArchives freetype :
293		file: base freetype
294			runtime: lib
295		file: devel freetype_devel
296			depends: base
297			library: $(developLibDir)/libfreetype.so
298			headers: $(developHeadersDir) $(developHeadersDir)/freetype2
299		;
300
301	EnableBuildFeatures freetype ;
302} else {
303	Echo "Freetype support not available on $(TARGET_PACKAGING_ARCH)" ;
304}
305
306# fontconfig
307if [ IsPackageAvailable fontconfig_devel ] {
308	ExtractBuildFeatureArchives fontconfig :
309		file: base fontconfig
310			runtime: lib
311		file: devel fontconfig_devel
312			depends: base
313			library: $(developLibDir)/libfontconfig.so
314			headers: $(developHeadersDir) $(developHeadersDir)/fontconfig
315		;
316
317	EnableBuildFeatures fontconfig ;
318} else {
319	Echo "fontconfig support not available on $(TARGET_PACKAGING_ARCH)" ;
320}
321
322# Gutenprint
323if [ IsPackageAvailable gutenprint_devel ] {
324	ExtractBuildFeatureArchives gutenprint :
325		file: base gutenprint
326			runtime: lib
327		file: devel gutenprint_devel
328			depends: base
329			library: $(developLibDir)/libgutenprint.so
330			headers: $(developHeadersDir) $(developHeadersDir)/gutenprint
331		;
332
333	EnableBuildFeatures gutenprint ;
334} else {
335	Echo "Gutenprint support not available on $(TARGET_PACKAGING_ARCH)" ;
336}
337
338
339# TagLib
340
341# TODO: Update to packages!
342if ! 1 {
343
344# Automatically install the TagLib feature, when the optional TagLib optional
345# package is enabled.
346if [ IsHaikuImagePackageAdded taglib ] {
347	HAIKU_BUILD_FEATURE_TAGLIB = 1 ;
348}
349
350HAIKU_TAGLIB_PACKAGE = taglib-1.6.3-r1a4-x86-gcc2-2012-09-03.zip ;
351HAIKU_TAGLIB_URL = $(baseURL)/$(HAIKU_TAGLIB_PACKAGE) ;
352
353if $(HAIKU_BUILD_FEATURE_TAGLIB) {
354	if $(TARGET_ARCH) != x86 {
355		Echo "TagLib build feature not available for $(TARGET_PACKAGING_ARCH)" ;
356	} else {
357		# Download the zip archive.
358		local zipFile = [ DownloadFile $(HAIKU_TAGLIB_PACKAGE)
359			: $(HAIKU_TAGLIB_URL) ] ;
360
361		# zip file and output directory
362		HAIKU_TAGLIB_ZIP_FILE = $(zipFile) ;
363		HAIKU_TAGLIB_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
364			$(HAIKU_TAGLIB_PACKAGE:B) ] ;
365
366		# extract headers and libraries
367		HAIKU_TAGLIB_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_TAGLIB_DIR)
368			: common/include/ : $(zipFile) : extracted-taglib
369		] ;
370
371		HAIKU_TAGLIB_LIBS = [ ExtractArchive $(HAIKU_TAGLIB_DIR)
372			:
373			common/lib/libtag.so
374			common/lib/libtag_c.so
375			: $(zipFile)
376			: extracted-taglib
377		] ;
378
379		HAIKU_TAGLIB_HEADERS
380			= [ FDirName $(HAIKU_TAGLIB_DIR) common include taglib ] ;
381
382		EnableBuildFeatures taglib ;
383	}
384}
385
386} # ! 1
387
388
389# WebKit
390if [ IsPackageAvailable haikuwebkit_devel ] {
391	if $(TARGET_PACKAGING_ARCH) = x86_64 {
392		ExtractBuildFeatureArchives webkit :
393			file: base haikuwebkit
394				runtime: lib
395			file: devel haikuwebkit_devel
396				depends: base
397				libraries:
398					$(developLibDir)/libWebKit.so
399				headers: $(developHeadersDir)
400			;
401	} else {
402		ExtractBuildFeatureArchives webkit :
403			file: base haikuwebkit
404				runtime: lib
405			file: devel haikuwebkit_devel
406				depends: base
407				libraries:
408					$(developLibDir)/libWebKitLegacy.so
409				headers: $(developHeadersDir)
410			;
411	}
412
413	EnableBuildFeatures webkit ;
414} else {
415	Echo "WebKit build feature not available for $(TARGET_PACKAGING_ARCH)" ;
416}
417
418
419# libpng
420if [ IsPackageAvailable libpng16_devel ] {
421	ExtractBuildFeatureArchives libpng :
422		file: base libpng16
423			runtime: lib
424		file: devel libpng16_devel
425			depends: base
426			library: $(developLibDir)/libpng16.so
427			headers: $(developHeadersDir)
428		;
429
430	EnableBuildFeatures libpng ;
431} else {
432	Echo "libpng support not available on $(TARGET_PACKAGING_ARCH)" ;
433}
434
435
436# libicns
437if [ IsPackageAvailable libicns_devel ] {
438	ExtractBuildFeatureArchives libicns :
439		file: base libicns
440			runtime: lib
441		file: devel libicns_devel
442			depends: base
443			library: $(developLibDir)/libicns.so.1
444			headers: $(developHeadersDir)
445		;
446
447	EnableBuildFeatures libicns ;
448} else {
449	Echo "libicns support not available on $(TARGET_PACKAGING_ARCH)" ;
450}
451
452
453# Jasper
454if [ IsPackageAvailable jasper_devel ] {
455	ExtractBuildFeatureArchives jasper :
456		file: base jasper
457			runtime: lib
458		file: devel jasper_devel
459			depends: base
460			library: $(developLibDir)/libjasper.so.4
461			headers: $(developHeadersDir) $(developHeadersDir)/jasper
462		;
463
464	EnableBuildFeatures jasper ;
465} else {
466	Echo "Jasper support not available on $(TARGET_PACKAGING_ARCH)" ;
467}
468
469
470# jpeg
471if [ IsPackageAvailable jpeg_devel ] {
472	ExtractBuildFeatureArchives jpeg :
473		file: base jpeg
474			runtime: lib
475		file: devel jpeg_devel
476			depends: base
477			library: $(developLibDir)/libjpeg.so
478			headers: $(developHeadersDir)
479		;
480
481	EnableBuildFeatures jpeg ;
482} else {
483	Echo "jpeg support not available on $(TARGET_PACKAGING_ARCH)" ;
484}
485
486
487# zlib
488if [ IsPackageAvailable zlib_devel ] {
489	ExtractBuildFeatureArchives zlib :
490		file: base zlib
491			runtime: lib
492		file: devel zlib_devel
493			depends: base
494			library: $(developLibDir)/libz.so
495			headers: $(developHeadersDir)
496		# sources are required for the primary architecture only
497		primary @{
498			file: source zlib_source
499				sources: develop/sources/%portRevisionedName%/sources
500		}@
501		;
502
503	EnableBuildFeatures zlib ;
504} else {
505	Echo "zlib support not available on $(TARGET_PACKAGING_ARCH)" ;
506}
507
508
509# libedit
510if [ IsPackageAvailable libedit_devel ] {
511	ExtractBuildFeatureArchives libedit :
512		file: base libedit
513			runtime: lib
514		file: devel libedit_devel
515			depends: base
516			library: $(developLibDir)/libedit.so
517			headers: $(developHeadersDir)
518		;
519
520	EnableBuildFeatures libedit ;
521} else {
522	Echo "libedit support not available on $(TARGET_PACKAGING_ARCH)" ;
523}
524
525
526# libsolv
527if [ IsPackageAvailable libsolv_devel ] {
528	ExtractBuildFeatureArchives libsolv :
529		file: base libsolv
530			runtime: lib
531		file: devel libsolv_devel
532			depends: base
533			libraries:
534				$(developLibDir)/libsolv.so
535				$(developLibDir)/libsolvext.so
536			headers: $(developHeadersDir)
537		# sources are required for the primary architecture only
538		primary @{
539			file: source libsolv_source
540				sources: develop/sources/%portRevisionedName%/sources
541		}@
542		;
543
544	EnableBuildFeatures libsolv ;
545} else {
546	Echo "libsolv package not available for $(TARGET_PACKAGING_ARCH)" ;
547}
548
549
550# qrencode
551if [ IsPackageAvailable qrencode_kdl_devel ] {
552	ExtractBuildFeatureArchives libqrencode_kdl :
553		file: devel qrencode_kdl_devel
554			library: $(developLibDir)/libqrencode_kdl.a
555			headers: $(developHeadersDir)
556		;
557
558	EnableBuildFeatures libqrencode_kdl ;
559} else {
560	Echo "qrencode support not available on $(TARGET_PACKAGING_ARCH)" ;
561}
562
563
564# tiff
565if [ IsPackageAvailable tiff4_devel ] {
566	ExtractBuildFeatureArchives tiff :
567		file: base tiff4
568			runtime: lib
569		file: devel tiff4_devel
570			depends: base
571			library: $(developLibDir)/libtiff.so.5
572			headers: $(developHeadersDir) $(developHeadersDir)/tiff
573		;
574
575	EnableBuildFeatures tiff ;
576} else {
577	Echo "Tiff support not available on $(TARGET_PACKAGING_ARCH)" ;
578}
579
580
581# openexr
582if [ IsPackageAvailable openexr_devel ]
583	&& [ IsPackageAvailable ilmbase_devel ] {
584	ExtractBuildFeatureArchives openexr :
585		file: base openexr
586			runtime: lib
587		file: devel openexr_devel
588			depends: base
589			libraries:
590				$(developLibDir)/libIlmImf.so
591				$(developLibDir)/libIlmImfUtil.so
592			headers: $(developHeadersDir) $(developHeadersDir)/OpenEXR
593		;
594
595	EnableBuildFeatures openexr ;
596} else {
597	Echo "OpenEXR support not available on $(TARGET_PACKAGING_ARCH)" ;
598}
599
600
601# ilmbase
602if [ IsPackageAvailable ilmbase_devel ] {
603	ExtractBuildFeatureArchives ilmbase :
604		file: base ilmbase
605			runtime: lib
606		file: devel ilmbase_devel
607			depends: base
608			libraries:
609				$(developLibDir)/libHalf.so
610				$(developLibDir)/libIex.so
611				$(developLibDir)/libIexMath.so
612				$(developLibDir)/libIlmThread.so
613				$(developLibDir)/libImath.so
614			headers: $(developHeadersDir) $(developHeadersDir)/OpenEXR
615		;
616
617	EnableBuildFeatures ilmbase ;
618} else {
619	Echo "IlmBase support not available on $(TARGET_PACKAGING_ARCH)" ;
620}
621
622
623# libwebp
624if [ IsPackageAvailable libwebp_devel ] {
625	if $(HAIKU_PACKAGING_ARCH) = x86 && $(TARGET_PACKAGING_ARCH) = x86_gcc2 {
626		ExtractBuildFeatureArchives libwebp :
627			file: base libwebp
628				runtime: lib
629			file: devel libwebp_devel
630				depends: base
631				library: $(developLibDir)/libwebp.so.6
632				headers: $(developHeadersDir) $(developHeadersDir)/webp
633			;
634	} else {
635		ExtractBuildFeatureArchives libwebp :
636			file: base libwebp
637				runtime: lib
638			file: devel libwebp_devel
639				depends: base
640				library: $(developLibDir)/libwebp.so.7
641				headers: $(developHeadersDir) $(developHeadersDir)/webp
642			;
643	}
644
645	EnableBuildFeatures libwebp ;
646} else {
647	Echo "Libwebp support not available on $(TARGET_PACKAGING_ARCH)" ;
648}
649
650
651# live555
652if [ IsPackageAvailable live555_devel ] {
653	ExtractBuildFeatureArchives live555 :
654		file: devel live555_devel
655			libraries:
656				$(developLibDir)/libliveMedia.a
657				$(developLibDir)/libBasicUsageEnvironment.a
658				$(developLibDir)/libgroupsock.a
659				$(developLibDir)/libUsageEnvironment.a
660
661			headers: $(developHeadersDir)
662				$(developHeadersDir)/liveMedia
663				$(developHeadersDir)/BasicUsageEnvironment
664				$(developHeadersDir)/groupsock
665				$(developHeadersDir)/UsageEnvironment
666		;
667	EnableBuildFeatures live555 ;
668} else {
669	Echo "live555 not available for $(TARGET_PACKAGING_ARCH)" ;
670}
671
672
673# ncurses
674if [ IsPackageAvailable ncurses6_devel ] {
675	ExtractBuildFeatureArchives ncurses :
676		file: base ncurses6
677			runtime: lib
678		file: devel ncurses6_devel
679			depends: base
680			library: $(developLibDir)/libncurses.so.6
681			headers: $(developHeadersDir)
682		;
683
684	EnableBuildFeatures ncurses ;
685} else {
686	Echo "ncurses support not available on $(TARGET_PACKAGING_ARCH)" ;
687}
688
689
690# expat
691if [ IsPackageAvailable expat_devel ] {
692	ExtractBuildFeatureArchives expat :
693		file: base expat
694			runtime: lib
695		file: devel expat_devel
696			depends: base
697			library: $(developLibDir)/libexpat.so.1
698			headers: $(developHeadersDir)
699		;
700
701	EnableBuildFeatures expat ;
702} else {
703	Echo "expat support not available on $(TARGET_PACKAGING_ARCH)" ;
704}
705
706
707# gnu-efi
708if $(TARGET_PACKAGING_ARCH) = x86_64 {
709	if [ IsPackageAvailable gnu_efi_kernel ] {
710		ExtractBuildFeatureArchives gnuefi :
711			file: base gnu_efi_kernel
712				headers: develop/headers/gnuefi
713				headersProtocol: develop/headers/gnuefi/protocol
714				headersArch: develop/headers/gnuefi/$(TARGET_ARCH)
715				libdir: develop/lib/gnuefi
716			;
717
718		EnableBuildFeatures gnuefi ;
719	} else {
720		Echo "gnu_efi_kernel support not available on $(TARGET_PACKAGING_ARCH)" ;
721	}
722}
723
724
725# zstd
726if [ IsPackageAvailable zstd_devel ] {
727	ExtractBuildFeatureArchives zstd :
728		file: base zstd
729			runtime: lib
730		file: devel zstd_devel
731			depends: base
732			library: $(developLibDir)/libzstd.so
733			headers: $(developHeadersDir)
734		# sources are required for the primary architecture only
735		primary @{
736			file: source zstd_source
737				sources: develop/sources/%portRevisionedName%/sources
738		}@
739		;
740
741	EnableBuildFeatures zstd ;
742} else {
743	Echo "zstd support not available on $(TARGET_PACKAGING_ARCH)" ;
744}
745
746
747# ATA Drivers + Bus
748EnableBuildFeatures ata ;
749