[74369] trunk/base/src/darwintracelib1.0
jmr at macports.org
jmr at macports.org
Tue Dec 14 03:05:14 PST 2010
Revision: 74369
http://trac.macports.org/changeset/74369
Author: jmr at macports.org
Date: 2010-12-14 03:05:07 -0800 (Tue, 14 Dec 2010)
Log Message:
-----------
only use stat64 and friends when available, as per jeremyhu's suggestion on the list
Modified Paths:
--------------
trunk/base/src/darwintracelib1.0/Makefile
trunk/base/src/darwintracelib1.0/darwintrace.c
Modified: trunk/base/src/darwintracelib1.0/Makefile
===================================================================
--- trunk/base/src/darwintracelib1.0/Makefile 2010-12-14 10:54:46 UTC (rev 74368)
+++ trunk/base/src/darwintracelib1.0/Makefile 2010-12-14 11:05:07 UTC (rev 74369)
@@ -7,8 +7,6 @@
include ../../Mk/macports.autoconf.mk
CFLAGS+= -fPIC
-# will need to update this to cope with 64-bit inodes someday
-CPPFLAGS+= -D_DARWIN_NO_64_BIT_INODE
all:: ${SHLIB_NAME}
Modified: trunk/base/src/darwintracelib1.0/darwintrace.c
===================================================================
--- trunk/base/src/darwintracelib1.0/darwintrace.c 2010-12-14 10:54:46 UTC (rev 74368)
+++ trunk/base/src/darwintracelib1.0/darwintrace.c 2010-12-14 11:05:07 UTC (rev 74369)
@@ -38,6 +38,19 @@
#include <config.h>
#endif
+#if HAVE_SYS_CDEFS_H
+#include <sys/cdefs.h>
+#endif
+#if defined(_DARWIN_FEATURE_64_BIT_INODE) && !defined(_DARWIN_FEATURE_ONLY_64_BIT_INODE)
+/* The architecture we're building for has multiple versions of stat.
+ We need to undo sys/cdefs.h changes for _DARWIN_FEATURE_64_BIT_INODE */
+#undef __DARWIN_64_BIT_INO_T
+#define __DARWIN_64_BIT_INO_T 0
+#undef __DARWIN_SUF_64_BIT_INO_T
+#define __DARWIN_SUF_64_BIT_INO_T ""
+#undef _DARWIN_FEATURE_64_BIT_INODE
+#endif
+
#ifdef HAVE_CRT_EXTERNS_H
#include <crt_externs.h>
#endif
@@ -465,8 +478,6 @@
*/
static int is_directory(const char * path)
{
-/* will need to update this to cope with 64-bit inodes someday - for now, we
- build with -D_DARWIN_NO_64_BIT_INODE */
#define stat(path, sb) syscall(SYS_stat, path, sb)
struct stat s;
if(stat(path, &s)==-1)
@@ -922,6 +933,8 @@
#undef stat
}
+#if defined(__DARWIN_64_BIT_INO_T) && !defined(_DARWIN_FEATURE_ONLY_64_BIT_INODE)
+
int stat64(const char * path, struct stat64 * sb)
{
#define stat64(path, sb) syscall(SYS_stat64, path, sb)
@@ -950,6 +963,9 @@
return stat64(path, sb);
}
+#endif /* defined(__DARWIN_64_BIT_INO_T) && !defined(_DARWIN_FEATURE_ONLY_64_BIT_INODE) */
+
+
int lstat(const char * path, struct stat * sb)
{
#define lstat(path, sb) syscall(SYS_lstat, path, sb)
@@ -973,6 +989,8 @@
#undef lstat
}
+#if defined(__DARWIN_64_BIT_INO_T) && !defined(_DARWIN_FEATURE_ONLY_64_BIT_INODE)
+
int lstat64(const char * path, struct stat64 * sb)
{
#define lstat64(path, sb) syscall(SYS_lstat64, path, sb)
@@ -1000,3 +1018,5 @@
{
return lstat64(path, sb);
}
+
+#endif /* defined(__DARWIN_64_BIT_INO_T) && !defined(_DARWIN_FEATURE_ONLY_64_BIT_INODE) */
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20101214/489b1dc0/attachment.html>
More information about the macports-changes
mailing list