1# Copyright (c) 2010, Tomohiro Kusumi 2# All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are met: 6# 7# 1. Redistributions of source code must retain the above copyright notice, this 8# list of conditions and the following disclaimer. 9# 2. Redistributions in binary form must reproduce the above copyright notice, 10# this list of conditions and the following disclaimer in the documentation 11# and/or other materials provided with the distribution. 12# 13# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 14# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 17# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 18# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 19# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 20# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 22# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 24if __name__ == '__main__': 25 import os 26 import sys 27 28 if not os.path.isfile("./setup.py") or not os.path.isdir("./src"): 29 sys.stderr.write("Invalid current directory %s\n" % os.getcwd()) 30 sys.exit(1) 31 32 import src.nodep 33 src.nodep.test() 34 pkg = src.nodep.get_package_name() 35 36 from distutils.core import setup, Extension 37 import src.version 38 39 # The C extension is enabled by default. 40 ext_modules = [Extension(pkg + "._native", ["src/_native.c"])] 41 42 # Ignore C extension if --no-native is specified. 43 s = "--no-native" 44 if s in sys.argv: 45 ext_modules = None 46 while s in sys.argv: 47 sys.argv.remove(s) 48 49 # Force Windows specific behavior. 50 if src.nodep.is_windows(): 51 ext_modules = None 52 f = "bin/fileobj.py" 53 else: 54 f = "bin/fileobj" 55 assert os.path.isfile(f), f 56 57 # Two warnings expected on sdist. 58 # warning: sdist: missing meta-data: if 'author' supplied, 'author_email' must be supplied too 59 # warning: sdist: standard file not found: should have one of README, README.txt 60 61 setup(name = "fileobj", 62 version = src.version.__version__, 63 author = "Tomohiro Kusumi", 64 url = "https://sourceforge.net/projects/fileobj/", 65 description = "Ncurses based hex editor with vi interface", 66 license = "BSD License (2-clause)", 67 scripts = [f], 68 packages = [pkg, pkg + ".ext"], 69 package_dir = {pkg : "src", pkg + ".ext" : "src/ext",}, 70 ext_modules = ext_modules,) 71