Document:TkScript
Author:bsp
Date:2025


1 Introduction

TkScript ("TKS") is a free and open source "glue" script language for C / C++ frameworks.
It is mainly designed for audio / graphics / UI applications and text processing tools.
Features:
Software written in TkScript includes:
TkScript is accompanied by a set of add-on plugins / libraries that provide bindings for:
TkScript has mainly been tested on the following platforms:

2 License

TkScript is distributed under the terms of the GNU General Public License (GPLv2).
The add-on plugins and libraries are distributed under the terms of the GNU Lesser (library) General Public License (LGPLv2), or the MIT / BSD licenses (see plugin / library source for details).
note_s
Software written in TkScript may use any license (FOSS, closed source, ..).

3 Platform compatibility matrix

ComponentWindowsLinuxmacOS
tksYYY
eqxmmsYYY
tkanalogrytmYYY
tkbluetoothYY-
tkchipmunkYYY
tkclapYyY
tkfileutilsYYY
tkfreeglutYYY
tkfreetype2YYY
tkfreeverbYYY
tkgmpYYY
tkmathYYY
tkmidiY--
tkmidi_alsa-Y-
tkmidi_portmidiYYY
tkmidipipeYYY
tkminnieYYY
tkoldmathYYY
tkopenglYYY
tkportaudioYYY
tkportaudio_alsa-Y-
tkportaudio_oss-Y-
tkradiastoolsYYY
tksamplechainYYY
tksampleeditYYY
tksamplerYYY
tksdlYY-
tksdl12-compat-YY
tksdl2YYY
tksdl_netYYY
tksidplay2YYY
tksmdiY--
tkspeexdspYYY
tksqliteYYY
tktriangulateYYY
tkuiYYY
tkvst2Y--
tkvst2_stub-YY
tkvst2_nogui-YY
tkvst2_macos--Y
tkwiiY--
tkzipYYY
yingtestYYY

4 Downloads

4.1 Precompiled Binaries

Windows 10 x86_64tks.zip (v0.9.90.26, 30May2025)
macOS 13 x86_64tks_macos_x86_64.zip (v0.9.90.26 30May2025)
macOS 13 arm64tks_macos_arm64.zip (v0.9.90.26, 30May2025)
tip_s
on macOS, copy the extracted the files to /usr/local/ (optional)

4.2 Source

The latest source-code packages are here:
tip_l
How to build (via install helper):
$ wget http://tkscript.org/tks_install_helper.sh
$ chmod +x tks_install_helper.sh
$ ./tks_install_helper.sh
downloads the source packages and build them
$ sudo su
% cd build
% . ./setenv_linux.sh
% m all_install
installs them.
note_s
tested on macOS 13+14+15, Debian GNU/Linux 13, Windows 10+11
note_s
use tks_install_helper_tmp.sh to build the latest work-in-progress / beta version (last updated: v0.9.92.4, 06Oct2025)
note_s
as of September 20th, 2025, tks is also available on GitHub
How to build (manually):
  • The first three packages (source, build, yac) are mandatory for building a command-line version of tks.
  • The remaining packages are optional.
  • Edit the toplevel makefile (makefile.linux, makefile.macos or makefile.msvc) to choose which additional plugins will be built.
  • Edit+Run . setenv_linux.sh, . ./setenv_macos_arm64.sh, . ./setenv_macos_x86_64.sh or . setenv_msvc.sh to set up cross compiling / target platform / include+lib paths.
  • It is recommended to set up a shell function for make invocation, e.g. m(){ make -j20 -f makefile.msvc $* ; } (done by setenv*)
Requirements / Prerequisites:
  • The Windows build environment requires MSYS2 and the Microsoft Visual Studio compiler, e.g. the free-as-in-beer Community Edition.
  • The Linux build environment requires GCC / G++, GNU make, and GNU Bash.
    • optional (recommended) packages: $ sudo apt-get install build-essential libsdl2-dev libsdl1.2-dev libsdl-net1.2-dev libpng-dev libfreetype-dev libgtk2.0-dev libzip-dev libgnutls28-dev libasound2-dev
    • optional packages: % apt install portaudio19-dev libportmidi-dev sox rubberband-cli
  • The macOS build environment requires Clang (xcode toolchain), make, zsh, and the following brew packages: sdl12-compat, sdl2, libpng, freetype (tested with arm64 and x86_64) (and optionally sdl_net, gnutls, libzip, portaudio, portmidi).
The plugin bindings use the YaC (Yet another Component object model) interface, and the YInG interface generator.
To rebuild the bindings for a specific module, run
$ m yac
in the plugin (or tks-source) directory.

4.3 Other

4.3.1 emacs

5 Examples

6 Tools

7 Libraries

8 Games

For your amusement, some of the older stuff can be downloaded here:

9 Documentation

See here for language reference guide.
For historical purposes, here are the old changelogs from 2002 - 2015.

Valid HTML 4.01 Transitional

Document created in 6ms on 06-Oct-2025 00:31:49