Module Name: src
Committed By: ahoka
Date: Sat Sep 4 12:17:58 UTC 2010
Modified Files:
src/external/bsd/tre/dist/lib: regcomp.c regerror.c regexec.c
tre-match-backtrack.c tre-parse.c tre.h
src/lib/libc: Makefile
src/share/mk: bsd.own.mk
Added Files:
src/external/bsd/tre: Makefile.inc
src/external/bsd/tre/dist: config.h
src/external/bsd/tre/dist/lib: tre-config.h
Log Message:
Add libc glue for libtre.
tre will be compiled without approx and wchar/mulibyte support to
only match the minimum requirement to replace our spencer regex.
This needs a lot of testing.
Only enabled when USE_LIBTRE is set to `yes'.
To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/external/bsd/tre/Makefile.inc
cvs rdiff -u -r0 -r1.1 src/external/bsd/tre/dist/config.h
cvs rdiff -u -r1.1.1.1 -r1.2 src/external/bsd/tre/dist/lib/regcomp.c \
src/external/bsd/tre/dist/lib/regerror.c \
src/external/bsd/tre/dist/lib/tre-match-backtrack.c \
src/external/bsd/tre/dist/lib/tre-parse.c
cvs rdiff -u -r1.2 -r1.3 src/external/bsd/tre/dist/lib/regexec.c \
src/external/bsd/tre/dist/lib/tre.h
cvs rdiff -u -r0 -r1.1 src/external/bsd/tre/dist/lib/tre-config.h
cvs rdiff -u -r1.142 -r1.143 src/lib/libc/Makefile
cvs rdiff -u -r1.640 -r1.641 src/share/mk/bsd.own.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/bsd/tre/dist/lib/regcomp.c
diff -u src/external/bsd/tre/dist/lib/regcomp.c:1.1.1.1 src/external/bsd/tre/dist/lib/regcomp.c:1.2
--- src/external/bsd/tre/dist/lib/regcomp.c:1.1.1.1 Thu Feb 25 07:33:19 2010
+++ src/external/bsd/tre/dist/lib/regcomp.c Sat Sep 4 12:17:58 2010
@@ -18,6 +18,11 @@
#include "tre-internal.h"
#include "xmalloc.h"
+#ifdef __weak_alias
+__weak_alias(regcomp,_regcomp)
+__weak_alias(regfree,_regfree)
+#endif
+
int
tre_regncomp(regex_t *preg, const char *regex, size_t n, int cflags)
{
Index: src/external/bsd/tre/dist/lib/regerror.c
diff -u src/external/bsd/tre/dist/lib/regerror.c:1.1.1.1 src/external/bsd/tre/dist/lib/regerror.c:1.2
--- src/external/bsd/tre/dist/lib/regerror.c:1.1.1.1 Thu Feb 25 07:33:19 2010
+++ src/external/bsd/tre/dist/lib/regerror.c Sat Sep 4 12:17:58 2010
@@ -21,6 +21,10 @@
#include "tre-internal.h"
#include "tre.h"
+#ifdef __weak_alias
+__weak_alias(regerror,_regerror)
+#endif
+
#ifdef HAVE_GETTEXT
#include <libintl.h>
#else
Index: src/external/bsd/tre/dist/lib/tre-match-backtrack.c
diff -u src/external/bsd/tre/dist/lib/tre-match-backtrack.c:1.1.1.1 src/external/bsd/tre/dist/lib/tre-match-backtrack.c:1.2
--- src/external/bsd/tre/dist/lib/tre-match-backtrack.c:1.1.1.1 Thu Feb 25 07:33:19 2010
+++ src/external/bsd/tre/dist/lib/tre-match-backtrack.c Sat Sep 4 12:17:58 2010
@@ -417,17 +417,17 @@
/* This is a back reference state. All transitions leaving from
this state have the same back reference "assertion". Instead
of reading the next character, we match the back reference. */
- int so, eo, bt = trans_i->u.backref;
- int bt_len;
- int result;
+ regoff_t so, eo, bt = trans_i->u.backref;
+ regoff_t bt_len;
+ regoff_t result;
DPRINT((" should match back reference %d\n", bt));
/* Get the substring we need to match against. Remember to
turn off REG_NOSUB temporarily. */
tre_fill_pmatch(bt + 1, pmatch, tnfa->cflags & /*LINTED*/!REG_NOSUB,
tnfa, tags, pos);
- so = pmatch[bt].rm_so;
- eo = pmatch[bt].rm_eo;
+ /* LINTED */so = pmatch[bt].rm_so;
+ /* LINTED */eo = pmatch[bt].rm_eo;
bt_len = eo - so;
#ifdef TRE_DEBUG
@@ -468,7 +468,7 @@
(size_t)bt_len);
#endif /* TRE_WCHAR */
else
- result = strncmp((const char*)string + so, str_byte - 1,
+ /* LINTED */result = strncmp((const char*)string + so, str_byte - 1,
(size_t)bt_len);
}
else if (len - pos < bt_len)
@@ -479,7 +479,7 @@
(size_t)bt_len);
#endif /* TRE_WCHAR */
else
- result = memcmp((const char*)string + so, str_byte - 1,
+ /* LINTED */result = memcmp((const char*)string + so, str_byte - 1,
(size_t)bt_len);
if (result == 0)
@@ -498,11 +498,11 @@
/* Advance in input string and resync `prev_c', `next_c'
and pos. */
DPRINT((" back reference matched\n"));
- str_byte += bt_len - 1;
+ /* LINTED */str_byte += bt_len - 1;
#ifdef TRE_WCHAR
- str_wide += bt_len - 1;
+ /* LINTED */str_wide += bt_len - 1;
#endif /* TRE_WCHAR */
- pos += bt_len - 1;
+ /* LINTED */pos += bt_len - 1;
GET_NEXT_WCHAR();
DPRINT((" pos now %d\n", pos));
}
Index: src/external/bsd/tre/dist/lib/tre-parse.c
diff -u src/external/bsd/tre/dist/lib/tre-parse.c:1.1.1.1 src/external/bsd/tre/dist/lib/tre-parse.c:1.2
--- src/external/bsd/tre/dist/lib/tre-parse.c:1.1.1.1 Thu Feb 25 07:33:19 2010
+++ src/external/bsd/tre/dist/lib/tre-parse.c Sat Sep 4 12:17:58 2010
@@ -174,6 +174,20 @@
#ifndef TRE_USE_SYSTEM_WCTYPE
+int tre_isalnum_func(tre_cint_t);
+int tre_isalpha_func(tre_cint_t);
+int tre_isascii_func(tre_cint_t);
+int tre_isblank_func(tre_cint_t);
+int tre_iscntrl_func(tre_cint_t);
+int tre_isdigit_func(tre_cint_t);
+int tre_isgraph_func(tre_cint_t);
+int tre_islower_func(tre_cint_t);
+int tre_isprint_func(tre_cint_t);
+int tre_ispunct_func(tre_cint_t);
+int tre_isspace_func(tre_cint_t);
+int tre_isupper_func(tre_cint_t);
+int tre_isxdigit_func(tre_cint_t);
+
/* isalnum() and the rest may be macros, so wrap them to functions. */
int tre_isalnum_func(tre_cint_t c) { return tre_isalnum(c); }
int tre_isalpha_func(tre_cint_t c) { return tre_isalpha(c); }
@@ -201,7 +215,7 @@
int tre_isxdigit_func(tre_cint_t c) { return tre_isxdigit(c); }
struct {
- char *name;
+ const char *name;
int (*func)(tre_cint_t);
} tre_ctype_map[] = {
{ "alnum", &tre_isalnum_func },
@@ -324,7 +338,7 @@
#endif /* defined HAVE_WCSTOMBS */
}
#else /* !TRE_WCHAR */
- strncpy(tmp_str, (const char*)re + 2, len);
+ /* LINTED */strncpy(tmp_str, (const char*)re + 2, len);
#endif /* !TRE_WCHAR */
tmp_str[len] = '\0';
DPRINT((" class name: %s\n", tmp_str));
@@ -332,7 +346,7 @@
if (!class)
status = REG_ECTYPE;
/* Optimize character classes for 8 bit character sets. */
- if (status == REG_OK && TRE_MB_CUR_MAX == 1)
+ /* CONSTCOND */if (status == REG_OK && TRE_MB_CUR_MAX == 1)
{
status = tre_expand_ctype(ctx->mem, class, items,
&i, &max_i, ctx->cflags);
Index: src/external/bsd/tre/dist/lib/regexec.c
diff -u src/external/bsd/tre/dist/lib/regexec.c:1.2 src/external/bsd/tre/dist/lib/regexec.c:1.3
--- src/external/bsd/tre/dist/lib/regexec.c:1.2 Thu Apr 22 17:33:54 2010
+++ src/external/bsd/tre/dist/lib/regexec.c Sat Sep 4 12:17:58 2010
@@ -48,6 +48,9 @@
#include "tre.h"
#include "xmalloc.h"
+#ifdef __weak_alias
+__weak_alias(regexec,_regexec)
+#endif
/* Fills the POSIX.2 regmatch_t array according to the TNFA tag and match
endpoint values. */
@@ -204,6 +207,7 @@
size_t nmatch, regmatch_t pmatch[], int eflags)
{
tre_tnfa_t *tnfa = (void *)preg->TRE_REGEX_T_FIELD;
+ /* CONSTCOND */
tre_str_type_t type = (TRE_MB_CUR_MAX == 1) ? STR_BYTE : STR_MBS;
return tre_match(tnfa, str, len, type, nmatch, pmatch, eflags);
@@ -218,7 +222,9 @@
size_t newlen;
if (eflags & REG_STARTEND) {
+ /* LINTED */
newstr = &str[pmatch[0].rm_so];
+ /* LINTED */
newlen = pmatch[0].rm_eo;
newflags = (unsigned)(eflags & ~REG_STARTEND);
} else {
Index: src/external/bsd/tre/dist/lib/tre.h
diff -u src/external/bsd/tre/dist/lib/tre.h:1.2 src/external/bsd/tre/dist/lib/tre.h:1.3
--- src/external/bsd/tre/dist/lib/tre.h:1.2 Thu Apr 22 17:32:37 2010
+++ src/external/bsd/tre/dist/lib/tre.h Sat Sep 4 12:17:58 2010
@@ -9,58 +9,7 @@
#ifndef TRE_H
#define TRE_H 1
-/* #include "tre-config.h" */
-
-/* included tre-config.h inline below - agc */
-/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
-/* lib/tre-config.h. Generated from tre-config.h.in by configure. */
-/* tre-config.h.in. This file has all definitions that are needed in
- `tre.h'. Note that this file must contain only the bare minimum
- of definitions without the TRE_ prefix to avoid conflicts between
- definitions here and definitions included from somewhere else. */
-
-/* Define to 1 if you have the <libutf8.h> header file. */
-/* #undef HAVE_LIBUTF8_H */
-
-/* Define to 1 if the system has the type `reg_errcode_t'. */
-/* #undef HAVE_REG_ERRCODE_T */
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-/* #undef HAVE_SYS_TYPES_H */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the <wchar.h> header file. */
-#define HAVE_WCHAR_H 1
-
-/* Define if you want to enable approximate matching functionality. */
-#define TRE_APPROX 1
-
-/* Define to enable multibyte character set support. */
-#define TRE_MULTIBYTE 1
-
-/* Define to the absolute path to the system tre.h */
-/* #undef TRE_SYSTEM_REGEX_H_PATH */
-
-/* Define to include the system regex.h from tre.h */
-/* #undef TRE_USE_SYSTEM_REGEX_H */
-
-/* Define to enable wide character (wchar_t) support. */
-#define TRE_WCHAR 1
-
-/* TRE version string. */
-#define TRE_VERSION "0.8.0"
-
-/* TRE version level 1. */
-#define TRE_VERSION_1 0
-
-/* TRE version level 2. */
-#define TRE_VERSION_2 8
-
-/* TRE version level 3. */
-#define TRE_VERSION_3 0
-
-/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< */
-/* end of tre-config.h */
+#include "tre-config.h"
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
@@ -74,10 +23,17 @@
/* Include the system regex.h to make TRE ABI compatible with the
system regex. */
#include TRE_SYSTEM_REGEX_H_PATH
+#ifdef __weak_alias
+#define tre_regcomp _regcomp
+#define tre_regexec _regexec
+#define tre_regerror _regerror
+#define tre_regfree _regfree
+#else
#define tre_regcomp regcomp
#define tre_regexec regexec
#define tre_regerror regerror
#define tre_regfree regfree
+#endif
#endif /* TRE_USE_SYSTEM_REGEX_H */
#ifdef __cplusplus
@@ -165,9 +121,6 @@
#define REG_APPROX_MATCHER (REG_NOTEOL << 1)
#define REG_BACKTRACKING_MATCHER (REG_APPROX_MATCHER << 1)
-/* emulate Spencer regexp behavior with tre_regnexec */
-#define REG_STARTEND (REG_BACKTRACKING_MATCHER << 1)
-
#endif /* !TRE_USE_SYSTEM_REGEX_H */
/* REG_NOSPEC and REG_LITERAL mean the same thing. */
@@ -183,16 +136,18 @@
/* The POSIX.2 regexp functions */
extern int
-tre_regcomp(regex_t *, const char *, int);
+tre_regcomp(regex_t *preg, const char *regex, int cflags);
extern int
-tre_regexec(const regex_t *, const char *, size_t, regmatch_t *, int);
+tre_regexec(const regex_t *preg, const char *string, size_t nmatch,
+ regmatch_t pmatch[], int eflags);
extern size_t
-tre_regerror(int, const regex_t *, char *, size_t);
+tre_regerror(int errcode, const regex_t *preg, char *errbuf,
+ size_t errbuf_size);
extern void
-tre_regfree(regex_t *);
+tre_regfree(regex_t *preg);
#ifdef TRE_WCHAR
#ifdef HAVE_WCHAR_H
@@ -201,29 +156,29 @@
/* Wide character versions (not in POSIX.2). */
extern int
-tre_regwcomp(regex_t *, const wchar_t *, int);
+tre_regwcomp(regex_t *preg, const wchar_t *regex, int cflags);
extern int
-tre_regwexec(const regex_t *, const wchar_t *,
- size_t, regmatch_t [], int);
+tre_regwexec(const regex_t *preg, const wchar_t *string,
+ size_t nmatch, regmatch_t pmatch[], int eflags);
#endif /* TRE_WCHAR */
/* Versions with a maximum length argument and therefore the capability to
handle null characters in the middle of the strings (not in POSIX.2). */
extern int
-tre_regncomp(regex_t *, const char *, size_t, int);
+tre_regncomp(regex_t *preg, const char *regex, size_t len, int cflags);
extern int
-tre_regnexec(const regex_t *, const char *, size_t,
- size_t, regmatch_t [], int);
+tre_regnexec(const regex_t *preg, const char *string, size_t len,
+ size_t nmatch, regmatch_t pmatch[], int eflags);
#ifdef TRE_WCHAR
extern int
-tre_regwncomp(regex_t *, const wchar_t *, size_t, int);
+tre_regwncomp(regex_t *preg, const wchar_t *regex, size_t len, int cflags);
extern int
-tre_regwnexec(const regex_t *, const wchar_t *, size_t,
- size_t, regmatch_t [], int);
+tre_regwnexec(const regex_t *preg, const wchar_t *string, size_t len,
+ size_t nmatch, regmatch_t pmatch[], int eflags);
#endif /* TRE_WCHAR */
#ifdef TRE_APPROX
@@ -254,26 +209,26 @@
/* Approximate matching functions. */
extern int
-tre_regaexec(const regex_t *, const char *,
- regamatch_t *, regaparams_t, int );
+tre_regaexec(const regex_t *preg, const char *string,
+ regamatch_t *match, regaparams_t params, int eflags);
extern int
-tre_reganexec(const regex_t *, const char *, size_t,
- regamatch_t *, regaparams_t, int);
+tre_reganexec(const regex_t *preg, const char *string, size_t len,
+ regamatch_t *match, regaparams_t params, int eflags);
#ifdef TRE_WCHAR
/* Wide character approximate matching. */
extern int
-tre_regawexec(const regex_t *, const wchar_t *,
- regamatch_t *, regaparams_t, int);
+tre_regawexec(const regex_t *preg, const wchar_t *string,
+ regamatch_t *match, regaparams_t params, int eflags);
extern int
-tre_regawnexec(const regex_t *, const wchar_t *, size_t,
- regamatch_t *, regaparams_t, int );
+tre_regawnexec(const regex_t *preg, const wchar_t *string, size_t len,
+ regamatch_t *match, regaparams_t params, int eflags);
#endif /* TRE_WCHAR */
/* Sets the parameters to default values. */
extern void
-tre_regaparams_default(regaparams_t *);
+tre_regaparams_default(regaparams_t *params);
#endif /* TRE_APPROX */
#ifdef TRE_WCHAR
@@ -290,8 +245,8 @@
} tre_str_source;
extern int
-tre_reguexec(const regex_t *, const tre_str_source *,
- size_t, regmatch_t [], int);
+tre_reguexec(const regex_t *preg, const tre_str_source *string,
+ size_t nmatch, regmatch_t pmatch[], int eflags);
/* Returns the version string. The returned string is static. */
extern char *
@@ -301,7 +256,7 @@
must point to depends of the value of `query', see documentation for
more details. */
extern int
-tre_config(int, void *);
+tre_config(int query, void *result);
enum {
TRE_CONFIG_APPROX,
@@ -313,12 +268,12 @@
/* Returns 1 if the compiled pattern has back references, 0 if not. */
extern int
-tre_have_backrefs(const regex_t *);
+tre_have_backrefs(const regex_t *preg);
/* Returns 1 if the compiled pattern uses approximate matching features,
0 if not. */
extern int
-tre_have_approx(const regex_t *);
+tre_have_approx(const regex_t *preg);
#ifdef __cplusplus
}
Index: src/lib/libc/Makefile
diff -u src/lib/libc/Makefile:1.142 src/lib/libc/Makefile:1.143
--- src/lib/libc/Makefile:1.142 Sun May 30 08:28:53 2010
+++ src/lib/libc/Makefile Sat Sep 4 12:17:58 2010
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.142 2010/05/30 08:28:53 tnozaki Exp $
+# $NetBSD: Makefile,v 1.143 2010/09/04 12:17:58 ahoka Exp $
# @(#)Makefile 8.2 (Berkeley) 2/3/94
#
# All library objects contain sccsid strings by default; they may be
@@ -78,7 +78,11 @@
.if (${MACHINE_ARCH} != "alpha") && (${MACHINE_ARCH} != "sparc64")
.include "${.CURDIR}/quad/Makefile.inc"
.endif
+.if (${USE_LIBTRE} == "yes")
+.include "${NETBSDSRCDIR}/external/bsd/tre/Makefile.inc"
+.else
.include "${.CURDIR}/regex/Makefile.inc"
+.endif
.include "${.CURDIR}/resolv/Makefile.inc"
.include "${.CURDIR}/rpc/Makefile.inc"
.include "${.CURDIR}/ssp/Makefile.inc"
Index: src/share/mk/bsd.own.mk
diff -u src/share/mk/bsd.own.mk:1.640 src/share/mk/bsd.own.mk:1.641
--- src/share/mk/bsd.own.mk:1.640 Sun Aug 22 18:56:21 2010
+++ src/share/mk/bsd.own.mk Sat Sep 4 12:17:58 2010
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.own.mk,v 1.640 2010/08/22 18:56:21 rmind Exp $
+# $NetBSD: bsd.own.mk,v 1.641 2010/09/04 12:17:58 ahoka Exp $
# This needs to be before bsd.init.mk
.if defined(BSD_MK_COMPAT_FILE)
@@ -871,7 +871,7 @@
# USE_* options which default to "no".
#
# For now, disable pigz as compressor by default
-.for var in USE_PIGZGZIP
+.for var in USE_PIGZGZIP USE_LIBTRE
${var}?= no
.endfor
Added files:
Index: src/external/bsd/tre/Makefile.inc
diff -u /dev/null src/external/bsd/tre/Makefile.inc:1.1
--- /dev/null Sat Sep 4 12:17:59 2010
+++ src/external/bsd/tre/Makefile.inc Sat Sep 4 12:17:58 2010
@@ -0,0 +1,23 @@
+# $NetBSD: Makefile.inc,v 1.1 2010/09/04 12:17:58 ahoka Exp $
+# @(#)Makefile.inc 8.1 (Berkeley) 6/4/93
+
+# regex sources
+TREDIST= ${NETBSDSRCDIR}/external/bsd/tre/dist
+
+# Add libc/regex for manpages
+.PATH: ${TREDIST}/lib ${NETBSDSRCDIR}/lib/libc/regex
+
+CPPFLAGS+= -I${TREDIST} -I${TREDIST}/lib
+CPPFLAGS+= -DHAVE_CONFIG_H=1
+
+SRCS+= regcomp.c regerror.c regexec.c
+SRCS+= tre-ast.c tre-compile.c
+SRCS+= tre-match-backtrack.c tre-match-parallel.c tre-mem.c
+SRCS+= tre-parse.c tre-stack.c
+
+WARNS= 4
+
+MAN+= regex.3 re_format.7
+
+MLINKS+=regex.3 regcomp.3 regex.3 regexec.3 regex.3 regerror.3 \
+ regex.3 regfree.3
Index: src/external/bsd/tre/dist/config.h
diff -u /dev/null src/external/bsd/tre/dist/config.h:1.1
--- /dev/null Sat Sep 4 12:17:59 2010
+++ src/external/bsd/tre/dist/config.h Sat Sep 4 12:17:58 2010
@@ -0,0 +1,259 @@
+/* config.h. Generated from config.h.in by configure. */
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+ systems. This function is required for `alloca.c' support on those systems.
+ */
+/* #undef CRAY_STACKSEG_END */
+
+/* Define to 1 if using `alloca.c'. */
+/* #undef C_ALLOCA */
+
+/* Define to 1 if translation of program messages to the user's native
+ language is requested. */
+/* #undef ENABLE_NLS */
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+/* #undef HAVE_ALLOCA */
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+ */
+/* #undef HAVE_ALLOCA_H */
+
+/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
+ CoreFoundation framework. */
+/* #undef HAVE_CFLOCALECOPYCURRENT */
+
+/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
+ the CoreFoundation framework. */
+/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+ */
+/* #undef HAVE_DCGETTEXT */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the <getopt.h> header file. */
+#define HAVE_GETOPT_H 1
+
+/* Define to 1 if you have the `getopt_long' function. */
+#define HAVE_GETOPT_LONG 1
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+/* #undef HAVE_GETTEXT */
+
+/* Define if you have the iconv() function and it works. */
+#define HAVE_ICONV 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+/* #undef HAVE_INTTYPES_H */
+
+/* Define to 1 if you have the `isascii' function. */
+#define HAVE_ISASCII 1
+
+/* Define to 1 if you have the `isblank' function. */
+#define HAVE_ISBLANK 1
+
+/* Define to 1 if you have the `iswascii' function or macro. */
+/* #undef HAVE_ISWASCII */
+
+/* Define to 1 if you have the `iswblank' function or macro. */
+/* #undef HAVE_ISWBLANK */
+
+/* Define to 1 if you have the `iswctype' function or macro. */
+/* #undef HAVE_ISWCTYPE */
+
+/* Define to 1 if you have the `iswlower' function or macro. */
+/* #undef HAVE_ISWLOWER */
+
+/* Define to 1 if you have the `iswupper' function or macro. */
+/* #undef HAVE_ISWUPPER */
+
+/* Define to 1 if you have the <libutf8.h> header file. */
+/* #undef HAVE_LIBUTF8_H */
+
+/* Define to 1 if you have the `mbrtowc' function or macro. */
+/* #undef HAVE_MBRTOWC */
+
+/* Define to 1 if the system has the type `mbstate_t'. */
+/* #undef HAVE_MBSTATE_T */
+
+/* Define to 1 if you have the `mbtowc' function or macro. */
+/* #undef HAVE_MBTOWC */
+
+/* Define to 1 if you have the <memory.h> header file. */
+/* #undef HAVE_MEMORY_H */
+
+/* Define to 1 if you have the <regex.h> header file. */
+#define HAVE_REGEX_H 1
+
+/* Define to 1 if the system has the type `reg_errcode_t'. */
+/* #undef HAVE_REG_ERRCODE_T */
+
+/* Define to 1 if you have the <stdint.h> header file. */
+/* #undef HAVE_STDINT_H */
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+/* #undef HAVE_STDLIB_H */
+
+/* Define to 1 if you have the <strings.h> header file. */
+/* #undef HAVE_STRINGS_H */
+
+/* Define to 1 if you have the <string.h> header file. */
+/* #undef HAVE_STRING_H */
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+/* #undef HAVE_SYS_STAT_H */
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the `towlower' function or macro. */
+/* #undef HAVE_TOWLOWER */
+
+/* Define to 1 if you have the `towupper' function or macro. */
+/* #undef HAVE_TOWUPPER */
+
+/* Define to 1 if you have the <unistd.h> header file. */
+/* #undef HAVE_UNISTD_H */
+
+/* Define to 1 if you have the <wchar.h> header file. */
+/* #undef HAVE_WCHAR_H */
+
+/* Define to 1 if the system has the type `wchar_t'. */
+/* #undef HAVE_WCHAR_T */
+
+/* Define to 1 if you have the `wcschr' function or macro. */
+/* #undef HAVE_WCSCHR */
+
+/* Define to 1 if you have the `wcscpy' function or macro. */
+/* #undef HAVE_WCSCPY */
+
+/* Define to 1 if you have the `wcslen' function or macro. */
+/* #undef HAVE_WCSLEN */
+
+/* Define to 1 if you have the `wcsncpy' function or macro. */
+/* #undef HAVE_WCSNCPY */
+
+/* Define to 1 if you have the `wcsrtombs' function or macro. */
+/* #undef HAVE_WCSRTOMBS */
+
+/* Define to 1 if you have the `wcstombs' function or macro. */
+/* #undef HAVE_WCSTOMBS */
+
+/* Define to 1 if you have the `wctype' function or macro. */
+/* #undef HAVE_WCTYPE */
+
+/* Define to 1 if you have the <wctype.h> header file. */
+/* #undef HAVE_WCTYPE_H */
+
+/* Define to 1 if the system has the type `wint_t'. */
+/* #undef HAVE_WINT_T */
+
+/* Define if you want to disable debug assertions. */
+#define NDEBUG 1
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+/* #undef NO_MINUS_C_MINUS_O */
+
+/* Name of package */
+#define PACKAGE "tre"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "[email protected]"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "TRE"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "TRE 0.8.0"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "tre"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "0.8.0"
+
+/* If using the C implementation of alloca, define if you know the
+ direction of stack growth for your system; otherwise it will be
+ automatically deduced at runtime.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown */
+/* #undef STACK_DIRECTION */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define if you want to enable approximate matching functionality. */
+/* #undef TRE_APPROX */
+
+/* Define if you want TRE to print debug messages to stdout. */
+/* #undef TRE_DEBUG */
+
+/* Define to enable multibyte character set support. */
+/* #undef TRE_MULTIBYTE */
+
+/* Define to a field in the regex_t struct where TRE should store a pointer to
+ the internal tre_tnfa_t structure */
+#define TRE_REGEX_T_FIELD re_g
+
+/* Define to the absolute path to the system regex.h */
+#define TRE_SYSTEM_REGEX_H_PATH "../../../include/regex.h"
+
+/* Define if you want TRE to use alloca() instead of malloc() when allocating
+ memory needed for regexec operations. */
+/* #undef TRE_USE_ALLOCA */
+
+/* Define to include the system regex.h from TRE regex.h */
+#define TRE_USE_SYSTEM_REGEX_H 1
+
+/* TRE version string. */
+#define TRE_VERSION "0.8.0"
+
+/* TRE version level 1. */
+#define TRE_VERSION_1 0
+
+/* TRE version level 2. */
+#define TRE_VERSION_2 8
+
+/* TRE version level 3. */
+#define TRE_VERSION_3 0
+
+/* Define to enable wide character (wchar_t) support. */
+/* #undef TRE_WCHAR */
+
+/* Version number of package */
+#define VERSION "0.8.0"
+
+/* Define to the maximum value of wchar_t if not already defined elsewhere */
+/* #undef WCHAR_MAX */
+
+/* Define if wchar_t is signed */
+/* #undef WCHAR_T_SIGNED */
+
+/* Define if wchar_t is unsigned */
+/* #undef WCHAR_T_UNSIGNED */
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* Define to enable GNU extensions in glibc */
+#define _GNU_SOURCE 1
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
+
+/* Define on IRIX */
+#define _REGCOMP_INTERNAL 1
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
Index: src/external/bsd/tre/dist/lib/tre-config.h
diff -u /dev/null src/external/bsd/tre/dist/lib/tre-config.h:1.1
--- /dev/null Sat Sep 4 12:17:59 2010
+++ src/external/bsd/tre/dist/lib/tre-config.h Sat Sep 4 12:17:58 2010
@@ -0,0 +1,44 @@
+/* lib/tre-config.h. Generated from tre-config.h.in by configure. */
+/* tre-config.h.in. This file has all definitions that are needed in
+ `tre.h'. Note that this file must contain only the bare minimum
+ of definitions without the TRE_ prefix to avoid conflicts between
+ definitions here and definitions included from somewhere else. */
+
+/* Define to 1 if you have the <libutf8.h> header file. */
+/* #undef HAVE_LIBUTF8_H */
+
+/* Define to 1 if the system has the type `reg_errcode_t'. */
+/* #undef HAVE_REG_ERRCODE_T */
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <wchar.h> header file. */
+/* #undef HAVE_WCHAR_H */
+
+/* Define if you want to enable approximate matching functionality. */
+/* #undef TRE_APPROX */
+
+/* Define to enable multibyte character set support. */
+/* #undef TRE_MULTIBYTE */
+
+/* Define to the absolute path to the system tre.h */
+#define TRE_SYSTEM_REGEX_H_PATH "../../../include/regex.h"
+
+/* Define to include the system regex.h from tre.h */
+#define TRE_USE_SYSTEM_REGEX_H 1
+
+/* Define to enable wide character (wchar_t) support. */
+/* #undef TRE_WCHAR */
+
+/* TRE version string. */
+#define TRE_VERSION "0.8.0"
+
+/* TRE version level 1. */
+#define TRE_VERSION_1 0
+
+/* TRE version level 2. */
+#define TRE_VERSION_2 8
+
+/* TRE version level 3. */
+#define TRE_VERSION_3 0