Accepting request 89878 from home:elvigia:branches:Base:System

- Update to version 8.20 
  * too many fixes to list here, see included ChangeLog
  * replace pcre-visibility patch with the one I submitted to 
    upstream for inclusion.

OBS-URL: https://build.opensuse.org/request/show/89878
OBS-URL: https://build.opensuse.org/package/show/Base:System/pcre?expand=0&rev=29
This commit is contained in:
Cristian Rodríguez 2011-11-01 16:19:53 +00:00 committed by Git OBS Bridge
parent c1720d4569
commit f7674c211c
5 changed files with 169 additions and 55 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3384624ea3281af5fc83400e1fd184e0bdd49e1705315faefd7cfe91b739b504
size 1037903

3
pcre-8.20.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e06b0943ce4b0f15324a20020d6086760a75b72f5ad7c23b9b2bfe690ed49acd
size 1164103

View File

@ -1,28 +1,94 @@
--- configure.ac.orig Index: configure.ac
+++ configure.ac ===================================================================
@@ -672,6 +672,44 @@ if test "$enable_pcretest_libreadline" = --- configure.ac (revisión: 741)
fi +++ configure.ac (copia de trabajo)
AC_SUBST(LIBREADLINE) @@ -42,6 +42,7 @@
AC_PROG_CC
AC_PROG_CXX
+PCRE_VISIBILITY
if test "x$remember_set_CFLAGS" = "x"
then
Index: m4/visibility.m4
===================================================================
--- m4/visibility.m4 (revisión: 0)
+++ m4/visibility.m4 (revisión: 0)
@@ -0,0 +1,89 @@
+# visibility.m4 serial 4 (gettext-0.18.2)
+dnl Copyright (C) 2005, 2008, 2010-2011 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+ +
+ dnl ************************************************************ +dnl From Bruno Haible.
+ dnl Enable hiding of internal symbols in library to reduce its size and +
+ dnl speed dynamic linking of applications. This currently is only supported +dnl Tests whether the compiler supports the command-line option
+ dnl on gcc >= 4.0 and SunPro C. +dnl -fvisibility=hidden and the function and variable attributes
+ dnl +dnl __attribute__((__visibility__("hidden"))) and
+ AC_MSG_CHECKING([whether to enable hidden symbols in the library]) +dnl __attribute__((__visibility__("default"))).
+ AC_ARG_ENABLE(hidden-symbols, +dnl Does *not* test for __visibility__("protected") - which has tricky
+ AC_HELP_STRING([--enable-hidden-symbols],[Hide internal symbols in library]) +dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on
+ AC_HELP_STRING([--disable-hidden-symbols],[Leave all symbols with default visibility in library]), +dnl MacOS X.
+ [ case "$enableval" in +dnl Does *not* test for __visibility__("internal") - which has processor
+ no) +dnl dependent semantics.
+ AC_MSG_RESULT(no) +dnl Does *not* test for #pragma GCC visibility push(hidden) - which is
+ ;; +dnl "really only recommended for legacy code".
+ *) +dnl Set the variable CFLAG_VISIBILITY.
+ AC_MSG_CHECKING([whether $CC supports it]) +dnl Defines and sets the variable HAVE_VISIBILITY.
+ if test "$GCC" = yes ; then +
+ if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ; then +dnl Modified to fit with PCRE build environment by Cristian Rodríguez.
+ AC_MSG_RESULT(yes) +
+AC_DEFUN([PCRE_VISIBILITY],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ CFLAG_VISIBILITY=
+ CXXFLAG_INLINES_HIDDEN=
+ HAVE_VISIBILITY=0
+ if test -n "$GCC"; then
+ dnl First, check whether -Werror can be added to the command line, or
+ dnl whether it leads to an error because of some other option that the
+ dnl user has put into $CC $CFLAGS $CPPFLAGS.
+ AC_MSG_CHECKING([whether the -Werror option is usable])
+ AC_CACHE_VAL([gl_cv_cc_vis_werror], [
+ gl_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror"
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[]], [[]])],
+ [gl_cv_cc_vis_werror=yes],
+ [gl_cv_cc_vis_werror=no])
+ CFLAGS="$gl_save_CFLAGS"])
+ AC_MSG_RESULT([$gl_cv_cc_vis_werror])
+ dnl Now check whether visibility declarations are supported.
+ AC_MSG_CHECKING([for simple visibility declarations])
+ AC_CACHE_VAL([gl_cv_cc_visibility], [
+ gl_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -fvisibility=hidden"
+ dnl We use the option -Werror and a function dummyfunc, because on some
+ dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning
+ dnl "visibility attribute not supported in this configuration; ignored"
+ dnl at the first function definition in every compilation unit, and we
+ dnl don't want to use the option in this case.
+ if test $gl_cv_cc_vis_werror = yes; then
+ CFLAGS="$CFLAGS -Werror"
+ fi
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[extern __attribute__((__visibility__("hidden"))) int hiddenvar;
+ extern __attribute__((__visibility__("default"))) int exportedvar;
+ extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
+ extern __attribute__((__visibility__("default"))) int exportedfunc (void);
+ void dummyfunc (void) {}
+ ]],
+ [[]])],
+ [gl_cv_cc_visibility=yes],
+ [gl_cv_cc_visibility=no])
+ CFLAGS="$gl_save_CFLAGS"])
+ AC_MSG_RESULT([$gl_cv_cc_visibility])
+ if test $gl_cv_cc_visibility = yes; then
+ CFLAG_VISIBILITY="-fvisibility=hidden"
+ CXXFLAG_INLINES_HIDDEN="-fvisibility-inlines-hidden"
+ HAVE_VISIBILITY=1
+ AC_DEFINE(PCRE_EXP_DECL, [extern __attribute__ ((visibility ("default")))], [to make a symbol visible]) + AC_DEFINE(PCRE_EXP_DECL, [extern __attribute__ ((visibility ("default")))], [to make a symbol visible])
+ AC_DEFINE(PCRE_EXP_DEFN, [__attribute__ ((visibility ("default")))], [to make a symbol visible]) + AC_DEFINE(PCRE_EXP_DEFN, [__attribute__ ((visibility ("default")))], [to make a symbol visible])
+ AC_DEFINE(PCRE_EXP_DATA_DEFN, [__attribute__ ((visibility ("default")))], [to make a symbol visible]) + AC_DEFINE(PCRE_EXP_DATA_DEFN, [__attribute__ ((visibility ("default")))], [to make a symbol visible])
@ -30,24 +96,64 @@
+ AC_DEFINE(PCREPOSIX_EXP_DEFN, [extern __attribute__ ((visibility ("default")))], [to make a symbol visible]) + AC_DEFINE(PCREPOSIX_EXP_DEFN, [extern __attribute__ ((visibility ("default")))], [to make a symbol visible])
+ AC_DEFINE(PCRECPP_EXP_DECL, [extern __attribute__ ((visibility ("default")))], [to make a symbol visible]) + AC_DEFINE(PCRECPP_EXP_DECL, [extern __attribute__ ((visibility ("default")))], [to make a symbol visible])
+ AC_DEFINE(PCRECPP_EXP_DEFN, [__attribute__ ((visibility ("default")))], [to make a symbol visible]) + AC_DEFINE(PCRECPP_EXP_DEFN, [__attribute__ ((visibility ("default")))], [to make a symbol visible])
+ CFLAGS="$CFLAGS -fvisibility=hidden"
+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
+ else
+ AC_MSG_RESULT(no)
+ fi + fi
+
+ fi + fi
+ ;; + AC_SUBST([CFLAG_VISIBILITY])
+ esac ], + AC_SUBST([CXXFLAG_INLINES_HIDDEN])
+ AC_MSG_RESULT(no) + AC_SUBST([HAVE_VISIBILITY])
+ ) + AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY],
+ [Define to 1 or 0, depending whether the compiler supports simple visibility declarations.])
+])
Index: Makefile.am
===================================================================
--- Makefile.am (revisión: 741)
+++ Makefile.am (copia de trabajo)
@@ -171,6 +171,9 @@
## The main pcre library
lib_LTLIBRARIES += libpcre.la
+ +
# Produce these files, in addition to config.h. +libpcre_la_CFLAGS = $(CFLAG_VISIBILITY)
AC_CONFIG_FILES( +
Makefile libpcre_la_SOURCES = \
--- Makefile.am.orig pcre_compile.c \
+++ Makefile.am pcre_config.c \
@@ -252,7 +252,7 @@ TESTS += RunGrepTest @@ -224,7 +227,7 @@
sljit/sljitNativeX86_common.c \
sljit/sljitUtils.c
-libpcre_la_LDFLAGS = $(EXTRA_LIBPCRE_LDFLAGS)
+libpcre_la_LDFLAGS = -no-undefined $(EXTRA_LIBPCRE_LDFLAGS)
CLEANFILES += pcre_chartables.c
@@ -238,21 +241,23 @@
## A version of the main pcre library that has a posix re API.
lib_LTLIBRARIES += libpcreposix.la
+libpcreposix_la_CFLAGS = $(CFLAG_VISIBILITY)
libpcreposix_la_SOURCES = \
pcreposix.c
-libpcreposix_la_LDFLAGS = $(EXTRA_LIBPCREPOSIX_LDFLAGS)
+libpcreposix_la_LDFLAGS = -no-undefined $(EXTRA_LIBPCREPOSIX_LDFLAGS)
libpcreposix_la_LIBADD = libpcre.la
## There's a C++ library as well.
if WITH_PCRE_CPP
lib_LTLIBRARIES += libpcrecpp.la
+libpcrecpp_la_CXXFLAGS = $(CFLAG_VISIBILITY) $(CXXFLAG_INLINES_HIDDEN)
libpcrecpp_la_SOURCES = \
pcrecpp_internal.h \
pcrecpp.cc \
pcre_scanner.cc \
pcre_stringpiece.cc
-libpcrecpp_la_LDFLAGS = $(EXTRA_LIBPCRECPP_LDFLAGS)
+libpcrecpp_la_LDFLAGS = -no-undefined $(EXTRA_LIBPCRECPP_LDFLAGS)
libpcrecpp_la_LIBADD = libpcre.la
TESTS += pcrecpp_unittest
@@ -288,7 +293,7 @@
dist_noinst_SCRIPTS += RunGrepTest dist_noinst_SCRIPTS += RunGrepTest
bin_PROGRAMS += pcregrep bin_PROGRAMS += pcregrep
pcregrep_SOURCES = pcregrep.c pcregrep_SOURCES = pcregrep.c

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Tue Nov 1 16:16:49 UTC 2011 - crrodriguez@opensuse.org
- Update to version 8.20
* too many fixes to list here, see included ChangeLog
* replace pcre-visibility patch with the one I submitted to
upstream for inclusion.
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Oct 11 22:39:57 UTC 2011 - dmueller@suse.de Tue Oct 11 22:39:57 UTC 2011 - dmueller@suse.de

View File

@ -20,7 +20,7 @@
Name: pcre Name: pcre
BuildRequires: gcc-c++ pkg-config BuildRequires: gcc-c++ pkg-config
Version: 8.13 Version: 8.20
Release: 1 Release: 1
Summary: A library for Perl-compatible regular expressions Summary: A library for Perl-compatible regular expressions
License: BSD3c(or similar) ; Other uncritical OpenSource License License: BSD3c(or similar) ; Other uncritical OpenSource License
@ -34,6 +34,7 @@ Url: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
Source: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/%name-%version.tar.bz2 Source: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/%name-%version.tar.bz2
Source2: baselibs.conf Source2: baselibs.conf
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
#PATCH-FIX-UPSTREAM crrodriguez@opensuse.org http://bugs.exim.org/show_bug.cgi?id=1173
Patch: pcre-visibility.patch Patch: pcre-visibility.patch
%description %description
@ -121,9 +122,8 @@ as Perl 5.
%patch %patch
%build %build
mkdir m4
autoreconf -fiv autoreconf -fiv
%configure --enable-hidden-symbols --disable-static \ %configure --enable-jit --disable-static \
--with-link-size=2 \ --with-link-size=2 \
--with-match-limit=10000000 \ --with-match-limit=10000000 \
--enable-newline-is-lf \ --enable-newline-is-lf \