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 ;
MediaDemultiplexerNode.cpp for architectureObject in [ MultiArchSubDirSetup ] {
MediaDemultiplexerAddOn.cpp on $(architectureObject) {
MediaOutputInfo.cpp Addon [ MultiArchDefaultGristFiles demultiplexer.media_addon ] :
misc.cpp MediaDemultiplexerNode.cpp
: be media MediaDemultiplexerAddOn.cpp
; MediaOutputInfo.cpp
misc.cpp
: be media
;
}
}
+29 -20
View File
@@ -2,26 +2,35 @@ 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 ;
DVBCard.cpp for architectureObject in [ MultiArchSubDirSetup ] {
DVBMediaAddon.cpp on $(architectureObject) {
DVBMediaNode.cpp UseBuildFeatureHeaders ffmpeg ;
MediaFormat.cpp Includes [ FGristFiles $(sources) ]
MediaStreamDecoder.cpp : [ BuildFeatureAttribute ffmpeg : headers ] ;
Packet.cpp
PacketQueue.cpp
pes.cpp
TransportStreamDemux.cpp
: be media [ TargetLibsupc++ ]
;
Includes [ FGristFiles MediaFormat.cpp ] local ffmpegHeaders = [ BuildFeatureAttribute ffmpeg : headers : path ] ;
: [ BuildFeatureAttribute ffmpeg : headers ] ; UseHeaders $(ffmpegHeaders) ;
UseHeaders [ FDirName $(ffmpegHeaders) libavcodec ] ;
UseHeaders [ FDirName $(ffmpegHeaders) libavformat ] ;
UseHeaders [ FDirName $(ffmpegHeaders) libavutil ] ;
Addon [ MultiArchDefaultGristFiles dvb.media_addon ] :
DVBCard.cpp
DVBMediaAddon.cpp
DVBMediaNode.cpp
MediaFormat.cpp
MediaStreamDecoder.cpp
Packet.cpp
PacketQueue.cpp
pes.cpp
TransportStreamDemux.cpp
: be media [ TargetLibsupc++ ]
;
Includes [ FGristFiles MediaFormat.cpp ]
: [ 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 ;
Equalizer.cpp for architectureObject in [ MultiArchSubDirSetup ] {
EqualizerAddOn.cpp on $(architectureObject) {
EqualizerNode.cpp Addon [ MultiArchDefaultGristFiles equalizer.media_addon ] :
: be media [ TargetLibstdc++ ] Equalizer.cpp
; EqualizerAddOn.cpp
EqualizerNode.cpp
: 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 ;
ESDEndpoint.cpp for architectureObject in [ MultiArchSubDirSetup ] {
ESDSinkAddOn.cpp on $(architectureObject) {
ESDSinkNode.cpp Addon [ MultiArchDefaultGristFiles esound_sink.media_addon ] :
: be media network [ TargetLibsupc++ ] ESDEndpoint.cpp
; ESDSinkAddOn.cpp
ESDSinkNode.cpp
: 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 ;
FireWireCard.cpp for architectureObject in [ MultiArchSubDirSetup ] {
FireWireDVAddOn.cpp on $(architectureObject) {
FireWireDVNode.cpp Addon [ MultiArchDefaultGristFiles firewire_dv.media_addon ] :
: be media [ TargetLibsupc++ ] FireWireCard.cpp
; FireWireDVAddOn.cpp
FireWireDVNode.cpp
: be media [ TargetLibsupc++ ]
;
}
}
+12 -7
View File
@@ -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 ;
LegacyAudioConsumer.cpp for architectureObject in [ MultiArchSubDirSetup ] {
LegacyAudioDevice.cpp on $(architectureObject) {
LegacyAudioProducer.cpp Addon [ MultiArchDefaultGristFiles legacy.media_addon ] :
LegacyMediaAddOn.cpp LegacyAudioConsumer.cpp
: be media [ TargetLibsupc++ ] LegacyAudioDevice.cpp
; LegacyAudioProducer.cpp
LegacyMediaAddOn.cpp
: be media [ TargetLibsupc++ ]
;
}
}
+18 -13
View File
@@ -4,19 +4,24 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
AddResources mixer.media_addon : AudioMixer.rdef ; AddResources mixer.media_addon : AudioMixer.rdef ;
Addon mixer.media_addon : local architectureObject ;
AudioMixer.cpp for architectureObject in [ MultiArchSubDirSetup ] {
ByteSwap.cpp on $(architectureObject) {
Interpolate.cpp Addon [ MultiArchDefaultGristFiles mixer.media_addon ] :
MixerAddOn.cpp AudioMixer.cpp
MixerCore.cpp ByteSwap.cpp
MixerInput.cpp Interpolate.cpp
MixerOutput.cpp MixerAddOn.cpp
MixerSettings.cpp MixerCore.cpp
MixerUtils.cpp MixerInput.cpp
Resampler.cpp MixerOutput.cpp
: be media [ TargetLibsupc++ ] localestub MixerSettings.cpp
; MixerUtils.cpp
Resampler.cpp
: be media [ TargetLibsupc++ ] localestub
;
}
}
DoCatalogs mixer.media_addon DoCatalogs mixer.media_addon
: :
@@ -8,17 +8,23 @@ 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
MultiAudioUtility.cpp MultiAudioUtility.cpp
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 ;
OpenSoundAddOn.cpp for architectureObject in [ MultiArchSubDirSetup ] {
OpenSoundDevice.cpp on $(architectureObject) {
OpenSoundDeviceEngine.cpp Addon [ MultiArchDefaultGristFiles opensound.media_addon ] :
OpenSoundDeviceMixer.cpp OpenSoundAddOn.cpp
OpenSoundNode.cpp OpenSoundDevice.cpp
: be media [ TargetLibsupc++ ] OpenSoundDeviceEngine.cpp
; OpenSoundDeviceMixer.cpp
OpenSoundNode.cpp
: be media [ TargetLibsupc++ ]
;
}
}
+21 -17
View File
@@ -4,20 +4,24 @@ UsePrivateHeaders graphics ;
UsePrivateHeaders [ FDirName graphics common ] ; UsePrivateHeaders [ FDirName graphics common ] ;
UsePrivateHeaders [ FDirName graphics radeon ] ; UsePrivateHeaders [ FDirName graphics radeon ] ;
Addon radeon.media_addon : local architectureObject ;
RadeonAddOn.cpp for architectureObject in [ MultiArchSubDirSetup ] {
RadeonProducer.cpp on $(architectureObject) {
CC.cpp Addon [ MultiArchDefaultGristFiles radeon.media_addon ] :
Capture.cpp RadeonAddOn.cpp
I2CPort.cpp RadeonProducer.cpp
MSP3430.cpp CC.cpp
Radeon.cpp Capture.cpp
Theater.cpp I2CPort.cpp
Tuner.cpp MSP3430.cpp
VIPPort.cpp Radeon.cpp
VideoIn.cpp Theater.cpp
Theater100.cpp Tuner.cpp
Theater200.cpp VIPPort.cpp
; VideoIn.cpp
Theater100.cpp
LinkAgainst radeon.media_addon : be media ; Theater200.cpp
: be media
;
}
}
+13 -8
View File
@@ -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 ;
AbstractFileInterfaceNode.cpp for architectureObject in [ MultiArchSubDirSetup ] {
AbstractFileInterfaceAddOn.cpp on $(architectureObject) {
MediaReader.cpp Application [ MultiArchDefaultGristFiles reader.media_addon ] :
MediaReaderAddOn.cpp AbstractFileInterfaceNode.cpp
misc.cpp AbstractFileInterfaceAddOn.cpp
: be media [ TargetLibsupc++ ] MediaReader.cpp
; MediaReaderAddOn.cpp
misc.cpp
: 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 ;
ToneProducerAddOn.cpp for architectureObject in [ MultiArchSubDirSetup ] {
ToneProducer.cpp on $(architectureObject) {
: be media [ TargetLibsupc++ ] Addon [ MultiArchDefaultGristFiles tone_producer_demo.media_addon ] :
; ToneProducerAddOn.cpp
ToneProducer.cpp
: be media [ TargetLibsupc++ ]
;
}
}
@@ -4,9 +4,14 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
UsePrivateHeaders usb_vision ; UsePrivateHeaders usb_vision ;
Addon usb_vision.media_addon : local architectureObject ;
AddOn.cpp for architectureObject in [ MultiArchSubDirSetup ] {
Producer.cpp on $(architectureObject) {
TunerLocale.cpp Addon [ MultiArchDefaultGristFiles usb_vision.media_addon ] :
: be media [ TargetLibstdc++ ] AddOn.cpp
; Producer.cpp
TunerLocale.cpp
: be media [ TargetLibstdc++ ]
;
}
}
@@ -13,91 +13,100 @@ if $(TARGET_PLATFORM_HAIKU_COMPATIBLE) {
usbKitLibraryName = usb ; usbKitLibraryName = usb ;
} }
# source directories
local sourceDirs =
addons/quickcam
addons/sonix
addons/uvc
addons
cstransforms
sensors
;
local sourceDir ; local architectureObject ;
for sourceDir in $(sourceDirs) { for architectureObject in [ MultiArchSubDirSetup ] {
SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons media media-add-ons on $(architectureObject) {
usb_webcam $(sourceDir) ] ;
# source directories
local sourceDirs =
addons/quickcam
addons/sonix
addons/uvc
addons
cstransforms
sensors
;
local sourceDir ;
for sourceDir in $(sourceDirs) {
SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons media media-add-ons
usb_webcam $(sourceDir) ] ;
}
## addon sources
local addonSources ;
addonSources =
QuickCamDevice.cpp
SonixCamDevice.cpp
NW80xCamDevice.cpp
# UVCCamDevice.cpp UVCDeframer.cpp
;
## colorspace transforms sources
local csTransformsSources ;
csTransformsSources = Bayer.cpp ;
## sensors sources
local sensorsSources ;
sensorsSources =
hdcs1000.cpp
hv7131e1.cpp
pas106b.cpp
pb0100.cpp
tas5110c1b.cpp
tas5130d1b.cpp
;
## how to build header files from sources to include the list of built-in addons
rule USBWebcamHeaderGen header : macro : sources
{
header = [ FGristFiles $(header) ] ;
sources = [ FGristFiles $(sources) ] ;
SEARCH on $(sources) = $(SEARCH_SOURCE) ;
Depends $(header) : $(sources) ;
MakeLocateArch $(header) ;
GREP_DEFINE on $(header) = $(macro) ;
USBWebcamHeaderGen1 $(header) : $(sources) ;
LocalClean clean : $(header) ;
}
actions USBWebcamHeaderGen1
{
grep -h -a $(GREP_DEFINE) $(2) > $(1) ;
}
USBWebcamHeaderGen CamInternalAddons.h : B_WEBCAM_MKINTFUNC
: $(addonSources) ;
USBWebcamHeaderGen CamInternalSensors.h : B_WEBCAM_DECLARE_SENSOR
: $(sensorsSources) ;
USBWebcamHeaderGen CamInternalColorSpaceTransforms.h
: B_WEBCAM_DECLARE_CSTRANSFORM : $(csTransformsSources) ;
Addon [ MultiArchDefaultGristFiles usb_webcam.media_addon ] :
$(addonSources)
$(csTransformsSources)
$(sensorsSources)
AddOn.cpp
Producer.cpp
CamBufferedFilterInterface.cpp
CamBufferingDeframer.cpp
CamColorSpaceTransform.cpp
CamDeframer.cpp
CamDevice.cpp
CamFilterInterface.cpp
CamRoster.cpp
CamSensor.cpp
CamStreamingDeframer.cpp
: be media $(usbKitLibraryName) [ TargetLibsupc++ ]
;
}
} }
## addon sources
local addonSources ;
addonSources =
QuickCamDevice.cpp
SonixCamDevice.cpp
NW80xCamDevice.cpp
# UVCCamDevice.cpp UVCDeframer.cpp
;
## colorspace transforms sources
local csTransformsSources ;
csTransformsSources = Bayer.cpp ;
## sensors sources
local sensorsSources ;
sensorsSources =
hdcs1000.cpp
hv7131e1.cpp
pas106b.cpp
pb0100.cpp
tas5110c1b.cpp
tas5130d1b.cpp
;
## how to build header files from sources to include the list of built-in addons
rule USBWebcamHeaderGen header : macro : sources
{
header = [ FGristFiles $(header) ] ;
sources = [ FGristFiles $(sources) ] ;
SEARCH on $(sources) = $(SEARCH_SOURCE) ;
Depends $(header) : $(sources) ;
MakeLocateArch $(header) ;
GREP_DEFINE on $(header) = $(macro) ;
USBWebcamHeaderGen1 $(header) : $(sources) ;
LocalClean clean : $(header) ;
}
actions USBWebcamHeaderGen1
{
grep -h -a $(GREP_DEFINE) $(2) > $(1) ;
}
USBWebcamHeaderGen CamInternalAddons.h : B_WEBCAM_MKINTFUNC : $(addonSources) ;
USBWebcamHeaderGen CamInternalSensors.h : B_WEBCAM_DECLARE_SENSOR
: $(sensorsSources) ;
USBWebcamHeaderGen CamInternalColorSpaceTransforms.h
: B_WEBCAM_DECLARE_CSTRANSFORM : $(csTransformsSources) ;
Addon usb_webcam.media_addon :
$(addonSources)
$(csTransformsSources)
$(sensorsSources)
AddOn.cpp
Producer.cpp
CamBufferedFilterInterface.cpp
CamBufferingDeframer.cpp
CamColorSpaceTransform.cpp
CamDeframer.cpp
CamDevice.cpp
CamFilterInterface.cpp
CamRoster.cpp
CamSensor.cpp
CamStreamingDeframer.cpp
: be media $(usbKitLibraryName) [ TargetLibsupc++ ]
;
# force dependancies # force dependancies
Includes [ FGristFiles CamRoster.cpp ] : [ FGristFiles CamInternalAddons.h ] ; Includes [ FGristFiles CamRoster.cpp ] : [ FGristFiles CamInternalAddons.h ] ;
Includes [ FGristFiles CamDevice.cpp ] : [ FGristFiles CamInternalSensors.h ] ; Includes [ FGristFiles CamDevice.cpp ] : [ FGristFiles CamInternalSensors.h ] ;
@@ -2,14 +2,19 @@ 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 ;
VideoMixerNode.cpp for architectureObject in [ MultiArchSubDirSetup ] {
VideoMixerNodeConsumer.cpp on $(architectureObject) {
VideoMixerNodeProducer.cpp Addon [ MultiArchDefaultGristFiles video_mixer.media_addon ] :
VideoMixerNodeEventLooper.cpp VideoMixerNode.cpp
VideoMixerAddOn.cpp VideoMixerNodeConsumer.cpp
CpuCapabilities.cpp VideoMixerNodeProducer.cpp
BufferMixer.cpp VideoMixerNodeEventLooper.cpp
yuvrgb.nasm VideoMixerAddOn.cpp
: be media CpuCapabilities.cpp
; BufferMixer.cpp
yuvrgb.nasm
: 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 ;
AddOn.cpp for architectureObject in [ MultiArchSubDirSetup ] {
Producer.cpp on $(architectureObject) {
: be media [ TargetLibsupc++ ] Addon [ MultiArchDefaultGristFiles video_producer_demo.media_addon ] :
; AddOn.cpp
Producer.cpp
: 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 ;
VideoAddOn.cpp for architectureObject in [ MultiArchSubDirSetup ] {
VideoNode.cpp on $(architectureObject) {
VideoView.cpp Addon [ MultiArchDefaultGristFiles video_window_demo.media_addon ] :
VideoWindow.cpp VideoAddOn.cpp
: be media [ TargetLibsupc++ ] VideoNode.cpp
; VideoView.cpp
VideoWindow.cpp
: 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++ ]
; ;
}
}
+14 -9
View File
@@ -2,12 +2,17 @@ SubDir HAIKU_TOP src add-ons media media-add-ons writer ;
UsePrivateHeaders media ; UsePrivateHeaders media ;
Addon writer.media_addon : local architectureObject ;
../AbstractFileInterfaceNode.cpp for architectureObject in [ MultiArchSubDirSetup ] {
../AbstractFileInterfaceAddOn.cpp on $(architectureObject) {
MediaWriter.cpp Addon [ MultiArchDefaultGristFiles writer.media_addon ] :
MediaWriterAddOn.cpp ../AbstractFileInterfaceNode.cpp
misc.cpp ../AbstractFileInterfaceAddOn.cpp
: be media MediaWriter.cpp
: true MediaWriterAddOn.cpp
; misc.cpp
: be media
: true
;
}
}