From a3df9d2e581819d8c73e722fb42bfe522cbdf348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sun, 15 Jul 2018 21:47:35 +0200 Subject: [PATCH] Updated KLayout Python Module Prototype (markdown) --- KLayout-Python-Module-Prototype.md | 37 ++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/KLayout-Python-Module-Prototype.md b/KLayout-Python-Module-Prototype.md index 5da57db..b4b56f3 100644 --- a/KLayout-Python-Module-Prototype.md +++ b/KLayout-Python-Module-Prototype.md @@ -1,11 +1,28 @@ The prototype is found in the [pymod branch](https://github.com/klayoutmatthias/klayout/tree/pymod). This build is enabled to produce a Python module. +There are basically two ways of producing Python modules: + Binary packages and documentation for the branch are available here: [http://www.klayout.org/downloads/pymod](http://www.klayout.org/downloads/pymod/). -## Building +## Building with ```distutils``` -For building use the build script: +``` +# From the project's root directory +sudo python setup.py install +``` + +This build configuration is currently hard configured this way: + + * No Qt required and no Qt related functionality produced + * Requires ```expat``` for XML parwsing + * Required ```curl``` for HTTP support + * Requires ```pthread``` for multithread support + + +## Building together with the main application + +For building with the build script use: ``` # From the project's root directory @@ -19,6 +36,22 @@ If you want it fast and don't need to Qt bindings, use: ./build.sh -bin -without-qtbinding ``` +For even faster build without any UI functionality, you can use a Qt-less build: + +``` +# From the project's root directory +./build.sh -bin -without-qt -libcurl -libexpat +``` + +In fact the minimum build is without HTTP and XML support: + +``` +# From the project's root directory +./build.sh -bin -without-qt +``` + +Without XML support however, some formats are not readable (such as layer property files, PCB projects etc.). + For `````` pick a destination where you want KLayout to be installed. For example you can use ```/usr/local/klayout``` for the destination, but you will need sudo permissions then: ```