dvander@2762: /************************************************* dvander@2762: * Perl-Compatible Regular Expressions * dvander@2762: *************************************************/ dvander@2762: dvander@2762: /* dvander@2762: Copyright (c) 2005, Google Inc. dvander@2762: All rights reserved. dvander@2762: dvander@2762: ----------------------------------------------------------------------------- dvander@2762: Redistribution and use in source and binary forms, with or without dvander@2762: modification, are permitted provided that the following conditions are met: dvander@2762: dvander@2762: * Redistributions of source code must retain the above copyright notice, dvander@2762: this list of conditions and the following disclaimer. dvander@2762: dvander@2762: * Redistributions in binary form must reproduce the above copyright dvander@2762: notice, this list of conditions and the following disclaimer in the dvander@2762: documentation and/or other materials provided with the distribution. dvander@2762: dvander@2762: * Neither the name of the University of Cambridge nor the names of its dvander@2762: contributors may be used to endorse or promote products derived from dvander@2762: this software without specific prior written permission. dvander@2762: dvander@2762: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" dvander@2762: AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE dvander@2762: IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE dvander@2762: ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE dvander@2762: LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR dvander@2762: CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF dvander@2762: SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS dvander@2762: INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN dvander@2762: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) dvander@2762: ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE dvander@2762: POSSIBILITY OF SUCH DAMAGE. dvander@2762: ----------------------------------------------------------------------------- dvander@2762: */ dvander@2762: dvander@2762: dvander@2762: #ifndef PCRECPP_INTERNAL_H dvander@2762: #define PCRECPP_INTERNAL_H dvander@2762: dvander@2762: /* When compiling a DLL for Windows, the exported symbols have to be declared dvander@2762: using some MS magic. I found some useful information on this web page: dvander@2762: http://msdn2.microsoft.com/en-us/library/y4h7bcy6(VS.80).aspx. According to the dvander@2762: information there, using __declspec(dllexport) without "extern" we have a dvander@2762: definition; with "extern" we have a declaration. The settings here override the dvander@2762: setting in pcre.h. We use: dvander@2762: dvander@2762: PCRECPP_EXP_DECL for declarations dvander@2762: PCRECPP_EXP_DEFN for definitions of exported functions dvander@2762: dvander@2762: */ dvander@2762: dvander@2762: #ifndef PCRECPP_EXP_DECL dvander@2762: # ifdef _WIN32 dvander@2762: # ifndef PCRE_STATIC dvander@2762: # define PCRECPP_EXP_DECL extern __declspec(dllexport) dvander@2762: # define PCRECPP_EXP_DEFN __declspec(dllexport) dvander@2762: # else dvander@2762: # define PCRECPP_EXP_DECL extern dvander@2762: # define PCRECPP_EXP_DEFN dvander@2762: # endif dvander@2762: # else dvander@2762: # define PCRECPP_EXP_DECL extern dvander@2762: # define PCRECPP_EXP_DEFN dvander@2762: # endif dvander@2762: #endif dvander@2762: dvander@2762: #endif /* PCRECPP_INTERNAL_H */ dvander@2762: dvander@2762: /* End of pcrecpp_internal.h */