summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/pcre
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <dangelog@gmail.com>2012-01-23 23:04:02 +0000
committerQt by Nokia <qt-info@nokia.com>2012-01-27 11:35:07 +0100
commite7d0d54084aa04387ebfb8cee292248df5355021 (patch)
tree57c09930a89935924b9d3c406a16c053f769a705 /src/3rdparty/pcre
parent7f9b624e12731afc21f332c081b9c9a9e2a8c55e (diff)
QRegularExpression: infrastructure for importing PCRE in 3rdparty/
Added the necessary files for importing and compiling PCRE under 3rdparty/, including a small shell script to ease the import and the update of PCRE from its dist tarball. PCRE's config.h is used, but it is assumed that a global s/HAVE_CONFIG_H/PCRE_HAVE_CONFIG_H/g was run on PCRE source files to avoid polluting QtCore compilation with -DHAVE_CONFIG_H (the aforementioned shell script performs this substitution; therefore, -DPCRE_HAVE_CONFIG_H is added instead to the compiler's command line). Change-Id: Ic0f23526ebf5f770aefdffc8f688e5816c28fd8c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Diffstat (limited to 'src/3rdparty/pcre')
-rw-r--r--src/3rdparty/pcre/config.h15
-rwxr-xr-xsrc/3rdparty/pcre/import_from_pcre_tarball.sh153
2 files changed, 168 insertions, 0 deletions
diff --git a/src/3rdparty/pcre/config.h b/src/3rdparty/pcre/config.h
new file mode 100644
index 0000000000..4fe10f41d8
--- /dev/null
+++ b/src/3rdparty/pcre/config.h
@@ -0,0 +1,15 @@
+#define HAVE_MEMMOVE 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRING_H 1
+
+#define LINK_SIZE 2
+#define MATCH_LIMIT 10000000
+#define MATCH_LIMIT_RECURSION MATCH_LIMIT
+#define MAX_NAME_COUNT 10000
+#define MAX_NAME_SIZE 32
+#define NEWLINE 10
+
+#define POSIX_MALLOC_THRESHOLD 10
+#define SUPPORT_UCP
+#define SUPPORT_UTF16
+
diff --git a/src/3rdparty/pcre/import_from_pcre_tarball.sh b/src/3rdparty/pcre/import_from_pcre_tarball.sh
new file mode 100755
index 0000000000..a2c7b1a408
--- /dev/null
+++ b/src/3rdparty/pcre/import_from_pcre_tarball.sh
@@ -0,0 +1,153 @@
+#! /bin/sh
+#############################################################################
+##
+## Copyright (C) 2012 Giuseppe D'Angelo <dangelog@gmail.com>.
+## Contact: http://www.qt-project.org/
+##
+## This file is the build configuration utility of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## GNU Lesser General Public License Usage
+## This file may be used under the terms of the GNU Lesser General Public
+## License version 2.1 as published by the Free Software Foundation and
+## appearing in the file LICENSE.LGPL included in the packaging of this
+## file. Please review the following information to ensure the GNU Lesser
+## General Public License version 2.1 requirements will be met:
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## In addition, as a special exception, Nokia gives you certain additional
+## rights. These rights are described in the Nokia Qt LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU General
+## Public License version 3.0 as published by the Free Software Foundation
+## and appearing in the file LICENSE.GPL included in the packaging of this
+## file. Please review the following information to ensure the GNU General
+## Public License version 3.0 requirements will be met:
+## http://www.gnu.org/copyleft/gpl.html.
+##
+## Other Usage
+## Alternatively, this file may be used in accordance with the terms and
+## conditions contained in a signed written agreement between you and Nokia.
+##
+##
+##
+##
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This is a small script to copy the required files from a PCRE tarball
+# into 3rdparty/pcre/ , following the instructions found in the NON-UNIX-USE
+# file. Documentation, tests, demos etc. are not imported.
+# Also, a global s/HAVE_CONFIG_H/PCRE_HAVE_CONFIG_H/g is performed, to avoid
+# tampering QtCore compilation with a -DHAVE_CONFIG_H.
+
+if [ $# -ne 2 ]; then
+ echo "Usage: $0 pcre_tarball_dir/ \$QTDIR/src/3rdparty/pcre/"
+ exit 1
+fi
+
+PCRE_DIR=$1
+TARGET_DIR=$2
+
+if [ ! -d "$PCRE_DIR" -o ! -r "$PCRE_DIR" -o ! -d "$TARGET_DIR" -o ! -w "$TARGET_DIR" ]; then
+ echo "Either the PCRE source dir or the target dir do not exist,"
+ echo "are not directories or have the wrong permissions."
+ exit 2
+fi
+
+# with 1 argument, copies PCRE_DIR/$1 to TARGET_DIR/$1
+# with 2 arguments, copies PCRE_DIR/$1 to TARGET_DIR/$2
+# every file copied gets a s/HAVE_CONFIG_H/PCRE_HAVE_CONFIG_H/g
+copy_and_convert_file() {
+ if [ $# -lt 1 -o $# -gt 2 ]; then
+ echo "Wrong number of arguments to copy_and_convert_file"
+ exit 3
+ fi
+
+ SOURCE_FILE=$1
+ if [ -n "$2" ]; then
+ DEST_FILE=$2
+ else
+ DEST_FILE=$1
+ fi
+
+ mkdir -p "$TARGET_DIR/$(dirname "$SOURCE_FILE")"
+ sed 's/HAVE_CONFIG_H/PCRE_HAVE_CONFIG_H/g' < "$PCRE_DIR/$SOURCE_FILE" > "$TARGET_DIR/$DEST_FILE"
+}
+
+copy_and_convert_file "pcre.h.generic" "pcre.h"
+copy_and_convert_file "pcre_chartables.c.dist" "pcre_chartables.c"
+
+FILES="
+ AUTHORS
+ COPYING
+ LICENCE
+ pcre_internal.h
+ ucp.h
+ pcre_byte_order.c
+ pcre_compile.c
+ pcre_config.c
+ pcre_dfa_exec.c
+ pcre_exec.c
+ pcre_fullinfo.c
+ pcre_get.c
+ pcre_globals.c
+ pcre_jit_compile.c
+ pcre_maketables.c
+ pcre_newline.c
+ pcre_ord2utf8.c
+ pcre_refcount.c
+ pcre_string_utils.c
+ pcre_study.c
+ pcre_tables.c
+ pcre_ucd.c
+ pcre_valid_utf8.c
+ pcre_version.c
+ pcre_xclass.c
+ pcre16_byte_order.c
+ pcre16_chartables.c
+ pcre16_compile.c
+ pcre16_config.c
+ pcre16_dfa_exec.c
+ pcre16_exec.c
+ pcre16_fullinfo.c
+ pcre16_get.c
+ pcre16_globals.c
+ pcre16_jit_compile.c
+ pcre16_maketables.c
+ pcre16_newline.c
+ pcre16_ord2utf16.c
+ pcre16_refcount.c
+ pcre16_string_utils.c
+ pcre16_study.c
+ pcre16_tables.c
+ pcre16_ucd.c
+ pcre16_utf16_utils.c
+ pcre16_valid_utf16.c
+ pcre16_version.c
+ pcre16_xclass.c
+ sljit/sljitLir.c
+ sljit/sljitLir.h
+ sljit/sljitNativePPC_common.c
+ sljit/sljitNativeX86_common.c
+ sljit/sljitNativeARM_v5.c
+ sljit/sljitNativeX86_32.c
+ sljit/sljitNativeX86_64.c
+ sljit/sljitNativePPC_32.c
+ sljit/sljitNativePPC_64.c
+ sljit/sljitConfig.h
+ sljit/sljitNativeMIPS_32.c
+ sljit/sljitUtils.c
+ sljit/sljitNativeMIPS_common.c
+ sljit/sljitExecAllocator.c
+ sljit/sljitConfigInternal.h
+ sljit/sljitNativeARM_Thumb2.c
+"
+
+for i in $FILES; do
+ copy_and_convert_file "$i"
+done