Jack2 1.9.6
|
00001 /* 00002 Copyright (C) 2004-2005 Grame 00003 00004 This program is free software; you can redistribute it and/or modify 00005 it under the terms of the GNU General Public License as published by 00006 the Free Software Foundation; either version 2 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 General Public License for more details. 00013 00014 You should have received a copy of the GNU General Public License 00015 along with this program; if not, write to the Free Software 00016 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00017 00018 */ 00019 00020 #ifndef __JackCompilerDeps_POSIX__ 00021 #define __JackCompilerDeps_POSIX__ 00022 00023 #include "JackConstants.h" 00024 00025 #if __GNUC__ 00026 #ifndef POST_PACKED_STRUCTURE 00027 /* POST_PACKED_STRUCTURE needs to be a macro which 00028 expands into a compiler directive. The directive must 00029 tell the compiler to arrange the preceding structure 00030 declaration so that it is packed on byte-boundaries rather 00031 than use the natural alignment of the processor and/or 00032 compiler. 00033 */ 00034 #if (__GNUC__< 4) /* Does not seem to work with GCC 3.XX serie */ 00035 #define POST_PACKED_STRUCTURE 00036 #elif defined(JACK_32_64) 00037 #define POST_PACKED_STRUCTURE __attribute__((__packed__)) 00038 #else 00039 #define POST_PACKED_STRUCTURE 00040 #endif 00041 #endif 00042 #define MEM_ALIGN(x,y) x __attribute__((aligned(y))) 00043 #define EXPORT __attribute__((visibility("default"))) 00044 #ifdef SERVER_SIDE 00045 #if (__GNUC__< 4) 00046 #define SERVER_EXPORT 00047 #else 00048 #define SERVER_EXPORT __attribute__((visibility("default"))) 00049 #endif 00050 #else 00051 #define SERVER_EXPORT 00052 #endif 00053 #else 00054 #define MEM_ALIGN(x,y) x 00055 #define EXPORT 00056 #define SERVER_EXPORT 00057 /* Add other things here for non-gcc platforms for POST_PACKED_STRUCTURE */ 00058 #endif 00059 00060 #endif 00061