- Main Page
- Modules
- Data Structures
- Files

- Search for |

- File List
- Globals

# xed-common-hdrs.h

Go to the documentation of this file.

    00001 /*BEGIN_LEGAL
    00002 Intel Open Source License
    00003
    00004 Copyright (c) 2002-2014 Intel Corporation. All rights reserved.
    00005
    00006 Redistribution and use in source and binary forms, with or without
    00007 modification, are permitted provided that the following conditions are
    00008 met:
    00009
    00010 Redistributions of source code must retain the above copyright notice,
    00011 this list of conditions and the following disclaimer.  Redistributions
    00012 in binary form must reproduce the above copyright notice, this list of
    00013 conditions and the following disclaimer in the documentation and/or
    00014 other materials provided with the distribution.  Neither the name of
    00015 the Intel Corporation nor the names of its contributors may be used to
    00016 endorse or promote products derived from this software without
    00017 specific prior written permission.
    00018
    00019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    00020 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    00021 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    00022 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR
    00023 ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    00024 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    00025 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    00026 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    00027 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    00028 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    00029 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    00030 END_LEGAL */
    00033
    00034
    00035
    00036 #ifndef _XED_COMMON_HDRS_H_
    00037 # define _XED_COMMON_HDRS_H_
    00038
    00039
    00040
    00041 #if defined(__FreeBSD__)
    00042 # define XED_BSD
    00043 #endif
    00044 #if defined(__linux__)
    00045 # define XED_LINUX
    00046 #endif
    00047 #if defined(_MSC_VER)
    00048 # define XED_WINDOWS
    00049 #endif
    00050 #if defined(__APPLE__)
    00051 # define XED_MAC
    00052 #endif
    00053
    00054
    00055 #if defined(XED_DLL)
    00056 //  __declspec(dllexport) works with GNU GCC or MS compilers, but not ICC
    00057 //  on linux
    00058
    00059 #  if defined(XED_WINDOWS)
    00060 #     define XED_DLL_EXPORT __declspec(dllexport)
    00061 #     define XED_DLL_IMPORT __declspec(dllimport)
    00062 #  elif defined(XED_LINUX)  || defined(XED_BSD) || defined(XED_MAC)
    00063 #     define XED_DLL_EXPORT __attribute__((visibility("default")))
    00064 #     define XED_DLL_IMPORT
    00065 #  else
    00066 #     define XED_DLL_EXPORT
    00067 #     define XED_DLL_IMPORT
    00068 #  endif
    00069
    00070 #  if defined(XED_BUILD)
    00071     /* when building XED, we export symbols */
    00072 #    define XED_DLL_GLOBAL XED_DLL_EXPORT
    00073 #  else
    00074     /* when building XED clients, we import symbols */
    00075 #    define XED_DLL_GLOBAL XED_DLL_IMPORT
    00076 #  endif
    00077 #else
    00078 # define XED_DLL_EXPORT
    00079 # define XED_DLL_IMPORT
    00080 # define XED_DLL_GLOBAL
    00081 #endif
    00082
    00083
    00084 #if !defined(XED_MESSAGES)
    00085 # define XED_MESSAGES 0
    00086 #endif
    00087
    00088 #if defined(XED_OMIT_ENCODER)
    00089      /* do not emit an encoder */
    00090 #else
    00091 # define XED_ENCODER
    00092 #endif
    00093
    00094 #if defined(XED_OMIT_DECODER)
    00095      /* do not emit a decoder */
    00096 #else
    00097 # define XED_DECODER
    00098 #endif
    00099
    00100 #endif
    00101