Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This set of scripts will build the requisites for KLayout builds with MSVC 2017, both for 32 and 64bit. These are:

  • libexpat: XML parser for use with Python standalone modules
  • libcurl: HTTP/HTTPS access for Python standalone tools
  • zlib: Compression library
  • python: A basic installation including a debug variant
  • ruby: Basic Ruby required to support DRC and other DSL's
  • openssl: Support for HTTPS


  • git installed in PATH
  • MSVC 2017 installed (e.g. community edition). Or MSVC2019 with compiler 14.1.
  • Helper tools: (1) ruby.exe, bison.exe, flex.exe, sed.exe in PATH (2) cmake.exe in PATH (3) perl (for OpenSSL, Windows version) (4) nasm (for OpenSSL) (5) host Python (for Python)

For (1) use MSYS2:

  • install "pacman -S ruby bison flex sed"
  • set PATH=c:\msys64\usr\bin;%PATH%

For (2) use cmake for Windows:

  • set "PATH=c:\Program Files\cmake\bin;%PATH%"

For (3) use Strawberry Perl from

  • set "PATH=c:\strawberry\perl\bin;%PATH%"

For (4) use NASM from

  • set "PATH=c:\Program Files\NASM;%PATH%"

For (5) use Anaconda3 from

  • set anaconda=c:\ProgramData\Anaconda3
  • set "PATH=%anaconda%;%anaconda%\Library\mingw-w64\bin;%anaconda%\Library\usr\bin;%anaconda%\Library\bin;%anaconda%\Scripts;%anaconda%\bin;%PATH%"

Note: cmake and perl must be taken from the Windows installation! Make sure they are in the path before MSYS2 components.

Script Usage

Set TEMP environment variable to a suitable build directory.

To build all:

buildall.bat -t <installation dir>

To build 32 bit only:

buildall.bat -32 ...