Commit 31c0a458 authored by Kirill Smelkov's avatar Kirill Smelkov

Merge branch 't2' into t

* t2:
  ~ MOSTLY OK
  .
  .
  .
  .
  .
  .
parents 76feca9e 8382c9af
# setup to run tests on Nexedi testing infrastructure. # setup to run tests on Nexedi testing infrastructure.
# https://stack.nexedi.com/test_status # https://stack.nexedi.com/test_status
storv = ['fs', 'zeo', 'neo'] # storage backends to test against storv = ['fs', 'zeo', 'neo'] # storage backends to test against
# XXX ci
# some bugs are only likely to trigger when there is only 1 or 2 main OS thread(s) in wcfs # some bugs are only likely to trigger when there is only 1 or 2 main OS thread(s) in wcfs
# GOMAXPROCS='' means use `nproc` # GOMAXPROCS='' means use `nproc`
......
...@@ -182,7 +182,7 @@ void dump_traceback(int fd) ...@@ -182,7 +182,7 @@ void dump_traceback(int fd)
void *pcv[256]; void *pcv[256];
int n; int n;
/* XXX better use https://github.com/ianlancetaylor/libbacktrace /* TODO better use https://github.com/ianlancetaylor/libbacktrace
* because backtrace_symbols often does not provide symbolic information */ * because backtrace_symbols often does not provide symbolic information */
n = backtrace(pcv, 256); n = backtrace(pcv, 256);
backtrace_symbols_fd(pcv, n, fd); backtrace_symbols_fd(pcv, n, fd);
......
...@@ -28,9 +28,10 @@ from subprocess import Popen, PIPE ...@@ -28,9 +28,10 @@ from subprocess import Popen, PIPE
import os import os
import sys import sys
from errno import EEXIST
# tell cython to resolve `cimport wendelin.*` modules hierarcy starting at top-level. # tell cython to resolve `cimport wendelin.*` modules hierarchy starting at top-level.
# see wendelin.py for details. # see wendelin.py for details.
from Cython.Compiler.Main import Context as CyContext from Cython.Compiler.Main import Context as CyContext
cy_search_inc_dirs = CyContext.search_include_directories cy_search_inc_dirs = CyContext.search_include_directories
...@@ -72,7 +73,7 @@ def _with_defaults(what, *argv, **kw): ...@@ -72,7 +73,7 @@ def _with_defaults(what, *argv, **kw):
else: else:
ccdefault.append('-std=gnu++11') # not c++11 since we use typeof ccdefault.append('-std=gnu++11') # not c++11 since we use typeof
# DSOs are not yet annoated for visibility # DSOs are not yet annotated for visibility
# XXX pyext besides _bigfile.so also cannot do this because PyMODINIT_FUNC # XXX pyext besides _bigfile.so also cannot do this because PyMODINIT_FUNC
# does not include export in it. TODO reenable for _bigfile.so # does not include export in it. TODO reenable for _bigfile.so
""" """
...@@ -86,8 +87,8 @@ def _with_defaults(what, *argv, **kw): ...@@ -86,8 +87,8 @@ def _with_defaults(what, *argv, **kw):
lddefault = [] lddefault = []
# python extensions cannot be built with -Wl,--no-undefined: at runtime # python extensions cannot be built with -Wl,--no-undefined: at runtime
# they links with either python (without libpython) or libpython. linking # they link with either python (without libpython) or libpython. linking
# with both libpython and python would be wrong # with both libpython and python would be wrong.
if what == _DSO: if what == _DSO:
lddefault.append('-Wl,--no-undefined') # check DSO for undefined symbols at link time lddefault.append('-Wl,--no-undefined') # check DSO for undefined symbols at link time
...@@ -95,14 +96,13 @@ def _with_defaults(what, *argv, **kw): ...@@ -95,14 +96,13 @@ def _with_defaults(what, *argv, **kw):
_[0:0] = lddefault _[0:0] = lddefault
kw['extra_link_args'] = _ kw['extra_link_args'] = _
return what(*argv, **kw) return what(*argv, **kw)
def PyGoExt(*argv, **kw): return _with_defaults(_PyGoExt, *argv, **kw) def PyGoExt(*argv, **kw): return _with_defaults(_PyGoExt, *argv, **kw)
def DSO(*argv, **kw): return _with_defaults(_DSO, *argv, **kw) def DSO(*argv, **kw): return _with_defaults(_DSO, *argv, **kw)
# build_py that # build_py that
# - prevents in-tree wendelin.py & setup.py to be installed # - prevents in-tree wendelin.py & setup.py to be installed
# - synthesizes wendelin/__init__.py on install # - synthesizes wendelin/__init__.py on install
...@@ -188,8 +188,13 @@ class build_ext(_build_ext): ...@@ -188,8 +188,13 @@ class build_ext(_build_ext):
# copy wcfs/wcfs built from wcfs.go by make into build/lib.linux-x86_64-2.7/... # copy wcfs/wcfs built from wcfs.go by make into build/lib.linux-x86_64-2.7/...
# so that py packaging tools see built wcfs.go as part of wendelin/wcfs package. # so that py packaging tools see built wcfs.go as part of wendelin/wcfs package.
copy_file('wcfs/wcfs', os.path.join(self.build_lib, 'wendelin/wcfs/wcfs'), dst = os.path.join(self.build_lib, 'wendelin/wcfs')
verbose=self.verbose, dry_run=self.dry_run) try:
os.makedirs(dst)
except OSError as e:
if e.errno != EEXIST:
raise
copy_file('wcfs/wcfs', dst, verbose=self.verbose, dry_run=self.dry_run)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment