Mercurial > gub
changeset 5374:2d06179443d5
darwin-x86::portaudio: needs obcj++, barfs on missinc -framework CoreAudio.
author | Jan Nieuwenhuizen <janneke@gnu.org> |
---|---|
date | Tue, 21 Jul 2009 21:57:25 +0200 |
parents | 48e8462be80e |
children | aee8d1f93ad7 |
files | gub/specs/portaudio.py |
diffstat | 1 files changed, 126 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/gub/specs/portaudio.py Tue Jul 21 21:56:43 2009 +0200 +++ b/gub/specs/portaudio.py Tue Jul 21 21:57:25 2009 +0200 @@ -13,3 +13,129 @@ self.file_sub ([('((src/os/win)/pa_win_util.o)', r'\1 \2/pa_win_waveformat.o',)], i) + +''' + +libtool: link: i686-apple-darwin8-gcc -dynamiclib -o lib/.libs/libportaudio.2.dylib src/common/.libs/pa_allocation.o src/common/.libs/pa_converters.o src/common/.libs/pa_cpuload.o src/common/.libs/pa_dither.o src/common/.libs/pa_debugprint.o src/common/.libs/pa_front.o src/common/.libs/pa_process.o src/common/.libs/pa_skeleton.o src/common/.libs/pa_stream.o src/common/.libs/pa_trace.o src/os/mac_osx/.libs/pa_mac_hostapis.o src/os/unix/.libs/pa_unix_util.o src/hostapi/coreaudio/.libs/pa_mac_core.o src/hostapi/coreaudio/.libs/pa_mac_core_utilities.o src/hostapi/coreaudio/.libs/pa_mac_core_blocking.o src/common/.libs/pa_ringbuffer.o -framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework Carbon -Wl,-headerpad_max_install_names -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.3 -framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework Carbon -install_name /usr/lib/libportaudio.2.dylib -compatibility_version 3 -current_version 3.0 -Wl,-exported_symbols_list,lib/.libs/libportaudio-symbols.expsym +/home/janneke/vc/gub/target/darwin-x86/root/usr/cross/bin/i686-apple-darwin8-ld: can't locate framework for: -framework CoreAudio + + +or + +/home/janneke/vc/gub/target/darwin-x86/root/usr/cross/bin/i686-apple-darwin8-ld: Undefined symbols: +_AudioConverterDispose +_AudioConverterFillBuffer +_AudioConverterNew +_AudioConverterReset +_AudioConverterSetProperty +_AudioDeviceAddPropertyListener +_AudioDeviceGetCurrentTime +_AudioDeviceGetProperty +_AudioDeviceGetPropertyInfo +_AudioDeviceRemovePropertyListener +_AudioHardwareGetProperty +_AudioHardwareGetPropertyInfo +_AudioOutputUnitStart +_AudioOutputUnitStop +_AudioUnitAddPropertyListener +_AudioUnitGetProperty +_AudioUnitInitialize +_AudioUnitRender +_AudioUnitReset +_AudioUnitSetProperty +_AudioUnitUninitialize +_CFRelease +_CFStringCreateWithFormat +_CFStringGetCString +_CFStringGetLength +_CloseComponent +_FindNextComponent +_OpenAComponent +___CFStringMakeConstantString +_AudioDeviceSetProperty +collect2: ld returned 1 exit status + +''' + +class Portaudio__darwin (Portaudio): + def patch (self): + Portaudio.patch (self) + # FIXME: this can't be right. Move to darwin-sdk? + self.system ('mkdir -p %(builddir)s/include') + self.dump (''' +typedef int decform; +typedef int decimal; +typedef int CGEventFilterMask; +typedef int CGEventSuppressionState; +''', '%(builddir)s/include/ansi_fp.h') + for framework in [ + 'AE', + 'DiskArbitration', + 'IOKit', +# 'OSServices', + ]: + self.system (''' +#ln -sf ../../System/Library/Frameworks/Kernel.framework/Headers/%(framework)s %(srcdir)s/usr/include/%(framework)s +mkdir -p %(builddir)s/include/kernel +ln -sf %(system_root)s/System/Library/Frameworks/Kernel.framework/Headers/%(framework)s %(builddir)s/include/kernel/%(framework)s +''', locals ()) + for framework in [ + 'AE', + 'ATS', + 'CFNetwork', + 'CarbonCore', + 'CarbonSound', + 'ColorSync', + 'CommonPanels', + 'CoreGraphics', + 'FindByContent', + 'HIServices', + 'HIToolbox', + 'HTMLRendering', + 'Help', + 'IOKit', + 'ImageCapture', + 'ImageIO', + 'Ink', + 'LangAnalysis', + 'LaunchServices', + 'Metadata', + 'NavigationServices', + 'OpenScripting', + 'OSServices', + 'Print', + 'PrintCore', + 'QD', + 'SearchKit', + 'SecurityHI', + 'SpeechRecognition', + 'SpeechSynthesis', + 'WebServicesCore', + ]: + self.system (''' +#ln -sf ../../Developer/Headers/CFMCarbon/%(framework)s %(srcdir)s/usr/include/%(framework)s +mkdir -p %(builddir)s/include +ln -sf %(system_root)s/Developer/Headers/CFMCarbon/%(framework)s %(builddir)s/include/%(framework)s +''', locals ()) + for framework in [ + 'ApplicationServices', + 'AudioToolbox', + 'AudioUnit', + 'Carbon', + 'CoreAudio', + 'CoreFoundation', + 'CoreMIDI', + 'CoreServices', + 'DiskArbitration', + ]: + self.system (''' +#ln -sf ../../System/Library/Frameworks/%(framework)s.framework/Headers %(srcdir)s/usr/include/%(framework)s +mkdir -p %(builddir)s/include +ln -sf %(system_root)s/System/Library/Frameworks/%(framework)s.framework/Headers %(builddir)s/include/%(framework)s +''', locals ()) + for i in ['%(srcdir)s/configure.in', + '%(srcdir)s/configure']: + self.file_sub ([('-arch i386 -arch ppc', '-I%(system_prefix)s/include -I%(builddir)s/include -I%(builddir)s/include/kernel'),], i) + def configure_command (self): + return (Portaudio.configure_command (self) + + ''' CFLAGS='-DMACH_KERNEL=1 -Wno-multichar' ''')