Getting rid of AU export files
Getting rid of AU export files
- Subject: Getting rid of AU export files
- From: David Gimeno Gost <email@hidden>
- Date: Wed, 7 Oct 2009 02:29:16 +0200
Hello.
AUs created using the Core Audio SDK require an exports file to hide
all symbols except the AU's entry point. That seems to me one of the
many little things that make writing AUs unnecessarily more involved
than it should be (the fact that Apple's own examples don't even
compile would be another, but that's another story).
Wouldn't it be better to use the technique described here:
Controlling Symbol Visibility
<http://developer.apple.com/mac/library/documentation/DeveloperTools/Conceptual/CppRuntimeEnv/Articles/SymbolVisibility.html
>
i.e. turn on the Symbols Hidden By Default
(GCC_SYMBOLS_PRIVATE_EXTERN) build setting and mark with default
visibility the AU's entry point?
That would require the COMPONENT_ENTRY macro defined in
ComponentBase.h to be modified (by Apple) to give the AU's entry point
default visibility, so I guess I should file en enhancement request
for this, but I thought it would be better to discuss it here first,
just in case I'm missing something.
This wouldn't break anyone's code, BTW. It would just allow (but not
require) us to get rid of the exports files.
In the meantime, I'm wrapping the entry point definitions with
visibility pragmas (and setting GCC_SYMBOLS_PRIVATE_EXTERN = YES in
the configuration file), so no more export files for me :-), i.e.:
#pragma GCC visibility push( default )
COMPONENT_ENTRY( AUMyAudioUnit )
#pragma GCC visibility pop
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden