tools/pcre/pcrecpp_internal.h
author John Schoenick <john@pointysoftware.net>
Wed Jun 01 20:36:16 2011 -0400 (2011-06-01)
changeset 3292 f428ffc8a3fe
parent 2762 d2d467bf1b5a
permissions -rw-r--r--
Fixed regression in FindEntityByClassname from bug 4899 (bug 4941, r=predcrab).
dvander@2762
     1
/*************************************************
dvander@2762
     2
*       Perl-Compatible Regular Expressions      *
dvander@2762
     3
*************************************************/
dvander@2762
     4
dvander@2762
     5
/*
dvander@2762
     6
Copyright (c) 2005, Google Inc.
dvander@2762
     7
All rights reserved.
dvander@2762
     8
dvander@2762
     9
-----------------------------------------------------------------------------
dvander@2762
    10
Redistribution and use in source and binary forms, with or without
dvander@2762
    11
modification, are permitted provided that the following conditions are met:
dvander@2762
    12
dvander@2762
    13
    * Redistributions of source code must retain the above copyright notice,
dvander@2762
    14
      this list of conditions and the following disclaimer.
dvander@2762
    15
dvander@2762
    16
    * Redistributions in binary form must reproduce the above copyright
dvander@2762
    17
      notice, this list of conditions and the following disclaimer in the
dvander@2762
    18
      documentation and/or other materials provided with the distribution.
dvander@2762
    19
dvander@2762
    20
    * Neither the name of the University of Cambridge nor the names of its
dvander@2762
    21
      contributors may be used to endorse or promote products derived from
dvander@2762
    22
      this software without specific prior written permission.
dvander@2762
    23
dvander@2762
    24
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
dvander@2762
    25
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
dvander@2762
    26
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
dvander@2762
    27
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
dvander@2762
    28
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
dvander@2762
    29
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
dvander@2762
    30
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
dvander@2762
    31
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
dvander@2762
    32
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
dvander@2762
    33
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
dvander@2762
    34
POSSIBILITY OF SUCH DAMAGE.
dvander@2762
    35
-----------------------------------------------------------------------------
dvander@2762
    36
*/
dvander@2762
    37
dvander@2762
    38
dvander@2762
    39
#ifndef PCRECPP_INTERNAL_H
dvander@2762
    40
#define PCRECPP_INTERNAL_H
dvander@2762
    41
dvander@2762
    42
/* When compiling a DLL for Windows, the exported symbols have to be declared
dvander@2762
    43
using some MS magic. I found some useful information on this web page:
dvander@2762
    44
http://msdn2.microsoft.com/en-us/library/y4h7bcy6(VS.80).aspx. According to the
dvander@2762
    45
information there, using __declspec(dllexport) without "extern" we have a
dvander@2762
    46
definition; with "extern" we have a declaration. The settings here override the
dvander@2762
    47
setting in pcre.h. We use:
dvander@2762
    48
dvander@2762
    49
  PCRECPP_EXP_DECL       for declarations
dvander@2762
    50
  PCRECPP_EXP_DEFN       for definitions of exported functions
dvander@2762
    51
dvander@2762
    52
*/
dvander@2762
    53
dvander@2762
    54
#ifndef PCRECPP_EXP_DECL
dvander@2762
    55
#  ifdef _WIN32
dvander@2762
    56
#    ifndef PCRE_STATIC
dvander@2762
    57
#      define PCRECPP_EXP_DECL       extern __declspec(dllexport)
dvander@2762
    58
#      define PCRECPP_EXP_DEFN       __declspec(dllexport)
dvander@2762
    59
#    else
dvander@2762
    60
#      define PCRECPP_EXP_DECL       extern
dvander@2762
    61
#      define PCRECPP_EXP_DEFN
dvander@2762
    62
#    endif
dvander@2762
    63
#  else
dvander@2762
    64
#    define PCRECPP_EXP_DECL         extern
dvander@2762
    65
#    define PCRECPP_EXP_DEFN
dvander@2762
    66
#  endif
dvander@2762
    67
#endif
dvander@2762
    68
dvander@2762
    69
#endif  /* PCRECPP_INTERNAL_H */
dvander@2762
    70
dvander@2762
    71
/* End of pcrecpp_internal.h */