mirror of https://github.com/KLayout/klayout.git
220 lines
10 KiB
Python
Executable File
220 lines
10 KiB
Python
Executable File
#! /usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
#===============================================================================
|
|
# File: "macbuild/build4mac_env.py"
|
|
#
|
|
# Here are dictionaries of ...
|
|
# different modules for building KLayout (http://www.klayout.de/index.php)
|
|
# version 0.25 or later on different Apple Mac OSX platforms.
|
|
#
|
|
# This file is imported by 'build4mac.py' script.
|
|
#===============================================================================
|
|
|
|
#-----------------------------------------------------
|
|
# [0] Xcode's tools
|
|
#-----------------------------------------------------
|
|
XcodeToolChain = { 'nameID': '/usr/bin/install_name_tool -id ',
|
|
'nameCH': '/usr/bin/install_name_tool -change '
|
|
}
|
|
|
|
#-----------------------------------------------------
|
|
# [1] Qt
|
|
#-----------------------------------------------------
|
|
Qts = [ 'Qt4MacPorts', 'Qt5MacPorts', 'Qt5Brew' ]
|
|
|
|
#-----------------------------------------------------
|
|
# Whereabout of different components of Qt4
|
|
#-----------------------------------------------------
|
|
# Qt4 from MacPorts (https://www.macports.org/)
|
|
# [Key Type Name] = 'Qt4MacPorts'
|
|
Qt4MacPorts = { 'qmake' : '/opt/local/libexec/qt4/bin/qmake',
|
|
'deploy': '/opt/local/libexec/qt4/bin/macdeployqt'
|
|
}
|
|
|
|
#-----------------------------------------------------
|
|
# Whereabout of different components of Qt5
|
|
#-----------------------------------------------------
|
|
# Qt5 from MacPorts (https://www.macports.org/)
|
|
# [Key Type Name] = 'Qt5MacPorts'
|
|
Qt5MacPorts = { 'qmake' : '/opt/local/libexec/qt5/bin/qmake',
|
|
'deploy': '/opt/local/libexec/qt5/bin/macdeployqt'
|
|
}
|
|
|
|
|
|
# Qt5 from Homebrew (https://brew.sh/)
|
|
# install with 'brew install qt'
|
|
# [Key Type Name] = 'Qt5Brew'
|
|
Qt5Brew = { 'qmake' : '/usr/local/opt/qt/bin/qmake',
|
|
'deploy': '/usr/local/opt/qt/bin/macdeployqt'
|
|
}
|
|
|
|
# Qt5 Custom (https://www1.qt.io/offline-installers/)
|
|
|
|
#-----------------------------------------------------
|
|
# [2] Ruby
|
|
#-----------------------------------------------------
|
|
Rubies = [ 'nil', 'RubyYosemite', 'RubyElCapitan', 'RubySierra', 'RubyHighSierra' ]
|
|
Rubies += [ 'Ruby24SrcBuild', 'Ruby24MacPorts', 'Ruby24Brew' ]
|
|
|
|
#-----------------------------------------------------
|
|
# Whereabout of different components of Ruby
|
|
#-----------------------------------------------------
|
|
# Bundled with Yosemite (10.10)
|
|
# [Key Type Name] = 'Sys'
|
|
RubyYosemite = { 'exe': '/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby' ,
|
|
'inc': '/System/Library/Frameworks/Ruby.framework/Headers',
|
|
'lib': '/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.dylib'
|
|
}
|
|
|
|
# Bundled with El Capitan (10.11)
|
|
# [Key Type Name] = 'Sys'
|
|
RubyElCapitan = { 'exe': '/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby' ,
|
|
'inc': '/System/Library/Frameworks/Ruby.framework/Headers',
|
|
'lib': '/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.dylib'
|
|
}
|
|
|
|
# Bundled with Sierra (10.12)
|
|
# [Key Type Name] = 'Sys'
|
|
RubySierra = { 'exe': '/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby' ,
|
|
'inc': '/System/Library/Frameworks/Ruby.framework/Headers',
|
|
'lib': '/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.dylib'
|
|
}
|
|
|
|
# Bundled with High Sierra (10.13)
|
|
# [Key Type Name] = 'Sys'
|
|
RubyHighSierra = { 'exe': '/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby' ,
|
|
'inc': '/System/Library/Frameworks/Ruby.framework/Headers',
|
|
'lib': '/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/libruby.dylib'
|
|
}
|
|
|
|
# Ruby 2.4 built from source code (https://github.com/ruby): *+*+*+ EXPERIMENTAL *+*+*+
|
|
# configured by:
|
|
# $ ./configure --prefix=$HOME/Ruby24/ --enable-shared --program-suffix=2.4
|
|
# [Key Type Name] = 'Src24'
|
|
Ruby24SrcBuild = { 'exe': '$HOME/Ruby24/bin/ruby2.4',
|
|
'inc': '$HOME/Ruby24/include/ruby-2.4.0',
|
|
'lib': '$HOME/Ruby24/lib/libruby.2.4.dylib'
|
|
}
|
|
|
|
# Ruby 2.4 from MacPorts (https://www.macports.org/) *+*+*+ EXPERIMENTAL *+*+*+
|
|
# [Key Type Name] = 'MP24'
|
|
Ruby24MacPorts = { 'exe': '/opt/local/bin/ruby2.4',
|
|
'inc': '/opt/local/include/ruby-2.4.0',
|
|
'lib': '/opt/local/lib/libruby.2.4.dylib'
|
|
}
|
|
|
|
# Ruby 2.5 from Brew *+*+*+ EXPERIMENTAL *+*+*+
|
|
# [Key Type Name] = 'Brew25'
|
|
Ruby25Brew = { 'exe': '/usr/local/bin/ruby',
|
|
'inc': '/usr/local/include/ruby-2.5.0',
|
|
'lib': '/usr/local/lib/libruby.2.5.0.dylib'
|
|
}
|
|
|
|
# Consolidated dictionary kit for Ruby
|
|
RubyDictionary = { 'nil' : None,
|
|
'RubyYosemite' : RubyYosemite,
|
|
'RubyElCapitan' : RubyElCapitan,
|
|
'RubySierra' : RubySierra,
|
|
'RubyHighSierra': RubyHighSierra,
|
|
'Ruby24SrcBuild': Ruby24SrcBuild,
|
|
'Ruby24MacPorts': Ruby24MacPorts,
|
|
'Ruby25Brew' : Ruby25Brew
|
|
}
|
|
|
|
#-----------------------------------------------------
|
|
# [3] Python
|
|
#-----------------------------------------------------
|
|
Pythons = [ 'nil', 'PythonYosemite', 'PythonElCapitan', 'PythonSierra', 'PythonHighSierra' ]
|
|
Pythons += [ 'Anaconda27', 'Anaconda36', 'Python36MacPorts', 'Python36Brew' ]
|
|
|
|
#-----------------------------------------------------
|
|
# Whereabout of different components of Python
|
|
#-----------------------------------------------------
|
|
# Bundled with Yosemite (10.10)
|
|
# [Key Type Name] = 'Sys'
|
|
PythonYosemite = { 'exe': '/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python' ,
|
|
'inc': '/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7',
|
|
'lib': '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib'
|
|
}
|
|
|
|
# Bundled with El Capitan (10.11)
|
|
# [Key Type Name] = 'Sys'
|
|
PythonElCapitan = { 'exe': '/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python' ,
|
|
'inc': '/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7',
|
|
'lib': '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib'
|
|
}
|
|
|
|
# Bundled with Sierra (10.12)
|
|
# [Key Type Name] = 'Sys'
|
|
PythonSierra = { 'exe': '/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python' ,
|
|
'inc': '/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7',
|
|
'lib': '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib'
|
|
}
|
|
|
|
# Bundled with High Sierra (10.13)
|
|
# [Key Type Name] = 'Sys'
|
|
PythonHighSierra= { 'exe': '/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python' ,
|
|
'inc': '/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7',
|
|
'lib': '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib'
|
|
}
|
|
|
|
# Using anaconda2 (https://www.anaconda.com/download/#macos) 5.0.1: *+*+*+ EXPERIMENTAL *+*+*+
|
|
# If the path to your `conda` command is '$HOME/anaconda2/bin/conda'
|
|
# and your Python environment was prepared by: $ conda create -n py27klayout python=2.7
|
|
#
|
|
# No additional modules are installed in the experiment.
|
|
# [Key Type Name] = 'Ana27'
|
|
Anaconda27 = { 'exe': '$HOME/anaconda2/envs/py27klayout/bin/python2.7' ,
|
|
'inc': '$HOME/anaconda2/envs/py27klayout/include/python2.7',
|
|
'lib': '$HOME/anaconda2/envs/py27klayout/lib/libpython2.7.dylib'
|
|
}
|
|
|
|
# Using anaconda2 (https://www.anaconda.com/download/#macos) 5.0.1: *+*+*+ EXPERIMENTAL *+*+*+
|
|
# If the path to your `conda` command is '$HOME/anaconda2/bin/conda'
|
|
# and your Python environment was prepared by: $ conda create -n py36klayout python=3.6
|
|
#
|
|
# No additional modules are installed in the experiment.
|
|
# [Key Type Name] = 'Ana36'
|
|
Anaconda36 = { 'exe': '$HOME/anaconda2/envs/py36klayout/bin/python3.6' ,
|
|
'inc': '$HOME/anaconda2/envs/py36klayout/include/python3.6m',
|
|
'lib': '$HOME/anaconda2/envs/py36klayout/lib/libpython3.6m.dylib'
|
|
}
|
|
|
|
# Python 3.6 from MacPorts (https://www.macports.org/) *+*+*+ EXPERIMENTAL *+*+*+
|
|
# [Key Type Name] = 'MP36'
|
|
Python36MacPorts= { 'exe': '/opt/local/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6m' ,
|
|
'inc': '/opt/local/Library/Frameworks/Python.framework/Versions/3.6/include/python3.6m',
|
|
'lib': '/opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/libpython3.6m.dylib'
|
|
}
|
|
|
|
# Python 3.6 from Brew *+*+*+ EXPERIMENTAL *+*+*+
|
|
# [Key Type Name] = 'pybrew'
|
|
Python36Brew= { 'exe': '/usr/local/opt/python/libexec/bin/python' ,
|
|
'inc': '/usr/local/opt/python3/Frameworks/Python.framework/Versions/3.6/Headers',
|
|
'lib': '/usr/local/opt/python3/Frameworks/Python.framework/Versions/3.6/Python'
|
|
}
|
|
|
|
# Consolidated dictionary kit for Python
|
|
PythonDictionary= { 'nil' : None,
|
|
'PythonYosemite' : PythonYosemite,
|
|
'PythonElCapitan' : PythonElCapitan,
|
|
'PythonSierra' : PythonSierra,
|
|
'PythonHighSierra': PythonHighSierra,
|
|
'Anaconda27' : Anaconda27,
|
|
'Anaconda36' : Anaconda36,
|
|
'Python36MacPorts': Python36MacPorts,
|
|
'Python36Brew' : Python36Brew,
|
|
}
|
|
|
|
#-----------------------------------------------------
|
|
# [4] KLayout executables including buddy tools
|
|
#-----------------------------------------------------
|
|
KLayoutExecs = ['klayout']
|
|
KLayoutExecs += ['strm2cif', 'strm2dxf', 'strm2gds', 'strm2gdstxt', 'strm2oas']
|
|
KLayoutExecs += ['strm2txt', 'strmclip', 'strmcmp', 'strmrun', 'strmxor']
|
|
|
|
#----------------
|
|
# End of File
|
|
#----------------
|