-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py.in
49 lines (41 loc) · 1.63 KB
/
setup.py.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/usr/bin/env python
from distutils.core import setup, Extension
import distutils.file_util
import distutils.dir_util
from distutils.command.build import build
import os
import os.path
so_ext = "@SOEXT@"
libghdl_version = "@libghdl_version@"
class GHDLBuild(build):
def my_copy_tree(self, src, dst):
"""Tuned version of copy_tree: exclude .o files"""
distutils.dir_util.mkpath(dst, verbose=True)
for n in os.listdir(src):
src_name = os.path.join(src, n)
dst_name = os.path.join(dst, n)
if os.path.isdir(src_name):
self.my_copy_tree(src_name, dst_name)
elif not src_name.endswith(".o"):
distutils.file_util.copy_file(src_name, dst_name)
def run(self):
# Run original build code
build.run(self)
# Copy VHDL libraries & shared library
dstdir = os.path.join(self.build_lib, 'libghdl')
libghdl_filename = "libghdl-" + libghdl_version + so_ext
distutils.file_util.copy_file(libghdl_filename, dstdir)
with open(os.path.join(dstdir, "config.py"), 'w') as f:
f.write('libghdl_filename="{}"\n'.format(libghdl_filename))
self.my_copy_tree(os.path.join("lib", "ghdl"),
os.path.join(dstdir, "ghdl"))
setup (name='libghdl',
version='0.35',
description = 'Interface to ghdl, a VHDL analyzer',
author = 'Tristan Gingold',
author_email = '[email protected]',
url = 'github.com/ghdl/ghdl',
package_dir = {'libghdl' : 'src/vhdl/python/libghdl'},
packages = ['libghdl'],
cmdclass = {
'build': GHDLBuild})