Build media add-ons for secondary arch.

Fixes #10049.
This commit is contained in:
Adrien Destugues
2014-10-31 12:20:52 +01:00
parent 5d8ce4733c
commit dff211d8a6
20 changed files with 345 additions and 241 deletions
+1 -1
View File
@@ -31,7 +31,7 @@ AddFilesToPackage $(addOnsDir) Translators
# AddFilesToPackage $(addOnsDir) locale catalogs # AddFilesToPackage $(addOnsDir) locale catalogs
# : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ; # : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ;
# #
#AddFilesToPackage $(addOnsDir) media : $(SYSTEM_ADD_ONS_MEDIA) ; AddFilesToPackage $(addOnsDir) media : $(SYSTEM_ADD_ONS_MEDIA) ;
AddFilesToPackage $(addOnsDir) media plugins AddFilesToPackage $(addOnsDir) media plugins
: [ MultiArchDefaultGristFiles $(SYSTEM_ADD_ONS_MEDIA_PLUGINS) ] ; : [ MultiArchDefaultGristFiles $(SYSTEM_ADD_ONS_MEDIA_PLUGINS) ] ;
# #
@@ -2,10 +2,15 @@ SubDir HAIKU_TOP src add-ons media media-add-ons demultiplexer ;
UsePrivateHeaders demultiplexer ; UsePrivateHeaders demultiplexer ;
Addon demultiplexer.media_addon : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles demultiplexer.media_addon ] :
MediaDemultiplexerNode.cpp MediaDemultiplexerNode.cpp
MediaDemultiplexerAddOn.cpp MediaDemultiplexerAddOn.cpp
MediaOutputInfo.cpp MediaOutputInfo.cpp
misc.cpp misc.cpp
: be media : be media
; ;
}
}
+18 -9
View File
@@ -2,15 +2,22 @@ SubDir HAIKU_TOP src add-ons media media-add-ons dvb ;
UsePrivateHeaders drivers ; UsePrivateHeaders drivers ;
local ffmpegHeaders = [ BuildFeatureAttribute ffmpeg : headers : path ] ;
UseHeaders $(ffmpegHeaders) ;
UseHeaders [ FDirName $(ffmpegHeaders) libavcodec ] ;
UseHeaders [ FDirName $(ffmpegHeaders) libavformat ] ;
UseHeaders [ FDirName $(ffmpegHeaders) libavutil ] ;
SubDirC++Flags -D__STDC_CONSTANT_MACROS -Wno-deprecated-declarations ; SubDirC++Flags -D__STDC_CONSTANT_MACROS -Wno-deprecated-declarations ;
Addon dvb.media_addon : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
UseBuildFeatureHeaders ffmpeg ;
Includes [ FGristFiles $(sources) ]
: [ BuildFeatureAttribute ffmpeg : headers ] ;
local ffmpegHeaders = [ BuildFeatureAttribute ffmpeg : headers : path ] ;
UseHeaders $(ffmpegHeaders) ;
UseHeaders [ FDirName $(ffmpegHeaders) libavcodec ] ;
UseHeaders [ FDirName $(ffmpegHeaders) libavformat ] ;
UseHeaders [ FDirName $(ffmpegHeaders) libavutil ] ;
Addon [ MultiArchDefaultGristFiles dvb.media_addon ] :
DVBCard.cpp DVBCard.cpp
DVBMediaAddon.cpp DVBMediaAddon.cpp
DVBMediaNode.cpp DVBMediaNode.cpp
@@ -21,7 +28,9 @@ Addon dvb.media_addon :
pes.cpp pes.cpp
TransportStreamDemux.cpp TransportStreamDemux.cpp
: be media [ TargetLibsupc++ ] : be media [ TargetLibsupc++ ]
; ;
Includes [ FGristFiles MediaFormat.cpp ] Includes [ FGristFiles MediaFormat.cpp ]
: [ BuildFeatureAttribute ffmpeg : headers ] ; : [ BuildFeatureAttribute ffmpeg : headers ] ;
}
}
@@ -2,9 +2,14 @@ SubDir HAIKU_TOP src add-ons media media-add-ons equalizer ;
AddResources equalizer.media_addon : Equalizer.rdef ; AddResources equalizer.media_addon : Equalizer.rdef ;
Addon equalizer.media_addon : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles equalizer.media_addon ] :
Equalizer.cpp Equalizer.cpp
EqualizerAddOn.cpp EqualizerAddOn.cpp
EqualizerNode.cpp EqualizerNode.cpp
: be media [ TargetLibstdc++ ] : be media [ TargetLibstdc++ ]
; ;
}
}
@@ -6,10 +6,15 @@ if ! $(TARGET_PLATFORM_HAIKU_COMPATIBLE) {
SubDirC++Flags -fmultiple-symbol-spaces ; SubDirC++Flags -fmultiple-symbol-spaces ;
} }
Addon esound_sink.media_addon : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles esound_sink.media_addon ] :
ESDEndpoint.cpp ESDEndpoint.cpp
ESDSinkAddOn.cpp ESDSinkAddOn.cpp
ESDSinkNode.cpp ESDSinkNode.cpp
: be media network [ TargetLibsupc++ ] : be media network [ TargetLibsupc++ ]
; ;
}
}
@@ -6,9 +6,14 @@ UsePrivateHeaders firewire ;
UsePrivateHeaders media ; UsePrivateHeaders media ;
UsePrivateHeaders shared ; UsePrivateHeaders shared ;
Addon firewire_dv.media_addon : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles firewire_dv.media_addon ] :
FireWireCard.cpp FireWireCard.cpp
FireWireDVAddOn.cpp FireWireDVAddOn.cpp
FireWireDVNode.cpp FireWireDVNode.cpp
: be media [ TargetLibsupc++ ] : be media [ TargetLibsupc++ ]
; ;
}
}
@@ -2,10 +2,15 @@ SubDir HAIKU_TOP src add-ons media media-add-ons legacy ;
UsePrivateHeaders media ; UsePrivateHeaders media ;
Addon legacy.media_addon : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles legacy.media_addon ] :
LegacyAudioConsumer.cpp LegacyAudioConsumer.cpp
LegacyAudioDevice.cpp LegacyAudioDevice.cpp
LegacyAudioProducer.cpp LegacyAudioProducer.cpp
LegacyMediaAddOn.cpp LegacyMediaAddOn.cpp
: be media [ TargetLibsupc++ ] : be media [ TargetLibsupc++ ]
; ;
}
}
@@ -4,7 +4,10 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
AddResources mixer.media_addon : AudioMixer.rdef ; AddResources mixer.media_addon : AudioMixer.rdef ;
Addon mixer.media_addon : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles mixer.media_addon ] :
AudioMixer.cpp AudioMixer.cpp
ByteSwap.cpp ByteSwap.cpp
Interpolate.cpp Interpolate.cpp
@@ -16,7 +19,9 @@ Addon mixer.media_addon :
MixerUtils.cpp MixerUtils.cpp
Resampler.cpp Resampler.cpp
: be media [ TargetLibsupc++ ] localestub : be media [ TargetLibsupc++ ] localestub
; ;
}
}
DoCatalogs mixer.media_addon DoCatalogs mixer.media_addon
: :
@@ -8,9 +8,13 @@ if ! $(TARGET_PLATFORM_HAIKU_COMPATIBLE) {
SubDirC++Flags -fmultiple-symbol-spaces ; SubDirC++Flags -fmultiple-symbol-spaces ;
} }
AddResources hmulti_audio.media_addon : MultiAudio.rdef ; local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
AddResources [ MultiArchDefaultGristFiles hmulti_audio.media_addon ] :
MultiAudio.rdef ;
Addon hmulti_audio.media_addon : Addon [ MultiArchDefaultGristFiles hmulti_audio.media_addon ] :
MultiAudioAddOn.cpp MultiAudioAddOn.cpp
MultiAudioDevice.cpp MultiAudioDevice.cpp
MultiAudioNode.cpp MultiAudioNode.cpp
@@ -18,7 +22,9 @@ Addon hmulti_audio.media_addon :
Resampler.cpp Resampler.cpp
TimeComputer.cpp TimeComputer.cpp
: be media [ TargetLibsupc++ ] localestub : be media [ TargetLibsupc++ ] localestub
; ;
}
}
DoCatalogs hmulti_audio.media_addon DoCatalogs hmulti_audio.media_addon
: :
@@ -8,11 +8,16 @@ if $(TARGET_PLATFORM) != haiku {
SubDirC++Flags -fmultiple-symbol-spaces -D_ZETA_TS_FIND_DIR_=1 ; SubDirC++Flags -fmultiple-symbol-spaces -D_ZETA_TS_FIND_DIR_=1 ;
} }
Addon opensound.media_addon : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles opensound.media_addon ] :
OpenSoundAddOn.cpp OpenSoundAddOn.cpp
OpenSoundDevice.cpp OpenSoundDevice.cpp
OpenSoundDeviceEngine.cpp OpenSoundDeviceEngine.cpp
OpenSoundDeviceMixer.cpp OpenSoundDeviceMixer.cpp
OpenSoundNode.cpp OpenSoundNode.cpp
: be media [ TargetLibsupc++ ] : be media [ TargetLibsupc++ ]
; ;
}
}
@@ -4,7 +4,10 @@ UsePrivateHeaders graphics ;
UsePrivateHeaders [ FDirName graphics common ] ; UsePrivateHeaders [ FDirName graphics common ] ;
UsePrivateHeaders [ FDirName graphics radeon ] ; UsePrivateHeaders [ FDirName graphics radeon ] ;
Addon radeon.media_addon : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles radeon.media_addon ] :
RadeonAddOn.cpp RadeonAddOn.cpp
RadeonProducer.cpp RadeonProducer.cpp
CC.cpp CC.cpp
@@ -18,6 +21,7 @@ Addon radeon.media_addon :
VideoIn.cpp VideoIn.cpp
Theater100.cpp Theater100.cpp
Theater200.cpp Theater200.cpp
; : be media
;
LinkAgainst radeon.media_addon : be media ; }
}
@@ -4,11 +4,16 @@ UsePrivateHeaders media ;
SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons media media-add-ons ] ; SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons media media-add-ons ] ;
Application reader.media_addon : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Application [ MultiArchDefaultGristFiles reader.media_addon ] :
AbstractFileInterfaceNode.cpp AbstractFileInterfaceNode.cpp
AbstractFileInterfaceAddOn.cpp AbstractFileInterfaceAddOn.cpp
MediaReader.cpp MediaReader.cpp
MediaReaderAddOn.cpp MediaReaderAddOn.cpp
misc.cpp misc.cpp
: be media [ TargetLibsupc++ ] : be media [ TargetLibsupc++ ]
; ;
}
}
@@ -1,7 +1,12 @@
SubDir HAIKU_TOP src add-ons media media-add-ons tone_producer_demo ; SubDir HAIKU_TOP src add-ons media media-add-ons tone_producer_demo ;
Addon tone_producer_demo.media_addon : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles tone_producer_demo.media_addon ] :
ToneProducerAddOn.cpp ToneProducerAddOn.cpp
ToneProducer.cpp ToneProducer.cpp
: be media [ TargetLibsupc++ ] : be media [ TargetLibsupc++ ]
; ;
}
}
@@ -4,9 +4,14 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
UsePrivateHeaders usb_vision ; UsePrivateHeaders usb_vision ;
Addon usb_vision.media_addon : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles usb_vision.media_addon ] :
AddOn.cpp AddOn.cpp
Producer.cpp Producer.cpp
TunerLocale.cpp TunerLocale.cpp
: be media [ TargetLibstdc++ ] : be media [ TargetLibstdc++ ]
; ;
}
}
@@ -13,50 +13,56 @@ if $(TARGET_PLATFORM_HAIKU_COMPATIBLE) {
usbKitLibraryName = usb ; usbKitLibraryName = usb ;
} }
# source directories
local sourceDirs = local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
# source directories
local sourceDirs =
addons/quickcam addons/quickcam
addons/sonix addons/sonix
addons/uvc addons/uvc
addons addons
cstransforms cstransforms
sensors sensors
; ;
local sourceDir ; local sourceDir ;
for sourceDir in $(sourceDirs) { for sourceDir in $(sourceDirs) {
SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons media media-add-ons SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons media media-add-ons
usb_webcam $(sourceDir) ] ; usb_webcam $(sourceDir) ] ;
} }
## addon sources
local addonSources ; ## addon sources
addonSources = local addonSources ;
addonSources =
QuickCamDevice.cpp QuickCamDevice.cpp
SonixCamDevice.cpp SonixCamDevice.cpp
NW80xCamDevice.cpp NW80xCamDevice.cpp
# UVCCamDevice.cpp UVCDeframer.cpp # UVCCamDevice.cpp UVCDeframer.cpp
; ;
## colorspace transforms sources ## colorspace transforms sources
local csTransformsSources ; local csTransformsSources ;
csTransformsSources = Bayer.cpp ; csTransformsSources = Bayer.cpp ;
## sensors sources ## sensors sources
local sensorsSources ; local sensorsSources ;
sensorsSources = sensorsSources =
hdcs1000.cpp hdcs1000.cpp
hv7131e1.cpp hv7131e1.cpp
pas106b.cpp pas106b.cpp
pb0100.cpp pb0100.cpp
tas5110c1b.cpp tas5110c1b.cpp
tas5130d1b.cpp tas5130d1b.cpp
; ;
## how to build header files from sources to include the list of built-in addons ## how to build header files from sources to include the list of built-in addons
rule USBWebcamHeaderGen header : macro : sources rule USBWebcamHeaderGen header : macro : sources
{ {
header = [ FGristFiles $(header) ] ; header = [ FGristFiles $(header) ] ;
sources = [ FGristFiles $(sources) ] ; sources = [ FGristFiles $(sources) ] ;
@@ -67,20 +73,21 @@ rule USBWebcamHeaderGen header : macro : sources
GREP_DEFINE on $(header) = $(macro) ; GREP_DEFINE on $(header) = $(macro) ;
USBWebcamHeaderGen1 $(header) : $(sources) ; USBWebcamHeaderGen1 $(header) : $(sources) ;
LocalClean clean : $(header) ; LocalClean clean : $(header) ;
} }
actions USBWebcamHeaderGen1 actions USBWebcamHeaderGen1
{ {
grep -h -a $(GREP_DEFINE) $(2) > $(1) ; grep -h -a $(GREP_DEFINE) $(2) > $(1) ;
} }
USBWebcamHeaderGen CamInternalAddons.h : B_WEBCAM_MKINTFUNC : $(addonSources) ; USBWebcamHeaderGen CamInternalAddons.h : B_WEBCAM_MKINTFUNC
USBWebcamHeaderGen CamInternalSensors.h : B_WEBCAM_DECLARE_SENSOR : $(addonSources) ;
USBWebcamHeaderGen CamInternalSensors.h : B_WEBCAM_DECLARE_SENSOR
: $(sensorsSources) ; : $(sensorsSources) ;
USBWebcamHeaderGen CamInternalColorSpaceTransforms.h USBWebcamHeaderGen CamInternalColorSpaceTransforms.h
: B_WEBCAM_DECLARE_CSTRANSFORM : $(csTransformsSources) ; : B_WEBCAM_DECLARE_CSTRANSFORM : $(csTransformsSources) ;
Addon usb_webcam.media_addon : Addon [ MultiArchDefaultGristFiles usb_webcam.media_addon ] :
$(addonSources) $(addonSources)
$(csTransformsSources) $(csTransformsSources)
$(sensorsSources) $(sensorsSources)
@@ -96,7 +103,9 @@ Addon usb_webcam.media_addon :
CamSensor.cpp CamSensor.cpp
CamStreamingDeframer.cpp CamStreamingDeframer.cpp
: be media $(usbKitLibraryName) [ TargetLibsupc++ ] : be media $(usbKitLibraryName) [ TargetLibsupc++ ]
; ;
}
}
# force dependancies # force dependancies
Includes [ FGristFiles CamRoster.cpp ] : [ FGristFiles CamInternalAddons.h ] ; Includes [ FGristFiles CamRoster.cpp ] : [ FGristFiles CamInternalAddons.h ] ;
@@ -2,7 +2,10 @@ SubDir HAIKU_TOP src add-ons media media-add-ons video_mixer ;
UsePrivateHeaders media shared ; UsePrivateHeaders media shared ;
Addon video_mixer.media_addon : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles video_mixer.media_addon ] :
VideoMixerNode.cpp VideoMixerNode.cpp
VideoMixerNodeConsumer.cpp VideoMixerNodeConsumer.cpp
VideoMixerNodeProducer.cpp VideoMixerNodeProducer.cpp
@@ -12,4 +15,6 @@ Addon video_mixer.media_addon :
BufferMixer.cpp BufferMixer.cpp
yuvrgb.nasm yuvrgb.nasm
: be media : be media
; ;
}
}
@@ -1,7 +1,12 @@
SubDir HAIKU_TOP src add-ons media media-add-ons video_producer_demo ; SubDir HAIKU_TOP src add-ons media media-add-ons video_producer_demo ;
Addon video_producer_demo.media_addon : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles video_producer_demo.media_addon ] :
AddOn.cpp AddOn.cpp
Producer.cpp Producer.cpp
: be media [ TargetLibsupc++ ] : be media [ TargetLibsupc++ ]
; ;
}
}
@@ -1,9 +1,14 @@
SubDir HAIKU_TOP src add-ons media media-add-ons videowindow ; SubDir HAIKU_TOP src add-ons media media-add-ons videowindow ;
Addon video_window_demo.media_addon : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles video_window_demo.media_addon ] :
VideoAddOn.cpp VideoAddOn.cpp
VideoNode.cpp VideoNode.cpp
VideoView.cpp VideoView.cpp
VideoWindow.cpp VideoWindow.cpp
: be media [ TargetLibsupc++ ] : be media [ TargetLibsupc++ ]
; ;
}
}
@@ -1,10 +1,16 @@
SubDir HAIKU_TOP src add-ons media media-add-ons vst_host ; SubDir HAIKU_TOP src add-ons media media-add-ons vst_host ;
AddResources vst_host.media_addon : VSTHost.rdef ; local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
AddResources [ MultiArchDefaultGristFiles vst_host.media_addon ]
: VSTHost.rdef ;
Addon vst_host.media_addon : Addon [ MultiArchDefaultGristFiles vst_host.media_addon ] :
VSTHost.cpp VSTHost.cpp
VSTAddOn.cpp VSTAddOn.cpp
VSTNode.cpp VSTNode.cpp
: be media [ TargetLibstdc++ ] : be media [ TargetLibstdc++ ]
; ;
}
}
@@ -2,7 +2,10 @@ SubDir HAIKU_TOP src add-ons media media-add-ons writer ;
UsePrivateHeaders media ; UsePrivateHeaders media ;
Addon writer.media_addon : local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles writer.media_addon ] :
../AbstractFileInterfaceNode.cpp ../AbstractFileInterfaceNode.cpp
../AbstractFileInterfaceAddOn.cpp ../AbstractFileInterfaceAddOn.cpp
MediaWriter.cpp MediaWriter.cpp
@@ -10,4 +13,6 @@ Addon writer.media_addon :
misc.cpp misc.cpp
: be media : be media
: true : true
; ;
}
}