mirror of https://github.com/VLSIDA/OpenRAM.git
Add setup files for package
This commit is contained in:
parent
9b6eb4a120
commit
dc9d1e00d8
|
|
@ -0,0 +1,12 @@
|
||||||
|
include requirements.txt
|
||||||
|
include docker/*
|
||||||
|
recursive-include compiler *
|
||||||
|
recursive-include technology *
|
||||||
|
exclude compiler/gen_stimulus.py
|
||||||
|
exclude compiler/model_data_util.py
|
||||||
|
exclude compiler/printGDS.py
|
||||||
|
exclude compiler/processGDS.py
|
||||||
|
exclude compiler/uniquifyGDS.py
|
||||||
|
exclude compiler/view_profile.py
|
||||||
|
exclude compiler/run_profile.sh
|
||||||
|
global-exclude *.pyc
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
# See LICENSE for licensing information.
|
||||||
|
#
|
||||||
|
# Copyright (c) 2016-2021 Regents of the University of California and The Board
|
||||||
|
# of Regents for the Oklahoma Agricultural and Mechanical College
|
||||||
|
# (acting for and on behalf of Oklahoma State University)
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# Attempt to add the source code to the PYTHONPATH here before running globals.init_openram().
|
||||||
|
try:
|
||||||
|
OPENRAM_HOME = os.path.abspath(os.environ.get("OPENRAM_HOME"))
|
||||||
|
except:
|
||||||
|
import openram
|
||||||
|
OPENRAM_HOME = os.path.dirname(openram.__file__)
|
||||||
|
|
||||||
|
if not os.path.isdir(OPENRAM_HOME):
|
||||||
|
assert False
|
||||||
|
|
||||||
|
if OPENRAM_HOME not in sys.path:
|
||||||
|
sys.path.insert(0, OPENRAM_HOME)
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
[build-system]
|
||||||
|
requires = ["setuptools"]
|
||||||
|
build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
|
[project]
|
||||||
|
name = "openram"
|
||||||
|
version = "1.2.0"
|
||||||
|
description = "An open-source static random access memory (SRAM) compiler"
|
||||||
|
authors = [
|
||||||
|
{ name="Matthew Guthaus", email="mrg@ucsc.edu" },
|
||||||
|
]
|
||||||
|
keywords = [ "sram", "magic", "gds", "netgen", "ngspice", "netlist" ]
|
||||||
|
readme = "README.md"
|
||||||
|
license = { text = "BSD-3-Clause License" }
|
||||||
|
requires-python = ">=3.6"
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
# See LICENSE for licensing information.
|
||||||
|
#
|
||||||
|
# Copyright (c) 2016-2021 Regents of the University of California and The Board
|
||||||
|
# of Regents for the Oklahoma Agricultural and Mechanical College
|
||||||
|
# (acting for and on behalf of Oklahoma State University)
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
from setuptools import setup, find_namespace_packages
|
||||||
|
|
||||||
|
|
||||||
|
# Include these folder from the root of repo as submodules
|
||||||
|
include = ["docker", "technology"]
|
||||||
|
# Exclude files/folders with these words
|
||||||
|
exclude = ["docs", "images", "macros"]
|
||||||
|
|
||||||
|
|
||||||
|
# Find all modules inside the 'compiler' folder
|
||||||
|
dirs = []
|
||||||
|
for dir in find_namespace_packages():
|
||||||
|
if any(x in dir for x in exclude):
|
||||||
|
continue
|
||||||
|
dirs.append(dir)
|
||||||
|
|
||||||
|
# Replace 'compiler' with 'openram' for package names
|
||||||
|
packages = []
|
||||||
|
for dir in dirs:
|
||||||
|
packages += [dir.replace("compiler", "openram")]
|
||||||
|
|
||||||
|
# Make the included folders submodules of openram package
|
||||||
|
for i in range(len(packages)):
|
||||||
|
if any(x in packages[i] for x in include):
|
||||||
|
packages[i] = "openram." + packages[i]
|
||||||
|
|
||||||
|
# Fix directory paths
|
||||||
|
for i in range(len(dirs)):
|
||||||
|
dirs[i] = dirs[i].replace(".", "/")
|
||||||
|
|
||||||
|
# Zip package names and their paths
|
||||||
|
package_dir = {k: v for k, v in zip(packages, dirs)}
|
||||||
|
|
||||||
|
|
||||||
|
# Create a list of required packages
|
||||||
|
with open("requirements.txt") as f:
|
||||||
|
reqs = f.read().splitlines()
|
||||||
|
|
||||||
|
|
||||||
|
# Call the setup to create the package
|
||||||
|
setup(
|
||||||
|
packages=packages,
|
||||||
|
package_dir=package_dir,
|
||||||
|
include_package_data=True,
|
||||||
|
# install_requires=reqs,
|
||||||
|
)
|
||||||
Loading…
Reference in New Issue