JACK-AUDIO-CONNECTION-KIT 0.120.1

weakjack.h

Go to the documentation of this file.
00001 /*
00002     Copyright (C) 2010 Paul Davis
00003     
00004     This program is free software; you can redistribute it and/or modify
00005     it under the terms of the GNU Lesser General Public License as published by
00006     the Free Software Foundation; either version 2.1 of the License, or
00007     (at your option) any later version.
00008     
00009     This program is distributed in the hope that it will be useful,
00010     but WITHOUT ANY WARRANTY; without even the implied warranty of
00011     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012     GNU Lesser General Public License for more details.
00013     
00014     You should have received a copy of the GNU Lesser General Public License
00015     along with this program; if not, write to the Free Software 
00016     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00017 
00018 */
00019 
00020 #ifndef __weakjack_h__
00021 #define __weakjack_h__
00022 
00076 #ifndef JACK_OPTIONAL_WEAK_EXPORT
00077 /* JACK_OPTIONAL_WEAK_EXPORT needs to be a macro which
00078    expands into a compiler directive. If non-null, the directive 
00079    must tell the compiler to arrange for weak linkage of 
00080    the symbol it used with. For this to work fully may
00081    require linker arguments for the client as well.
00082 */
00083 #ifdef __GNUC__
00084 #define JACK_OPTIONAL_WEAK_EXPORT __attribute__((__weak__))
00085 #else
00086 /* Add other things here for non-gcc platforms */
00087 #endif
00088 #endif
00089 
00090 #ifndef JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT
00091 /* JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT needs to be a macro
00092    which expands into a compiler directive. If non-null, the directive
00093    must tell the compiler to arrange for weak linkage of the
00094    symbol it is used with AND optionally to mark the symbol
00095    as deprecated. For this to work fully may require
00096    linker arguments for the client as well.
00097 */
00098 #ifdef __GNUC__
00099 #define JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT __attribute__((__weak__,__deprecated__))
00100 #else
00101 /* Add other things here for non-gcc platforms */
00102 #endif
00103 #endif
00104 
00107 #endif /* weakjack */
00108