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>
This commit is contained in:
parent
7f9b624e12
commit
e7d0d54084
38
src/3rdparty/pcre.pri
vendored
Normal file
38
src/3rdparty/pcre.pri
vendored
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
DEFINES += PCRE_HAVE_CONFIG_H
|
||||||
|
|
||||||
|
# man 3 pcrejit for a list of supported platforms;
|
||||||
|
# as PCRE 8.30, stable JIT support is available for:
|
||||||
|
# - ARM v5, v7, and Thumb2
|
||||||
|
# - x86/x86-64
|
||||||
|
# - MIPS 32bit
|
||||||
|
equals(QT_ARCH, "i386")|equals(QT_ARCH, "x86_64")|equals(QT_ARCH, "arm")|if(equals(QT_ARCH, "mips"):!*-64) {
|
||||||
|
DEFINES += SUPPORT_JIT
|
||||||
|
}
|
||||||
|
|
||||||
|
win32:DEFINES += PCRE_STATIC
|
||||||
|
|
||||||
|
INCLUDEPATH += $$PWD/pcre
|
||||||
|
SOURCES += \
|
||||||
|
$$PWD/pcre/pcre16_byte_order.c \
|
||||||
|
$$PWD/pcre/pcre16_chartables.c \
|
||||||
|
$$PWD/pcre/pcre16_compile.c \
|
||||||
|
$$PWD/pcre/pcre16_config.c \
|
||||||
|
$$PWD/pcre/pcre16_dfa_exec.c \
|
||||||
|
$$PWD/pcre/pcre16_exec.c \
|
||||||
|
$$PWD/pcre/pcre16_fullinfo.c \
|
||||||
|
$$PWD/pcre/pcre16_get.c \
|
||||||
|
$$PWD/pcre/pcre16_globals.c \
|
||||||
|
$$PWD/pcre/pcre16_jit_compile.c \
|
||||||
|
$$PWD/pcre/pcre16_maketables.c \
|
||||||
|
$$PWD/pcre/pcre16_newline.c \
|
||||||
|
$$PWD/pcre/pcre16_ord2utf16.c \
|
||||||
|
$$PWD/pcre/pcre16_refcount.c \
|
||||||
|
$$PWD/pcre/pcre16_string_utils.c \
|
||||||
|
$$PWD/pcre/pcre16_study.c \
|
||||||
|
$$PWD/pcre/pcre16_tables.c \
|
||||||
|
$$PWD/pcre/pcre16_ucd.c \
|
||||||
|
$$PWD/pcre/pcre16_utf16_utils.c \
|
||||||
|
$$PWD/pcre/pcre16_valid_utf16.c \
|
||||||
|
$$PWD/pcre/pcre16_version.c \
|
||||||
|
$$PWD/pcre/pcre16_xclass.c
|
||||||
|
|
15
src/3rdparty/pcre/config.h
vendored
Normal file
15
src/3rdparty/pcre/config.h
vendored
Normal file
@ -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
|
||||||
|
|
153
src/3rdparty/pcre/import_from_pcre_tarball.sh
vendored
Executable file
153
src/3rdparty/pcre/import_from_pcre_tarball.sh
vendored
Executable file
@ -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
|
Loading…
Reference in New Issue
Block a user