Merge remote-tracking branch 'origin/master'
This commit is contained in:
38
setup.py
38
setup.py
@@ -28,6 +28,12 @@ try:
|
|||||||
except ImportError:
|
except ImportError:
|
||||||
py2app = None
|
py2app = None
|
||||||
|
|
||||||
|
# make sure our current working directory is the same directory
|
||||||
|
# setup.py is in
|
||||||
|
curdir = os.path.split(sys.argv[0])[0]
|
||||||
|
if curdir:
|
||||||
|
os.chdir(curdir)
|
||||||
|
|
||||||
# now, setup the keyword arguments for setup
|
# now, setup the keyword arguments for setup
|
||||||
# (because we don't know until runtime if py2exe/py2app is available)
|
# (because we don't know until runtime if py2exe/py2app is available)
|
||||||
setup_kwargs = {}
|
setup_kwargs = {}
|
||||||
@@ -39,12 +45,12 @@ setup_kwargs['options'] = {}
|
|||||||
# metadata
|
# metadata
|
||||||
#
|
#
|
||||||
|
|
||||||
# Utility function to read the README file.
|
# Utility function to read the README file.
|
||||||
# Used for the long_description. It's nice, because now 1) we have a top level
|
# Used for the long_description. It's nice, because now 1) we have a top level
|
||||||
# README file and 2) it's easier to type in the README file than to put a raw
|
# README file and 2) it's easier to type in the README file than to put a raw
|
||||||
# string in below ...
|
# string in below ...
|
||||||
def read(fname):
|
def read(fname):
|
||||||
return open(os.path.join(os.path.dirname(__file__), fname)).read()
|
return open(fname).read()
|
||||||
|
|
||||||
setup_kwargs['name'] = 'Minecraft-Overviewer'
|
setup_kwargs['name'] = 'Minecraft-Overviewer'
|
||||||
setup_kwargs['version'] = util.findGitVersion()
|
setup_kwargs['version'] = util.findGitVersion()
|
||||||
@@ -62,7 +68,7 @@ doc_files = ['COPYING.txt', 'README.rst', 'CONTRIBUTORS.rst', 'sample_config.py'
|
|||||||
def recursive_data_files(src, dest=None):
|
def recursive_data_files(src, dest=None):
|
||||||
if dest is None:
|
if dest is None:
|
||||||
dest = src
|
dest = src
|
||||||
|
|
||||||
ret = []
|
ret = []
|
||||||
for dirpath, dirnames, filenames in os.walk(src):
|
for dirpath, dirnames, filenames in os.walk(src):
|
||||||
current_dest = os.path.relpath(dirpath, src)
|
current_dest = os.path.relpath(dirpath, src)
|
||||||
@@ -70,9 +76,9 @@ def recursive_data_files(src, dest=None):
|
|||||||
current_dest = dest
|
current_dest = dest
|
||||||
else:
|
else:
|
||||||
current_dest = os.path.join(dest, current_dest)
|
current_dest = os.path.join(dest, current_dest)
|
||||||
|
|
||||||
current_sources = map(lambda p: os.path.join(dirpath, p), filenames)
|
current_sources = map(lambda p: os.path.join(dirpath, p), filenames)
|
||||||
|
|
||||||
ret.append((current_dest, current_sources))
|
ret.append((current_dest, current_sources))
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
@@ -84,7 +90,7 @@ def recursive_package_data(src, package_dir='overviewer_core'):
|
|||||||
current_path = os.path.relpath(dirpath, package_dir)
|
current_path = os.path.relpath(dirpath, package_dir)
|
||||||
for filename in filenames:
|
for filename in filenames:
|
||||||
ret.append(os.path.join(current_path, filename))
|
ret.append(os.path.join(current_path, filename))
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -147,7 +153,7 @@ except Exception:
|
|||||||
pil_include = [ os.path.join(get_python_inc(plat_specific=1), 'Imaging') ]
|
pil_include = [ os.path.join(get_python_inc(plat_specific=1), 'Imaging') ]
|
||||||
if not os.path.exists(pil_include[0]):
|
if not os.path.exists(pil_include[0]):
|
||||||
pil_include = [ ]
|
pil_include = [ ]
|
||||||
|
|
||||||
|
|
||||||
# used to figure out what files to compile
|
# used to figure out what files to compile
|
||||||
# auto-created from files in primitives/, but we need the raw names so
|
# auto-created from files in primitives/, but we need the raw names so
|
||||||
@@ -179,28 +185,28 @@ class CustomClean(clean):
|
|||||||
def run(self):
|
def run(self):
|
||||||
# do the normal cleanup
|
# do the normal cleanup
|
||||||
clean.run(self)
|
clean.run(self)
|
||||||
|
|
||||||
# try to remove '_composite.{so,pyd,...}' extension,
|
# try to remove '_composite.{so,pyd,...}' extension,
|
||||||
# regardless of the current system's extension name convention
|
# regardless of the current system's extension name convention
|
||||||
build_ext = self.get_finalized_command('build_ext')
|
build_ext = self.get_finalized_command('build_ext')
|
||||||
ext_fname = build_ext.get_ext_filename('overviewer_core.c_overviewer')
|
ext_fname = build_ext.get_ext_filename('overviewer_core.c_overviewer')
|
||||||
versionpath = os.path.join("overviewer_core", "overviewer_version.py")
|
versionpath = os.path.join("overviewer_core", "overviewer_version.py")
|
||||||
primspath = os.path.join("overviewer_core", "src", "primitives.h")
|
primspath = os.path.join("overviewer_core", "src", "primitives.h")
|
||||||
|
|
||||||
for fname in [ext_fname, primspath]:
|
for fname in [ext_fname, primspath]:
|
||||||
if os.path.exists(fname):
|
if os.path.exists(fname):
|
||||||
try:
|
try:
|
||||||
log.info("removing '%s'", fname)
|
log.info("removing '%s'", fname)
|
||||||
if not self.dry_run:
|
if not self.dry_run:
|
||||||
os.remove(fname)
|
os.remove(fname)
|
||||||
|
|
||||||
except OSError:
|
except OSError:
|
||||||
log.warn("'%s' could not be cleaned -- permission denied",
|
log.warn("'%s' could not be cleaned -- permission denied",
|
||||||
fname)
|
fname)
|
||||||
else:
|
else:
|
||||||
log.debug("'%s' does not exist -- can't clean it",
|
log.debug("'%s' does not exist -- can't clean it",
|
||||||
fname)
|
fname)
|
||||||
|
|
||||||
# now try to purge all *.pyc files
|
# now try to purge all *.pyc files
|
||||||
for root, dirs, files in os.walk(os.path.join(os.path.dirname(__file__), ".")):
|
for root, dirs, files in os.walk(os.path.join(os.path.dirname(__file__), ".")):
|
||||||
for f in files:
|
for f in files:
|
||||||
@@ -227,7 +233,7 @@ def generate_version_py():
|
|||||||
def generate_primitives_h():
|
def generate_primitives_h():
|
||||||
global primitives
|
global primitives
|
||||||
prims = [p.lower().replace('-', '_') for p in primitives]
|
prims = [p.lower().replace('-', '_') for p in primitives]
|
||||||
|
|
||||||
outstr = "/* this file is auto-generated by setup.py */\n"
|
outstr = "/* this file is auto-generated by setup.py */\n"
|
||||||
for p in prims:
|
for p in prims:
|
||||||
outstr += "extern RenderPrimitiveInterface primitive_{0};\n".format(p)
|
outstr += "extern RenderPrimitiveInterface primitive_{0};\n".format(p)
|
||||||
@@ -236,7 +242,7 @@ def generate_primitives_h():
|
|||||||
outstr += " &primitive_{0},\n".format(p)
|
outstr += " &primitive_{0},\n".format(p)
|
||||||
outstr += " NULL\n"
|
outstr += " NULL\n"
|
||||||
outstr += "};\n"
|
outstr += "};\n"
|
||||||
|
|
||||||
with open("overviewer_core/src/primitives.h", "w") as f:
|
with open("overviewer_core/src/primitives.h", "w") as f:
|
||||||
f.write(outstr)
|
f.write(outstr)
|
||||||
|
|
||||||
@@ -268,7 +274,9 @@ class CustomBuildExt(build_ext):
|
|||||||
e.extra_compile_args.append("-Wno-unused-variable") # quell some annoying warnings
|
e.extra_compile_args.append("-Wno-unused-variable") # quell some annoying warnings
|
||||||
e.extra_compile_args.append("-Wno-unused-function") # quell some annoying warnings
|
e.extra_compile_args.append("-Wno-unused-function") # quell some annoying warnings
|
||||||
e.extra_compile_args.append("-Wdeclaration-after-statement")
|
e.extra_compile_args.append("-Wdeclaration-after-statement")
|
||||||
e.extra_compile_args.append("-Werror=declaration-after-statement")
|
p = platform.linux_distribution()
|
||||||
|
if not (p[0] == 'CentOS' and p[1][0] == '5'):
|
||||||
|
e.extra_compile_args.append("-Werror=declaration-after-statement")
|
||||||
|
|
||||||
|
|
||||||
# build in place, and in the build/ tree
|
# build in place, and in the build/ tree
|
||||||
@@ -276,7 +284,7 @@ class CustomBuildExt(build_ext):
|
|||||||
build_ext.build_extensions(self)
|
build_ext.build_extensions(self)
|
||||||
self.inplace = True
|
self.inplace = True
|
||||||
build_ext.build_extensions(self)
|
build_ext.build_extensions(self)
|
||||||
|
|
||||||
|
|
||||||
setup_kwargs['cmdclass']['clean'] = CustomClean
|
setup_kwargs['cmdclass']['clean'] = CustomClean
|
||||||
setup_kwargs['cmdclass']['sdist'] = CustomSDist
|
setup_kwargs['cmdclass']['sdist'] = CustomSDist
|
||||||
|
|||||||
Reference in New Issue
Block a user