[pypy-commit] pypy default: Merged in vext01/pypy/better_ftime_detect2 (pull request #201)
rlamy
noreply at buildbot.pypy.org
Tue Dec 3 19:39:52 CET 2013
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch:
Changeset: r68369:d545ceccdf72
Date: 2013-12-03 18:39 +0000
http://bitbucket.org/pypy/pypy/changeset/d545ceccdf72/
Log: Merged in vext01/pypy/better_ftime_detect2 (pull request #201)
On OpenBSD do not pull in libcompat.a as it is about to be removed.
diff --git a/rpython/rtyper/module/ll_time.py b/rpython/rtyper/module/ll_time.py
--- a/rpython/rtyper/module/ll_time.py
+++ b/rpython/rtyper/module/ll_time.py
@@ -86,16 +86,18 @@
c_gettimeofday = self.llexternal('gettimeofday',
[self.TIMEVALP, rffi.VOIDP], rffi.INT,
_nowrapper=True, releasegil=False)
+ c_ftime = None # We have gettimeofday(2), so force ftime(3) OFF.
else:
c_gettimeofday = None
- if self.HAVE_FTIME:
- self.configure(CConfigForFTime)
- c_ftime = self.llexternal(FTIME, [lltype.Ptr(self.TIMEB)],
- lltype.Void,
- _nowrapper=True, releasegil=False)
- else:
- c_ftime = None # to not confuse the flow space
+ # Only look for ftime(3) if gettimeofday(2) was not found.
+ if self.HAVE_FTIME:
+ self.configure(CConfigForFTime)
+ c_ftime = self.llexternal(FTIME, [lltype.Ptr(self.TIMEB)],
+ lltype.Void,
+ _nowrapper=True, releasegil=False)
+ else:
+ c_ftime = None # to not confuse the flow space
c_time = self.llexternal('time', [rffi.VOIDP], rffi.TIME_T,
_nowrapper=True, releasegil=False)
@@ -115,9 +117,9 @@
if rffi.cast(rffi.LONG, errcode) == 0:
result = decode_timeval(t)
lltype.free(t, flavor='raw')
- if result != -1:
- return result
- if self.HAVE_FTIME:
+ if result != -1:
+ return result
+ else: # assume using ftime(3)
t = lltype.malloc(self.TIMEB, flavor='raw')
c_ftime(t)
result = (float(intmask(t.c_time)) +
diff --git a/rpython/translator/platform/openbsd.py b/rpython/translator/platform/openbsd.py
--- a/rpython/translator/platform/openbsd.py
+++ b/rpython/translator/platform/openbsd.py
@@ -13,7 +13,7 @@
] + os.environ.get("CFLAGS", "").split()
def _libs(self, libraries):
- libraries=set(libraries + ("intl", "iconv", "compat"))
+ libraries=set(libraries + ("intl", "iconv"))
return ['-l%s' % lib for lib in libraries if lib not in ["crypt", "dl", "rt"]]
class OpenBSD_64(OpenBSD):
More information about the pypy-commit
mailing list