Jack2 1.9.6

weakjack.h

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 
00023 #ifndef JACK_OPTIONAL_WEAK_EXPORT
00024 /* JACK_OPTIONAL_WEAK_EXPORT needs to be a macro which
00025    expands into a compiler directive. If non-null, the directive 
00026    must tell the compiler to arrange for weak linkage of 
00027    the symbol it used with. For this to work fully may
00028    require linker arguments for the client as well.
00029 */
00030 #ifdef __GNUC__
00031 #define JACK_OPTIONAL_WEAK_EXPORT __attribute__((__weak__))
00032 #else
00033 /* Add other things here for non-gcc platforms */
00034 #endif
00035 #endif
00036 
00037 #ifndef JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT
00038 /* JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT needs to be a macro
00039    which expands into a compiler directive. If non-null, the directive
00040    must tell the compiler to arrange for weak linkage of the
00041    symbol it is used with AND optionally to mark the symbol
00042    as deprecated. For this to work fully may require
00043    linker arguments for the client as well.
00044 */
00045 #ifdef __GNUC__
00046 #define JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT __attribute__((__weak__,__deprecated__))
00047 #else
00048 /* Add other things here for non-gcc platforms */
00049 #endif
00050 #endif
00051 
00052 #endif /* weakjack */