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,53 +1,159 @@
--- configure.ac.orig
+++ configure.ac
@@ -672,6 +672,44 @@ if test "$enable_pcretest_libreadline" =
fi
AC_SUBST(LIBREADLINE)
Index: configure.ac
===================================================================
--- configure.ac (revisión: 741)
+++ configure.ac (copia de trabajo)
@@ -42,6 +42,7 @@
+
+ dnl ************************************************************
+ 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 on gcc >= 4.0 and SunPro C.
+ dnl
+ AC_MSG_CHECKING([whether to enable hidden symbols in the library])
+ AC_ARG_ENABLE(hidden-symbols,
+ AC_HELP_STRING([--enable-hidden-symbols],[Hide internal symbols in library])
+ AC_HELP_STRING([--disable-hidden-symbols],[Leave all symbols with default visibility in library]),
+ [ case "$enableval" in
+ no)
+ AC_MSG_RESULT(no)
+ ;;
+ *)
+ AC_MSG_CHECKING([whether $CC supports it])
+ if test "$GCC" = yes ; then
+ if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ; then
+ AC_MSG_RESULT(yes)
+ 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_DATA_DEFN, [__attribute__ ((visibility ("default")))], [to make a symbol visible])
+ AC_DEFINE(PCREPOSIX_EXP_DECL, [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_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
+ ;;
+ esac ],
+ AC_MSG_RESULT(no)
+ )
+
# Produce these files, in addition to config.h.
AC_CONFIG_FILES(
Makefile
--- Makefile.am.orig
+++ Makefile.am
@@ -252,7 +252,7 @@ TESTS += RunGrepTest
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 From Bruno Haible.
+
+dnl Tests whether the compiler supports the command-line option
+dnl -fvisibility=hidden and the function and variable attributes
+dnl __attribute__((__visibility__("hidden"))) and
+dnl __attribute__((__visibility__("default"))).
+dnl Does *not* test for __visibility__("protected") - which has tricky
+dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on
+dnl MacOS X.
+dnl Does *not* test for __visibility__("internal") - which has processor
+dnl dependent semantics.
+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.
+dnl Defines and sets the variable HAVE_VISIBILITY.
+
+dnl Modified to fit with PCRE build environment by Cristian Rodríguez.
+
+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_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(PCREPOSIX_EXP_DECL, [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_DEFN, [__attribute__ ((visibility ("default")))], [to make a symbol visible])
+ fi
+ fi
+ AC_SUBST([CFLAG_VISIBILITY])
+ AC_SUBST([CXXFLAG_INLINES_HIDDEN])
+ 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
+
+libpcre_la_CFLAGS = $(CFLAG_VISIBILITY)
+
libpcre_la_SOURCES = \
pcre_compile.c \
pcre_config.c \
@@ -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
bin_PROGRAMS += pcregrep
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

View File

@ -20,7 +20,7 @@
Name: pcre
BuildRequires: gcc-c++ pkg-config
Version: 8.13
Version: 8.20
Release: 1
Summary: A library for Perl-compatible regular expressions
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
Source2: baselibs.conf
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#PATCH-FIX-UPSTREAM crrodriguez@opensuse.org http://bugs.exim.org/show_bug.cgi?id=1173
Patch: pcre-visibility.patch
%description
@ -121,9 +122,8 @@ as Perl 5.
%patch
%build
mkdir m4
autoreconf -fiv
%configure --enable-hidden-symbols --disable-static \
%configure --enable-jit --disable-static \
--with-link-size=2 \
--with-match-limit=10000000 \
--enable-newline-is-lf \