Update of /cvsroot/fink/dists/10.4/stable/main/finkinfo/libs
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv2181

Modified Files:
        libpcre1.info 
Added Files:
        libpcre1.patch 
Log Message:
Enable building 32 bit lib thanks to upstream patch from revision 1242.

--- NEW FILE: libpcre1.patch ---
diff -ru pcre-8.32.orig/pcre_jit_compile.c pcre-8.32/pcre_jit_compile.c
--- pcre-8.32.orig/pcre_jit_compile.c   2012-11-11 15:23:45.000000000 -0500
+++ pcre-8.32/pcre_jit_compile.c        2013-01-27 22:01:19.000000000 -0500
@@ -2696,10 +2696,10 @@
   {
   SLJIT_ASSERT(common->first_line_end != 0);
   OP1(SLJIT_MOV, TMP3, 0, STR_END, 0);
-  OP2(SLJIT_SUB, STR_END, 0, SLJIT_MEM1(SLJIT_LOCALS_REG), 
common->first_line_end, SLJIT_IMM, (location >> 1) - 1);
+  OP2(SLJIT_SUB, STR_END, 0, SLJIT_MEM1(SLJIT_LOCALS_REG), 
common->first_line_end, SLJIT_IMM, IN_UCHARS((location >> 1) - 1));
   }
 else
-  OP2(SLJIT_SUB, STR_END, 0, STR_END, 0, SLJIT_IMM, (location >> 1) - 1);
+  OP2(SLJIT_SUB, STR_END, 0, STR_END, 0, SLJIT_IMM, IN_UCHARS((location >> 1) 
- 1));
 
 start = LABEL();
 quit = CMP(SLJIT_C_GREATER_EQUAL, STR_PTR, 0, STR_END, 0);
@@ -2728,7 +2728,7 @@
 if (firstline)
   OP1(SLJIT_MOV, STR_END, 0, TMP3, 0);
 else
-  OP2(SLJIT_ADD, STR_END, 0, STR_END, 0, SLJIT_IMM, (location >> 1) - 1);
+  OP2(SLJIT_ADD, STR_END, 0, STR_END, 0, SLJIT_IMM, IN_UCHARS((location >> 1) 
- 1));
 return TRUE;
 }
 
@@ -3577,7 +3577,7 @@
 #endif
 
   context->length -= IN_UCHARS(1);
-#if defined SLJIT_UNALIGNED && SLJIT_UNALIGNED
+#if (defined SLJIT_UNALIGNED && SLJIT_UNALIGNED) && (defined COMPILE_PCRE8 || 
defined COMPILE_PCRE16)
 
   /* Unaligned read is supported. */
   if (othercasebit != 0 && othercasechar == cc)
@@ -3594,27 +3594,18 @@
 
 #if defined COMPILE_PCRE8
   if (context->ucharptr >= 4 || context->length == 0 || (context->ucharptr == 
2 && context->length == 1))
-#elif defined COMPILE_PCRE16
+#else
   if (context->ucharptr >= 2 || context->length == 0)
