activemq-cpp-3.3.0

src/main/activemq/util/Config.h

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *     http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 #ifndef ACTIVEMQ_UTIL_CONFIG_H_
00018 #define ACTIVEMQ_UTIL_CONFIG_H_
00019 
00020 #ifdef AMQCPP_DLL
00021  #ifdef AMQCPP_EXPORTS
00022  #define AMQCPP_API __declspec(dllexport)
00023  #else
00024  #define AMQCPP_API __declspec(dllimport)
00025  #endif
00026 #else
00027  #if defined(__GNUC__) && __GNUC__ >= 4
00028  #define AMQCPP_API __attribute__ ((visibility("default")))
00029  #else
00030  #define AMQCPP_API
00031  #endif
00032 #endif
00033 
00034 //
00035 // The purpose of this header is to try to detect the supported headers
00036 // of the platform when the ./configure script is not being used to generate
00037 // the config.h file.
00038 //
00039 #if defined(HAVE_CONFIG_H)
00040 
00041     // config.h is generated by the ./configure script and it only
00042     // used by unix like systems (including cygwin)
00043     #include <config.h>
00044 
00045 #else /* !defined(HAVE_CONFIG_H) */
00046 
00047     // Not using ./configure script and make system.. chances are your using the native build tools
00048     // of Windows or OS X to do this build
00049 
00050     #if defined(_WIN32)
00051         #ifndef HAVE_OBJBASE_H
00052             #define HAVE_OBJBASE_H
00053         #endif
00054         #ifndef HAVE_RPCDCE_H
00055             #define HAVE_RPCDCE_H
00056         #endif
00057         #ifndef HAVE_WINSOCK2_H
00058             #define HAVE_WINSOCK2_H
00059         #endif
00060         #ifndef HAVE_STRUCT_ADDRINFO
00061             #define HAVE_STRUCT_ADDRINFO
00062         #endif
00063         #ifndef HAVE_SYS_TIMEB_H
00064             #define HAVE_SYS_TIMEB_H
00065         #endif
00066         #ifndef HAVE_FTIME
00067             #define HAVE_FTIME
00068         #endif
00069         #ifndef HAVE_WINDOWS_H
00070             #define HAVE_WINDOWS_H
00071         #endif
00072         #ifndef _SECURE_SCL
00073             #define _SECURE_SCL 1
00074         #endif
00075         #ifndef _SCL_SECURE_NO_WARNINGS
00076             #define _SCL_SECURE_NO_WARNINGS 1
00077         #endif
00078     #else
00079         #ifndef HAVE_UUID_UUID_H
00080             #define HAVE_UUID_UUID_H
00081         #endif
00082         #ifndef HAVE_UUID_T
00083             #define HAVE_UUID_T
00084         #endif
00085         #ifndef HAVE_PTHREAD_H
00086             #define HAVE_PTHREAD_H
00087         #endif
00088     #endif
00089 
00090 #endif /* !defined(HAVE_CONFIG_H) */
00091 
00092 // Macro to mark attributes as unused
00093 #ifdef __GNUC__
00094    #define AMQCPP_UNUSED __attribute__ ((__unused__))
00095 #else
00096    #define AMQCPP_UNUSED
00097 #endif
00098 
00099 
00100 #endif /*ACTIVEMQ_UTIL_CONFIG_H_*/