/[pcre]/code/trunk/configure.ac
ViewVC logotype

Diff of /code/trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 100 by ph10, Tue Mar 6 14:53:10 2007 UTC revision 159 by ph10, Wed May 2 10:27:18 2007 UTC
# Line 7  dnl be defined as -RC2, for example. For Line 7  dnl be defined as -RC2, for example. For
7  dnl empty.  dnl empty.
8    
9  m4_define(pcre_major, [7])  m4_define(pcre_major, [7])
10  m4_define(pcre_minor, [1])  m4_define(pcre_minor, [2])
11  m4_define(pcre_prerelease, [-RC1])  m4_define(pcre_prerelease, [-RC1])
12  m4_define(pcre_date, [2007-03-05])  m4_define(pcre_date, [2007-05-02])
13    
14  # Libtool shared library interface versions (current:revision:age)  # Libtool shared library interface versions (current:revision:age)
15  m4_define(libpcre_version, [0:1:0])  m4_define(libpcre_version, [0:1:0])
# Line 21  AC_INIT(PCRE, pcre_major.pcre_minor[]pcr Line 21  AC_INIT(PCRE, pcre_major.pcre_minor[]pcr
21  AC_CONFIG_SRCDIR([pcre.h.in])  AC_CONFIG_SRCDIR([pcre.h.in])
22  AM_INIT_AUTOMAKE([dist-bzip2 dist-zip])  AM_INIT_AUTOMAKE([dist-bzip2 dist-zip])
23  AC_CONFIG_HEADERS(config.h)  AC_CONFIG_HEADERS(config.h)
24    
25    # The default CFLAGS and CXXFLAGS in Autoconf are "-g -O2" for gcc and just
26    # "-g" for any other compiler. There doesn't seem to be a standard way of
27    # getting rid of the -g (which I don't think is needed for a production
28    # library). This fudge seems to achieve the necessary. First, we remember the
29    # externally set values of CFLAGS and CXXFLAGS. Then call the AC_PROG_CC and
30    # AC_PROG_CXX macros to find the compilers - if CFLAGS and CXXFLAGS are not
31    # set, they will be set to Autoconf's defaults. Afterwards, if the original
32    # values were not set, remove the -g from the Autoconf defaults.
33    # (PH 02-May-07)
34    
35    remember_set_CFLAGS="$CFLAGS"
36    remember_set_CXXFLAGS="$CXXFLAGS"
37    
38  AC_PROG_CC  AC_PROG_CC
39  AC_PROG_CXX  AC_PROG_CXX
40    
41    if test "x$remember_set_CFLAGS" = "x"
42    then
43      if test "$CFLAGS" = "-g -O2"
44      then
45        CFLAGS="-O2"
46      elif test "$CFLAGS" = "-g"
47      then
48        CFLAGS=""
49      fi
50    fi
51    
52    if test "x$remember_set_CXXFLAGS" = "x"
53    then
54      if test "$CXXFLAGS" = "-g -O2"
55      then
56        CXXFLAGS="-O2"
57      elif test "$CXXFLAGS" = "-g"
58      then
59        CXXFLAGS=""
60      fi
61    fi
62    
63    
64  AC_PROG_INSTALL  AC_PROG_INSTALL
65  AC_LIBTOOL_WIN32_DLL  AC_LIBTOOL_WIN32_DLL
66  AC_PROG_LIBTOOL  AC_PROG_LIBTOOL
67    AC_PROG_LN_S
68    
69  PCRE_MAJOR="pcre_major"  PCRE_MAJOR="pcre_major"
70  PCRE_MINOR="pcre_minor"  PCRE_MINOR="pcre_minor"
# Line 49  AC_ARG_ENABLE(cpp, Line 88  AC_ARG_ENABLE(cpp,
88                               [disable C++ support]),                               [disable C++ support]),
89                , enable_cpp=yes)                , enable_cpp=yes)
90    
91    # Handle --enable-rebuild-chartables
92    AC_ARG_ENABLE(rebuild-chartables,
93                  AS_HELP_STRING([--enable-rebuild-chartables],
94                                 [rebuild character tables in current locale]),
95                  , enable_rebuild_chartables=no)
96    
97  # Handle --enable-utf8 (disabled by default)  # Handle --enable-utf8 (disabled by default)
98  AC_ARG_ENABLE(utf8,  AC_ARG_ENABLE(utf8,
99                AS_HELP_STRING([--enable-utf8],                AS_HELP_STRING([--enable-utf8],
# Line 64  AC_ARG_ENABLE(unicode-properties, Line 109  AC_ARG_ENABLE(unicode-properties,
109  # Handle --enable-newline=NL  # Handle --enable-newline=NL
110  dnl AC_ARG_ENABLE(newline,  dnl AC_ARG_ENABLE(newline,
111  dnl               AS_HELP_STRING([--enable-newline=NL],  dnl               AS_HELP_STRING([--enable-newline=NL],
112  dnl                              [use NL as newline (lf, cr, crlf, any; default=lf)]),  dnl                              [use NL as newline (lf, cr, crlf, anycrlf, any; default=lf)]),
113  dnl               , enable_newline=lf)  dnl               , enable_newline=lf)
114    
115  # Separate newline options  # Separate newline options
# Line 81  AC_ARG_ENABLE(newline-is-crlf, Line 126  AC_ARG_ENABLE(newline-is-crlf,
126                AS_HELP_STRING([--enable-newline-is-crlf],                AS_HELP_STRING([--enable-newline-is-crlf],
127                               [use CRLF as newline sequence]),                               [use CRLF as newline sequence]),
128                ac_pcre_newline=crlf)                ac_pcre_newline=crlf)
129    AC_ARG_ENABLE(newline-is-anycrlf,
130                  AS_HELP_STRING([--enable-newline-is-anycrlf],
131                                 [use CR, LF, or CRLF as newline sequence]),
132                  ac_pcre_newline=anycrlf)
133  AC_ARG_ENABLE(newline-is-any,  AC_ARG_ENABLE(newline-is-any,
134                AS_HELP_STRING([--enable-newline-is-any],                AS_HELP_STRING([--enable-newline-is-any],
135                               [use any valid Unicode newline sequence]),                               [use any valid Unicode newline sequence]),
# Line 90  enable_newline="$ac_pcre_newline" Line 139  enable_newline="$ac_pcre_newline"
139  # Handle --enable-ebcdic  # Handle --enable-ebcdic
140  AC_ARG_ENABLE(ebcdic,  AC_ARG_ENABLE(ebcdic,
141                AS_HELP_STRING([--enable-ebcdic],                AS_HELP_STRING([--enable-ebcdic],
142                               [assume EBCDIC coding rather than ASCII]),                               [assume EBCDIC coding rather than ASCII (implies --enable-rebuild-chartables)]),
143                , enable_ebcdic=no)                , enable_ebcdic=no)
144    
145  # Handle --disable-stack-for-recursion  # Handle --disable-stack-for-recursion
# Line 147  then Line 196  then
196    enable_utf8=no    enable_utf8=no
197  fi  fi
198    
199    # Make sure that if enable_ebcdic is set, rebuild_chartables is also enabled.
200    #
201    if test "x$enable_ebcdic" = "xyes"
202    then
203      enable_rebuild_chartables=yes
204    fi
205    
206  # Convert the newline identifier into the appropriate integer value.  # Convert the newline identifier into the appropriate integer value.
207  case "$enable_newline" in  case "$enable_newline" in
208    lf)   ac_pcre_newline_value=10   ;;    lf)      ac_pcre_newline_value=10   ;;
209    cr)   ac_pcre_newline_value=13   ;;    cr)      ac_pcre_newline_value=13   ;;
210    crlf) ac_pcre_newline_value=3338 ;;    crlf)    ac_pcre_newline_value=3338 ;;
211    any)  ac_pcre_newline_value=-1   ;;    anycrlf) ac_pcre_newline_value=-2   ;;
212      any)     ac_pcre_newline_value=-1   ;;
213    *)    *)
214    AC_MSG_ERROR([invalid argument \"$enable_newline\" to --enable-newline option])    AC_MSG_ERROR([invalid argument \"$enable_newline\" to --enable-newline option])
215    ;;    ;;
# Line 172  Some other environments also support the Line 229  Some other environments also support the
229  Standard C, but there are a few non-standard things it can cope with, allowing  Standard C, but there are a few non-standard things it can cope with, allowing
230  it to run on SunOS4 and other "close to standard" systems.  it to run on SunOS4 and other "close to standard" systems.
231    
232  On a system without "configure" you should use the distributed config.h, and  If you are going to build PCRE "by hand" on a system without "configure" you
233  set up the macros the way you need them.  should copy the distributed config.h.generic to config.h, and then set up the
234    macros the way you need them. Alternatively, you can avoid editing by using -D
235  If your system has bcopy() and not memmove(), change the definitions of  on the compiler command line to set the macro values.
236  HAVE_BCOPY and HAVE_MEMMOVE. If your system has neither bcopy() nor memmove(),  
237  leave them both undefined; an emulation function will be used. */])  PCRE uses memmove() if HAVE_MEMMOVE is set to 1; otherwise it uses bcopy() if
238    HAVE_BCOPY is set to 1. If your system has neither bcopy() nor memmove(), set
239    them both to 0; an emulation function will be used. */])
240    
241  # Checks for header files.  # Checks for header files.
242  AC_HEADER_STDC  AC_HEADER_STDC
# Line 191  then Line 250  then
250  AC_LANG_PUSH(C++)  AC_LANG_PUSH(C++)
251    
252  # We could be more clever here, given we're doing AC_SUBST with this  # We could be more clever here, given we're doing AC_SUBST with this
253  # (eg set a var to be the name of the include file we want).  But we're not  # (eg set a var to be the name of the include file we want). But we're not
254  # so it's easy to change back to 'regular' autoconf vars if we needed to.  # so it's easy to change back to 'regular' autoconf vars if we needed to.
255  AC_CHECK_HEADERS(string, [pcre_have_cpp_headers="1"],  AC_CHECK_HEADERS(string, [pcre_have_cpp_headers="1"],
256                           [pcre_have_cpp_headers="0"])                           [pcre_have_cpp_headers="0"])
# Line 207  AC_SUBST(pcre_have_bits_type_traits) Line 266  AC_SUBST(pcre_have_bits_type_traits)
266    
267  # Conditional compilation  # Conditional compilation
268  AM_CONDITIONAL(WITH_PCRE_CPP, test "x$enable_cpp" = "xyes")  AM_CONDITIONAL(WITH_PCRE_CPP, test "x$enable_cpp" = "xyes")
269    AM_CONDITIONAL(WITH_REBUILD_CHARTABLES, test "x$enable_rebuild_chartables" = "xyes")
270    
271  # Checks for typedefs, structures, and compiler characteristics.  # Checks for typedefs, structures, and compiler characteristics.
272    
# Line 249  fi Line 309  fi
309  if test "$enable_stack_for_recursion" = "no"; then  if test "$enable_stack_for_recursion" = "no"; then
310    AC_DEFINE([NO_RECURSE], [], [    AC_DEFINE([NO_RECURSE], [], [
311      PCRE uses recursive function calls to handle backtracking while      PCRE uses recursive function calls to handle backtracking while
312      matching.  This can sometimes be a problem on systems that have      matching. This can sometimes be a problem on systems that have
313      stacks of limited size. Define NO_RECURSE to get a version that      stacks of limited size. Define NO_RECURSE to get a version that
314      doesn't use recursion in the match() function; instead it creates      doesn't use recursion in the match() function; instead it creates
315      its own stack by steam using pcre_recurse_malloc() to obtain memory      its own stack by steam using pcre_recurse_malloc() to obtain memory
# Line 260  if test "$enable_stack_for_recursion" = Line 320  if test "$enable_stack_for_recursion" =
320  fi  fi
321    
322  AC_DEFINE_UNQUOTED([NEWLINE], [$ac_pcre_newline_value], [  AC_DEFINE_UNQUOTED([NEWLINE], [$ac_pcre_newline_value], [
323    The value of NEWLINE determines the newline character. On Unix-like    The value of NEWLINE determines the newline character sequence. On
324    systems, "configure" can be used to override the default.])    Unix-like systems, "configure" can be used to override the default,
325      which is 10. The possible values are 10 (LF), 13 (CR), 3338 (CRLF),
326      -1 (ANY), or -2 (ANYCRLF).])
327    
328  AC_DEFINE_UNQUOTED([LINK_SIZE], [$with_link_size], [  AC_DEFINE_UNQUOTED([LINK_SIZE], [$with_link_size], [
329    The value of LINK_SIZE determines the number of bytes used to store    The value of LINK_SIZE determines the number of bytes used to store
# Line 300  AC_DEFINE_UNQUOTED([MATCH_LIMIT_RECURSIO Line 362  AC_DEFINE_UNQUOTED([MATCH_LIMIT_RECURSIO
362    NO_RECURSE is defined) that is used. The value of    NO_RECURSE is defined) that is used. The value of
363    MATCH_LIMIT_RECURSION applies only to recursive calls of match(). To    MATCH_LIMIT_RECURSION applies only to recursive calls of match(). To
364    have any useful effect, it must be less than the value of    have any useful effect, it must be less than the value of
365    MATCH_LIMIT. The default is to use the same value as MATCH_LIMIT.    MATCH_LIMIT. The default is to use the same value as MATCH_LIMIT.
366    There is a runtime method for setting a different limit. On systems    There is a runtime method for setting a different limit. On systems
367    that support it, "configure" can be used to override the default.])    that support it, "configure" can be used to override the default.])
368    
369  AC_DEFINE([MAX_NAME_SIZE], [32], [  AC_DEFINE([MAX_NAME_SIZE], [32], [
# Line 319  AC_DEFINE([MAX_DUPLENGTH], [30000], [ Line 381  AC_DEFINE([MAX_DUPLENGTH], [30000], [
381    change it. Care must be taken if it is increased, because it guards    change it. Care must be taken if it is increased, because it guards
382    against integer overflow caused by enormously large patterns.])    against integer overflow caused by enormously large patterns.])
383    
384  AH_VERBATIM([PCRE_DATA_SCOPE], [  AH_VERBATIM([PCRE_EXP_DEFN], [
385  /* If you are compiling for a system other than a Unix-like system or  /* If you are compiling for a system other than a Unix-like system or
386     Win32, and it needs some magic to be inserted before the definition     Win32, and it needs some magic to be inserted before the definition
387     of a function that is exported by the library, define this macro to     of a function that is exported by the library, define this macro to
# Line 329  AH_VERBATIM([PCRE_DATA_SCOPE], [ Line 391  AH_VERBATIM([PCRE_DATA_SCOPE], [
391     every exported function that is part of the external API. It does     every exported function that is part of the external API. It does
392     not appear on functions that are "external" in the C sense, but     not appear on functions that are "external" in the C sense, but
393     which are internal to the library. */     which are internal to the library. */
394  #undef PCRE_DATA_SCOPE])  #undef PCRE_EXP_DEFN])
395    
396  if test "$enable_ebcdic" = "yes"; then  if test "$enable_ebcdic" = "yes"; then
397    AC_DEFINE_UNQUOTED([EBCDIC], [], [    AC_DEFINE_UNQUOTED([EBCDIC], [], [
# Line 338  if test "$enable_ebcdic" = "yes"; then Line 400  if test "$enable_ebcdic" = "yes"; then
400      "configure", this can be done via --enable-ebcdic.])      "configure", this can be done via --enable-ebcdic.])
401  fi  fi
402    
 # Here is where pcre specific substs are handled  
 # These 3 are only used by RunTest.in.  
 # TODO: remove once RunTest uses pcretest -C instead.  
 AC_SUBST(LINK_SIZE, $with_link_size)  
 AC_SUBST(UTF8, $enable_utf8)  
 AC_SUBST(UCP, $enable_unicode_properties)  
   
403  # Platform specific issues  # Platform specific issues
404  NO_UNDEFINED=  NO_UNDEFINED=
405  EXPORT_ALL_SYMBOLS=  EXPORT_ALL_SYMBOLS=
# Line 377  AC_SUBST(DISTCHECK_CONFIGURE_FLAGS) Line 432  AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
432  # Produce these files, in addition to config.h.  # Produce these files, in addition to config.h.
433  AC_CONFIG_FILES(  AC_CONFIG_FILES(
434          Makefile          Makefile
         RunGrepTest  
         RunTest  
435          libpcre.pc          libpcre.pc
436          libpcrecpp.pc          libpcrecpp.pc
437          pcre-config          pcre-config
# Line 388  AC_CONFIG_FILES( Line 441  AC_CONFIG_FILES(
441  )  )
442    
443  # Make the generated script files executable.  # Make the generated script files executable.
444  AC_CONFIG_COMMANDS([script-chmod], [chmod a+x RunTest RunGrepTest pcre-config])  AC_CONFIG_COMMANDS([script-chmod], [chmod a+x pcre-config])
445    
446    # Make sure that pcre_chartables.c is removed in case the method for
447    # creating it was changed by reconfiguration.
448    AC_CONFIG_COMMANDS([delete-old-chartables], [rm -f pcre_chartables.c])
449    
450  AC_OUTPUT  AC_OUTPUT
451    
# Line 416  $PACKAGE-$VERSION configuration summary: Line 473  $PACKAGE-$VERSION configuration summary:
473      Unicode properties ..... : ${enable_unicode_properties}      Unicode properties ..... : ${enable_unicode_properties}
474      Newline char/sequence .. : ${enable_newline}      Newline char/sequence .. : ${enable_newline}
475      EBCDIC coding .......... : ${enable_ebcdic}      EBCDIC coding .......... : ${enable_ebcdic}
476        Rebuild char tables .... : ${enable_rebuild_chartables}
477      Use stack recursion .... : ${enable_stack_for_recursion}      Use stack recursion .... : ${enable_stack_for_recursion}
478      POSIX mem threshold .... : ${with_posix_malloc_threshold}      POSIX mem threshold .... : ${with_posix_malloc_threshold}
479      Internal link size ..... : ${with_link_size}      Internal link size ..... : ${with_link_size}

Legend:
Removed from v.100  
changed lines
  Added in v.159

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12