1 /****************************************************************************** 2 * $Id$ 3 * 4 * Project: libLAS - http://liblas.org - A BSD library for LAS format data. 5 * Purpose: Basic macros for the libLAS C API 6 * Author: Howard Butler, hobu.inc@gmail.com 7 * 8 ****************************************************************************** 9 * Copyright (c) 2008, Howard Butler 10 * 11 * All rights reserved. 12 * 13 * Redistribution and use in source and binary forms, with or without 14 * modification, are permitted provided that the following 15 * conditions are met: 16 * 17 * * Redistributions of source code must retain the above copyright 18 * notice, this list of conditions and the following disclaimer. 19 * * Redistributions in binary form must reproduce the above copyright 20 * notice, this list of conditions and the following disclaimer in 21 * the documentation and/or other materials provided 22 * with the distribution. 23 * * Neither the name of the Martin Isenburg or Iowa Department 24 * of Natural Resources nor the names of its contributors may be 25 * used to endorse or promote products derived from this software 26 * without specific prior written permission. 27 * 28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 29 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 30 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 31 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 32 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 33 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 34 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 35 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 36 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 37 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 38 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 39 * OF SUCH DAMAGE. 40 ****************************************************************************/ 41 42 #ifndef LAS_CONFIG_H_INCLUDED 43 #define LAS_CONFIG_H_INCLUDED 44 45 #define LIBLAS_C_API 1 46 47 /* ==================================================================== */ 48 /* Other standard services. */ 49 /* ==================================================================== */ 50 #ifdef __cplusplus 51 # define LAS_C_START extern "C" { 52 # define LAS_C_END } 53 #else 54 # define LAS_C_START 55 # define LAS_C_END 56 #endif 57 58 #ifndef LAS_DLL 59 #if defined(_MSC_VER) && !defined(LAS_DISABLE_DLL) 60 # define LAS_DLL __declspec(dllexport) 61 #else 62 # if defined(USE_GCC_VISIBILITY_FLAG) 63 # define LAS_DLL __attribute__ ((visibility("default"))) 64 # else 65 # define LAS_DLL 66 # endif 67 #endif 68 #endif 69 70 #ifndef NULL 71 #define NULL 0 72 #endif 73 74 #ifndef TRUE 75 #define TRUE 1 76 #endif 77 78 #ifndef FALSE 79 #define FALSE 0 80 #endif 81 82 #ifndef MAX 83 # define MIN(a,b) ((a<b) ? a : b) 84 # define MAX(a,b) ((a>b) ? a : b) 85 #endif 86 87 #ifdef _MSC_VER 88 #define strdup _strdup 89 #endif 90 91 92 #endif /* LAS_CONFIG_H_INCLUDED */ 93 94