-#elif defined COMPILE_PCRE32
-  if (1 /* context->ucharptr >= 1 || context->length == 0 */)
 #endif
     {
-#if defined COMPILE_PCRE8 || defined COMPILE_PCRE16
     if (context->length >= 4)
       OP1(SLJIT_MOV_SI, context->sourcereg, 0, SLJIT_MEM1(STR_PTR), 
-context->length);
-#if defined COMPILE_PCRE8
     else if (context->length >= 2)
       OP1(SLJIT_MOV_UH, context->sourcereg, 0, SLJIT_MEM1(STR_PTR), 
-context->length);
+#if defined COMPILE_PCRE8
     else if (context->length >= 1)
       OP1(SLJIT_MOV_UB, context->sourcereg, 0, SLJIT_MEM1(STR_PTR), 
-context->length);
-#elif defined COMPILE_PCRE16
-    else if (context->length >= 2)
-      OP1(SLJIT_MOV_UH, context->sourcereg, 0, SLJIT_MEM1(STR_PTR), 
-context->length);
-#endif /* COMPILE_PCRE[8|16] */
-#elif defined COMPILE_PCRE32
-    OP1(MOV_UCHAR, context->sourcereg, 0, SLJIT_MEM1(STR_PTR), 
-context->length);
-#endif /* COMPILE_PCRE[8|16|32] */
+#endif /* COMPILE_PCRE8 */
     context->sourcereg = context->sourcereg == TMP1 ? TMP2 : TMP1;
 
     switch(context->ucharptr)
@@ -3625,7 +3616,6 @@
       add_jump(compiler, backtracks, CMP(SLJIT_C_NOT_EQUAL, 
context->sourcereg, 0, SLJIT_IMM, context->c.asint | context->oc.asint));
       break;
 
-#if defined COMPILE_PCRE8 || defined COMPILE_PCRE16
       case 2 / sizeof(pcre_uchar):
       if (context->oc.asushort != 0)
         OP2(SLJIT_OR, context->sourcereg, 0, context->sourcereg, 0, SLJIT_IMM, 
context->oc.asushort);
@@ -3640,8 +3630,6 @@
       break;
 #endif
 
-#endif /* COMPILE_PCRE[8|16] */
-
       default:
       SLJIT_ASSERT_STOP();
       break;
@@ -3651,8 +3639,8 @@
 
 #else
 
-  /* Unaligned read is unsupported. */
-  if (context->length > 0)
+  /* Unaligned read is unsupported or in 32 bit mode. */
+  if (context->length >= 1)
     OP1(MOV_UCHAR, context->sourcereg, 0, SLJIT_MEM1(STR_PTR), 
-context->length);
 
   context->sourcereg = context->sourcereg == TMP1 ? TMP2 : TMP1;

Index: libpcre1.info
===================================================================
RCS file: /cvsroot/fink/dists/10.4/stable/main/finkinfo/libs/libpcre1.info,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- libpcre1.info       13 Dec 2012 02:23:40 -0000      1.7
+++ libpcre1.info       28 Jan 2013 03:21:49 -0000      1.8
@@ -1,7 +1,7 @@
 Info4: <<
 Package: libpcre1%type_pkg[-64bit]
 Version: 8.32
-Revision: 1
+Revision: 2
 Type: -64bit (boolean)
 Architecture: ( %type_raw[-64bit] = -64bit ) powerpc, ( %type_raw[-64bit] = 
-64bit ) i386
 Distribution: ( %type_raw[-64bit] = -64bit ) 10.5, ( %type_raw[-64bit] = 
-64bit ) 10.6
@@ -14,6 +14,10 @@
 #Source: mirror:sourceforge:pcre/pcre-%v.tar.bz2
 Source: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-%v.tar.bz2
 Source-MD5: 62f02a76bb57a40bc66681760ed511d5
+
+PatchFile: %{ni}.patch
+PatchFile-MD5: 6e02c85d8c5b484c604a82961ec4fcda
+
 NoSetLDFLAGS: true
 NoSetCPPFLAGS: true
 ConfigureParams: <<
@@ -21,7 +25,7 @@
        --enable-shared \
        --disable-static \
        --enable-pcre16 \
-       --disable-pcre32 \
+       --enable-pcre32 \
        --enable-utf \
        --enable-unicode-properties \
        --enable-pcregrep-libz \
@@ -56,10 +60,11 @@
 SplitOff2: <<
   Package: %N-shlibs
   Depends: ( %type_raw[-64bit] = -64bit ) 64bit-cpu
-  Files: %lib/%{Ni}/libpcre.*.dylib %lib/%{Ni}/libpcre16.*.dylib  
%lib/%{Ni}/libpcreposix.*.dylib %lib/%{Ni}/libpcrecpp.*.dylib
+  Files: %lib/%{Ni}/libpcre.*.dylib %lib/%{Ni}/libpcre16.*.dylib  
%lib/%{Ni}/libpcre32.*.dylib %lib/%{Ni}/libpcreposix.*.dylib 
%lib/%{Ni}/libpcrecpp.*.dylib
   Shlibs: <<
    %p/%lib/%{Ni}/libpcre.1.dylib 4.0.0 %n (>= 8.32-1) %type_num[-64bit]
    %p/%lib/%{Ni}/libpcre16.0.dylib 3.0.0 %n (>= 8.32-1) %type_num[-64bit]
+   %p/%lib/%{Ni}/libpcre32.0.dylib 1.0.0 %n (>= 8.32-2) %type_num[-64bit]
    %p/%lib/%{Ni}/libpcreposix.0.dylib 1.0.0 %n (>= 8.30-1) %type_num[-64bit]
    %p/%lib/%{Ni}/libpcrecpp.0.dylib 1.0.0 %n (>= 8.30-1) %type_num[-64bit]
   <<
@@ -83,6 +88,7 @@
   ln -s %{Ni}/*.la %i/%lib
   ln -s %{Ni}/libpcre.dylib %i/%lib
   ln -s %{Ni}/libpcre16.dylib %i/%lib
+  ln -s %{Ni}/libpcre32.dylib %i/%lib
   ln -s %{Ni}/libpcrecpp.dylib %i/%lib
   ln -s %{Ni}/libpcreposix.dylib %i/%lib
 <<
@@ -95,8 +101,8 @@
   its own native API, as well as a set of wrapper functions that correspond
   to the POSIX regular expression API and a C++ wrapper library.
   
-  Now includes the 16 bit libpcre16.dylib library.The libpcre.dylib library
-  continues to be used for 8 bit strings.
+  Now includes the 16 bit libpcre16.dylib and 32 bit libpcre32.dylib libraries.
+  The libpcre.dylib library continues to be used for 8 bit strings.
   
   Previous revisions by Christian Swinehart <cswineh...@users.sourceforge.net>
 <<
@@ -107,7 +113,7 @@
   
   Disabled static libs and cleaned dependency_libs in *.la files.
   
-  Disable new 32 bit library since its tests segfault.
+  Include upstream patch from revision 1242 to fix 32 bit library.
 <<
 Homepage: http://www.pcre.org
 Maintainer: Daniel Johnson <dan...@daniel-johnson.org>


------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
_______________________________________________
Fink-commits mailing list
Fink-commits@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.cvs

Reply via email to