目录

include/AK/SoundEngine/Common/AkSoundEngineExport.h

Go to the documentation of this file.
00001 
00002 //
00003 // Copyright (c) 2006 Audiokinetic Inc. / All Rights Reserved
00004 //
00006 
00007 // AkSoundEngineExport.h
00008 
00011 
00012 #ifndef _AK_SOUNDENGINE_EXPORT_H_
00013 #define _AK_SOUNDENGINE_EXPORT_H_
00014 
00015 #include <AK/AkPlatforms.h>
00016 
00017 #if defined ( AK_WIN ) && defined ( AKSOUNDENGINE_DLL )
00018 
00019     // DLL exports.
00020 
00021     // Sound Engine
00022     #ifdef AKSOUNDENGINE_EXPORTS
00023 
00024         #define AKSOUNDENGINE_API __declspec(dllexport)
00025     #else
00026 
00027         #define AKSOUNDENGINE_API __declspec(dllimport)
00028     #endif // Export
00029 #elif defined( AK_LINUX )
00030 
00031     #ifdef AKSOUNDENGINE_EXPORTS
00032 
00033         #define AKSOUNDENGINE_API __attribute__ ((visibility ("default")))
00034     #else
00035         #define AKSOUNDENGINE_API
00036     #endif  
00037 #else // defined ( AK_WIN ) && defined ( AKSOUNDENGINE_DLL )
00038 
00039     // Static libs.
00040 
00042     #define AKSOUNDENGINE_API   
00043 
00044 #endif // defined ( AK_WIN ) && defined ( AKSOUNDENGINE_DLL )
00045 
00046 #ifndef AKSOUNDENGINE_CALL
00047     #define AKSOUNDENGINE_CALL  
00048 #endif
00049 
00054 #define AK_FUNC( __TYPE__, __NAME__ ) __TYPE__ AKSOUNDENGINE_CALL __NAME__
00055 
00060 #define AK_EXTERNFUNC( __TYPE__, __NAME__ ) extern __TYPE__ AKSOUNDENGINE_CALL __NAME__
00061 
00066 #define AK_EXTERNAPIFUNC( __TYPE__, __NAME__ ) extern AKSOUNDENGINE_API __TYPE__ AKSOUNDENGINE_CALL __NAME__
00067 
00072 #define AK_CALLBACK( __TYPE__, __NAME__ ) typedef __TYPE__ ( AKSOUNDENGINE_CALL *__NAME__ )
00073 
00074 #endif  //_AK_SOUNDENGINE_EXPORT_H_