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
# : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ;
#
#AddFilesToPackage $(addOnsDir) media : $(SYSTEM_ADD_ONS_MEDIA) ;
AddFilesToPackage $(addOnsDir) media : $(SYSTEM_ADD_ONS_MEDIA) ;
AddFilesToPackage $(addOnsDir) 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 ;
Addon demultiplexer.media_addon :
MediaDemultiplexerNode.cpp
MediaDemultiplexerAddOn.cpp
MediaOutputInfo.cpp
misc.cpp
: be media
;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles demultiplexer.media_addon ] :
MediaDemultiplexerNode.cpp
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 ;
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 ;
Addon dvb.media_addon :
DVBCard.cpp
DVBMediaAddon.cpp
DVBMediaNode.cpp
MediaFormat.cpp
MediaStreamDecoder.cpp
Packet.cpp
PacketQueue.cpp
pes.cpp
TransportStreamDemux.cpp
: be media [ TargetLibsupc++ ]
;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
UseBuildFeatureHeaders ffmpeg ;
Includes [ FGristFiles $(sources) ]
: [ BuildFeatureAttribute ffmpeg : headers ] ;
Includes [ FGristFiles MediaFormat.cpp ]
: [ 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
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 ;
Addon equalizer.media_addon :
Equalizer.cpp
EqualizerAddOn.cpp
EqualizerNode.cpp
: be media [ TargetLibstdc++ ]
;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles equalizer.media_addon ] :
Equalizer.cpp
EqualizerAddOn.cpp
EqualizerNode.cpp
: be media [ TargetLibstdc++ ]
;
}
}
@@ -6,10 +6,15 @@ if ! $(TARGET_PLATFORM_HAIKU_COMPATIBLE) {
SubDirC++Flags -fmultiple-symbol-spaces ;
}
Addon esound_sink.media_addon :
ESDEndpoint.cpp
ESDSinkAddOn.cpp
ESDSinkNode.cpp
: be media network [ TargetLibsupc++ ]
;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles esound_sink.media_addon ] :
ESDEndpoint.cpp
ESDSinkAddOn.cpp
ESDSinkNode.cpp
: be media network [ TargetLibsupc++ ]
;
}
}
@@ -6,9 +6,14 @@ UsePrivateHeaders firewire ;
UsePrivateHeaders media ;
UsePrivateHeaders shared ;
Addon firewire_dv.media_addon :
FireWireCard.cpp
FireWireDVAddOn.cpp
FireWireDVNode.cpp
: be media [ TargetLibsupc++ ]
;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles firewire_dv.media_addon ] :
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 ;
Addon legacy.media_addon :
LegacyAudioConsumer.cpp
LegacyAudioDevice.cpp
LegacyAudioProducer.cpp
LegacyMediaAddOn.cpp
: be media [ TargetLibsupc++ ]
;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles legacy.media_addon ] :
LegacyAudioConsumer.cpp
LegacyAudioDevice.cpp
LegacyAudioProducer.cpp
LegacyMediaAddOn.cpp
: be media [ TargetLibsupc++ ]
;
}
}
+18 -13
View File
@@ -4,19 +4,24 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
AddResources mixer.media_addon : AudioMixer.rdef ;
Addon mixer.media_addon :
AudioMixer.cpp
ByteSwap.cpp
Interpolate.cpp
MixerAddOn.cpp
MixerCore.cpp
MixerInput.cpp
MixerOutput.cpp
MixerSettings.cpp
MixerUtils.cpp
Resampler.cpp
: be media [ TargetLibsupc++ ] localestub
;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles mixer.media_addon ] :
AudioMixer.cpp
ByteSwap.cpp
Interpolate.cpp
MixerAddOn.cpp
MixerCore.cpp
MixerInput.cpp
MixerOutput.cpp
MixerSettings.cpp
MixerUtils.cpp
Resampler.cpp
: be media [ TargetLibsupc++ ] localestub
;
}
}
DoCatalogs mixer.media_addon
:
@@ -8,17 +8,23 @@ if ! $(TARGET_PLATFORM_HAIKU_COMPATIBLE) {
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 :
MultiAudioAddOn.cpp
MultiAudioDevice.cpp
MultiAudioNode.cpp
MultiAudioUtility.cpp
Resampler.cpp
TimeComputer.cpp
: be media [ TargetLibsupc++ ] localestub
;
Addon [ MultiArchDefaultGristFiles hmulti_audio.media_addon ] :
MultiAudioAddOn.cpp
MultiAudioDevice.cpp
MultiAudioNode.cpp
MultiAudioUtility.cpp
Resampler.cpp
TimeComputer.cpp
: be media [ TargetLibsupc++ ] localestub
;
}
}
DoCatalogs hmulti_audio.media_addon
:
@@ -8,11 +8,16 @@ if $(TARGET_PLATFORM) != haiku {
SubDirC++Flags -fmultiple-symbol-spaces -D_ZETA_TS_FIND_DIR_=1 ;
}
Addon opensound.media_addon :
OpenSoundAddOn.cpp
OpenSoundDevice.cpp
OpenSoundDeviceEngine.cpp
OpenSoundDeviceMixer.cpp
OpenSoundNode.cpp
: be media [ TargetLibsupc++ ]
;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles opensound.media_addon ] :
OpenSoundAddOn.cpp
OpenSoundDevice.cpp
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 radeon ] ;
Addon radeon.media_addon :
RadeonAddOn.cpp
RadeonProducer.cpp
CC.cpp
Capture.cpp
I2CPort.cpp
MSP3430.cpp
Radeon.cpp
Theater.cpp
Tuner.cpp
VIPPort.cpp
VideoIn.cpp
Theater100.cpp
Theater200.cpp
;
LinkAgainst radeon.media_addon : be media ;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles radeon.media_addon ] :
RadeonAddOn.cpp
RadeonProducer.cpp
CC.cpp
Capture.cpp
I2CPort.cpp
MSP3430.cpp
Radeon.cpp
Theater.cpp
Tuner.cpp
VIPPort.cpp
VideoIn.cpp
Theater100.cpp
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 ] ;
Application reader.media_addon :
AbstractFileInterfaceNode.cpp
AbstractFileInterfaceAddOn.cpp
MediaReader.cpp
MediaReaderAddOn.cpp
misc.cpp
: be media [ TargetLibsupc++ ]
;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Application [ MultiArchDefaultGristFiles reader.media_addon ] :
AbstractFileInterfaceNode.cpp
AbstractFileInterfaceAddOn.cpp
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 ;
Addon tone_producer_demo.media_addon :
ToneProducerAddOn.cpp
ToneProducer.cpp
: be media [ TargetLibsupc++ ]
;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles tone_producer_demo.media_addon ] :
ToneProducerAddOn.cpp
ToneProducer.cpp
: be media [ TargetLibsupc++ ]
;
}
}
@@ -4,9 +4,14 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
UsePrivateHeaders usb_vision ;
Addon usb_vision.media_addon :
AddOn.cpp
Producer.cpp
TunerLocale.cpp
: be media [ TargetLibstdc++ ]
;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles usb_vision.media_addon ] :
AddOn.cpp
Producer.cpp
TunerLocale.cpp
: be media [ TargetLibstdc++ ]
;
}
}
@@ -13,91 +13,100 @@ if $(TARGET_PLATFORM_HAIKU_COMPATIBLE) {
usbKitLibraryName = usb ;
}
# 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) ] ;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
# 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
Includes [ FGristFiles CamRoster.cpp ] : [ FGristFiles CamInternalAddons.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 ;
Addon video_mixer.media_addon :
VideoMixerNode.cpp
VideoMixerNodeConsumer.cpp
VideoMixerNodeProducer.cpp
VideoMixerNodeEventLooper.cpp
VideoMixerAddOn.cpp
CpuCapabilities.cpp
BufferMixer.cpp
yuvrgb.nasm
: be media
;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles video_mixer.media_addon ] :
VideoMixerNode.cpp
VideoMixerNodeConsumer.cpp
VideoMixerNodeProducer.cpp
VideoMixerNodeEventLooper.cpp
VideoMixerAddOn.cpp
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 ;
Addon video_producer_demo.media_addon :
AddOn.cpp
Producer.cpp
: be media [ TargetLibsupc++ ]
;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
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 ;
Addon video_window_demo.media_addon :
VideoAddOn.cpp
VideoNode.cpp
VideoView.cpp
VideoWindow.cpp
: be media [ TargetLibsupc++ ]
;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles video_window_demo.media_addon ] :
VideoAddOn.cpp
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 ;
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 :
VSTHost.cpp
VSTAddOn.cpp
VSTNode.cpp
: be media [ TargetLibstdc++ ]
;
Addon [ MultiArchDefaultGristFiles vst_host.media_addon ] :
VSTHost.cpp
VSTAddOn.cpp
VSTNode.cpp
: be media [ TargetLibstdc++ ]
;
}
}
+14 -9
View File
@@ -2,12 +2,17 @@ SubDir HAIKU_TOP src add-ons media media-add-ons writer ;
UsePrivateHeaders media ;
Addon writer.media_addon :
../AbstractFileInterfaceNode.cpp
../AbstractFileInterfaceAddOn.cpp
MediaWriter.cpp
MediaWriterAddOn.cpp
misc.cpp
: be media
: true
;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
Addon [ MultiArchDefaultGristFiles writer.media_addon ] :
../AbstractFileInterfaceNode.cpp
../AbstractFileInterfaceAddOn.cpp
MediaWriter.cpp
MediaWriterAddOn.cpp
misc.cpp
: be media
: true
;
}
}