This commit is contained in:
Vitor Santos Costa
2017-09-06 01:09:46 +01:00
parent a115024aee
commit abdc8a35f9
31 changed files with 579 additions and 815 deletions

View File

@@ -5,6 +5,7 @@
# Distributed under the terms of the Modified BSD License.
from __future__ import print_function
import setuptools
from setuptools import setup
from setuptools.extension import Extension
from codecs import open
@@ -49,7 +50,9 @@ from distutils.core import setup
pjoin = os.path.join
here = os.path.abspath(os.path.dirname(__file__))
pkg_root = pjoin(here, name)
#pkg_root = pjoin(here, name)
sys.path.insert(0, "${CMAKE_CURRENT_SOURCE_DIR}")
my_extra_link_args = []
if platform.system() == 'Windows':
@@ -64,13 +67,26 @@ else:
# or dll in glob('yap/dlls/*'):
# move( dll ,'lib' )
cplus = ['']
bpy2yap = []
native_sources = ['yap_wrap.cpp']
here = path.abspath(path.dirname(__file__))
gmp_dir = path.abspath(path.dirname("${GMP_LIBRARIES}"))
python_libdir = path.abspath(path.dirname("${PYTHON_LIBRARIES}"))
native_sources = ["yap.i"]
for i in '${PYTHON_SOURCES}'.split(";"):
copy2(i, 'yap4py')
for i in '${pl_library}'.split(";") + '${pl_swi_library}'.split(";") :
copy2(i, 'yap4py/prolog')
for i in '${pl_os_library}'.split(";") :
copy2(i, 'yap4py/prolog/os')
for i in '${pl_boot_library}'.split(";") :
copy2(i, 'yap4py/prolog/pl')
my_libs0 = '${YAP_DLLS}'.split(";")+['${CMAKE_BINARY_DIR}/startup.yss']
my_libs = []
for i in my_libs0:
my_libs = glob(i) + my_libs
for i in my_libs:
copy2(i, 'yap4py')
bpy2yap = []
here = path.abspath(path.dirname(__file__))
#gmp_dir = path.abspath(path.dirname("${GMP_LIBRARIES}"))
#python_libdir = path.abspath(path.dirname("${PYTHON_LIBRARIES}")
# Get the long description from the README file
@@ -85,8 +101,9 @@ extensions = [Extension('_yap', native_sources,
swig_opts=['-modern', '-c++', '-py3',
'-DX_API', '-I${CMAKE_SOURCE_DIR}/CXX', '-I${CMAKE_SOURCE_DIR}/include',
'-I${CMAKE_SOURCE_DIR}/H', '-I${CMAKE_SOURCE_DIR}/H/generated',
'-I${CMAKE_SOURCE_DIR}/os', '-I${CMAKE_SOURCE_DIR}/OPTYap', '-I../../..'],
library_dirs=['../../..', '../../../CXX', '..', "${dlls}", "${bindir}", 'c:/Anaconda3'],
'-I${CMAKE_SOURCE_DIR}/os', '-I${CMAKE_SOURCE_DIR}/OPTYap',
'-I${CMAKE_SOURCE_DIR}/packages/python'],
library_dirs=['../../..', '../../../CXX', '..', "${bindir}"],
extra_link_args=my_extra_link_args,
libraries=['Yap','gmp']+win_libs+local_libs,
include_dirs=['../../..',
@@ -95,26 +112,18 @@ extensions = [Extension('_yap', native_sources,
'${CMAKE_SOURCE_DIR}/H/generated',
'${CMAKE_SOURCE_DIR}/OPTYap',
'${CMAKE_SOURCE_DIR}/os',
'${CMAKE_SOURCE_DIR}/packages/python',
'${CMAKE_SOURCE_DIR}/include',
'${CMAKE_SOURCE_DIR}/CXX', '.']
)]
)]#
packages = ['yap4py']
packages = packages = setuptools.find_packages('${CMAKE_CURRENT_SOURCE_DIR}')
def visit(d0, pls):
for (r, ds, fs) in walk('.'):
for f in fs:
f0, ext = os.path.splitext(f)
if (ext == 'yap' or ext == 'pl' or ext == 'so' or ext == 'dll' or ext == 'yss'):
pls += [os.path.join(r, f)]
for i in ds:
pls = visit(os.path.join(d0, i), pls)
return pls
package_data = {
'yap4py.prolog': """${PL}""".split(sep=";")
'yap4py/prolog': 'prolog/*.*',
'': '*.*'
}
version_ns = {'__version__': '6.3.5', 'minor-version': '6', 'minor-version': '3', 'patch': '5'}
@@ -124,7 +133,7 @@ setup_args = dict(
version=version_ns['__version__'],
scripts=glob(pjoin('scripts', '*')),
packages=packages,
py_modules=['yap'],
py_modules=['yap','yap4py'],
package_data=package_data,
include_package_data=True,
requirements=[