[70897] trunk/dports/devel/orc

michaelld at macports.org michaelld at macports.org
Wed Aug 25 06:25:28 PDT 2010


Revision: 70897
          http://trac.macports.org/changeset/70897
Author:   michaelld at macports.org
Date:     2010-08-25 06:25:27 -0700 (Wed, 25 Aug 2010)
Log Message:
-----------
Patch 'orc' to dynamically test for and use the functions
'posix_memalign' and 'valloc'.  Addresses ticket #26209.

Modified Paths:
--------------
    trunk/dports/devel/orc/Portfile

Added Paths:
-----------
    trunk/dports/devel/orc/files/
    trunk/dports/devel/orc/files/patch_config.h.in.diff
    trunk/dports/devel/orc/files/patch_configure.diff
    trunk/dports/devel/orc/files/patch_orc-test_orcarray.c.diff

Modified: trunk/dports/devel/orc/Portfile
===================================================================
--- trunk/dports/devel/orc/Portfile	2010-08-25 13:12:57 UTC (rev 70896)
+++ trunk/dports/devel/orc/Portfile	2010-08-25 13:25:27 UTC (rev 70897)
@@ -16,6 +16,10 @@
                     sha1    b1078d4dde51cb413f637a9c8b2845f8cc3ffd9a \
                     rmd160  360cdda369d8b146774e32c4d1d7a8879be0155c
 
+patchfiles          patch-configure.diff \
+                    patch_orc-test_orcarray.c.diff \
+                    patch-config.h.in.diff
+
 livecheck.type      regex
 livecheck.url       ${master_sites}
 livecheck.regex     "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"

Added: trunk/dports/devel/orc/files/patch_config.h.in.diff
===================================================================
--- trunk/dports/devel/orc/files/patch_config.h.in.diff	                        (rev 0)
+++ trunk/dports/devel/orc/files/patch_config.h.in.diff	2010-08-25 13:25:27 UTC (rev 70897)
@@ -0,0 +1,22 @@
+--- config.h.in.orig	2010-08-25 09:12:24.000000000 -0400
++++ config.h.in	2010-08-25 09:12:53.000000000 -0400
+@@ -69,6 +69,9 @@
+ /* Defined if host OS is MS Windows */
+ #undef HAVE_OS_WIN32
+ 
++/* Define to 1 if you have the `posix_memalign' function. */
++#undef HAVE_POSIX_MEMALIGN
++
+ /* Defined if host is powerpc */
+ #undef HAVE_POWERPC
+ 
+@@ -111,6 +114,9 @@
+ /* Define to 1 if you have the <unistd.h> header file. */
+ #undef HAVE_UNISTD_H
+ 
++/* Define to 1 if you have the `valloc' function. */
++#undef HAVE_VALLOC
++
+ /* Define to the sub-directory in which libtool stores uninstalled libraries.
+    */
+ #undef LT_OBJDIR

Added: trunk/dports/devel/orc/files/patch_configure.diff
===================================================================
--- trunk/dports/devel/orc/files/patch_configure.diff	                        (rev 0)
+++ trunk/dports/devel/orc/files/patch_configure.diff	2010-08-25 13:25:27 UTC (rev 70897)
@@ -0,0 +1,30 @@
+--- configure_orig	2010-08-25 09:05:52.000000000 -0400
++++ configure	2010-08-25 09:05:26.000000000 -0400
+@@ -12715,6 +12715,27 @@
+ fi
+ done
+ 
++for ac_func in posix_memalign
++do :
++  ac_fn_c_check_func "$LINENO" "posix_memalign" "ac_cv_func_posix_memalign"
++if test "x$ac_cv_func_posix_memalign" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_POSIX_MEMALIGN 1
++_ACEOF
++
++fi
++done
++
++for ac_func in valloc
++do :
++  ac_fn_c_check_func "$LINENO" "valloc" "ac_cv_func_valloc"
++if test "x$ac_cv_func_valloc" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_VALLOC 1
++_ACEOF
++
++fi
++done
+ 
+ LIBM=
+ case $host in

Added: trunk/dports/devel/orc/files/patch_orc-test_orcarray.c.diff
===================================================================
--- trunk/dports/devel/orc/files/patch_orc-test_orcarray.c.diff	                        (rev 0)
+++ trunk/dports/devel/orc/files/patch_orc-test_orcarray.c.diff	2010-08-25 13:25:27 UTC (rev 70897)
@@ -0,0 +1,25 @@
+--- orc-test/orcarray.c.orig	2010-08-25 09:19:38.000000000 -0400
++++ orc-test/orcarray.c	2010-08-25 09:20:08.000000000 -0400
+@@ -1,3 +1,6 @@
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
+ 
+ #include <orc-test/orctest.h>
+ #include <orc-test/orcarray.h>
+@@ -39,8 +42,15 @@
+   ar->stride = (ar->stride + (ALIGNMENT-1)) & (~(ALIGNMENT-1));
+   ar->alloc_len = ar->stride * (m+2*EXTEND_ROWS) + (ALIGNMENT * element_size);
+ 
++#if defined (HAVE_POSIX_MEMALIGN)
+   ret = posix_memalign (&data, ALIGNMENT, ar->alloc_len);
+   ar->alloc_data = data;
++#elif defined (HAVE_VALLOC)
++  /* wasteful alignment to PAGESIZE instead of 64, but it should work */
++  ar->alloc_data = valloc (ar->alloc_len);
++#else
++  #error "No way to allocate aligned memory."
++#endif
+ 
+   ar->data = ORC_PTR_OFFSET (ar->alloc_data,
+       ar->stride * EXTEND_ROWS + element_size * misalignment);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100825/dbae13e1/attachment.html>


More information about the macports-changes mailing list