setup.py 1.62 KB
from distutils.core import setup, Extension, os
import platform

include_dirs = ['src/include']
library_dirs = []
extra_link_args = []

if platform.system() == 'Windows':
	include_dirs.append(os.getenv('PW3270_SDK_PATH') + '/include')
	library_dirs.append(os.getenv('PW3270_SDK_PATH') + '/lib')

	with open(os.getenv('PW3270_SDK_PATH') + "\\lib3270.mak") as file:
		text = file.readlines()

		for line in text:
			if line.startswith("LIB3270_NAME="):
				extra_link_args.append("/delayload:" + line.split("=")[1].rstrip("\r").rstrip("\n") + ".dll")

tn3270 = Extension(
		'tn3270',
		include_dirs = include_dirs,
		libraries = ['ipc3270'],
		library_dirs=library_dirs,
		extra_link_args=extra_link_args,
		sources = [
			'src/action/type.c',
			'src/module/init.c',
			'src/session/type.c',
			'src/action/init.cc',
			'src/action/methods.cc',
			'src/action/new.cc',
			'src/action/tools.cc',
			'src/module/properties.cc',
			'src/session/network.cc',
			'src/session/tools.cc',
			'src/session/get.cc',
			'src/session/init.cc',
			'src/session/wait.cc',
			'src/session/misc.cc',
			'src/session/set.cc',
			'src/session/attributes.cc',
			'src/session/actions.cc',
			'src/module/windows/init.cc',
			'src/module/windows/tools.cc'
		])

setup ( name = 'tn3270',
	version = '5.2',
	description = 'Python bindings for lib3270/pw3270.',
	author = 'Perry Werneck',
	author_email = 'perry.werneck@gmail.com',
	url = 'https://github.com/PerryWerneck/python3-tn3270',
	long_description = '''
This is an extension allowing tn3270 acess for python applications
using lib3270 directly or ipc calls to an enabled pw3270 window.
''',
	ext_modules = [ tn3270 ])