================================================================================ undroidwish - AndroWish sans the borg, a project just for pun. ================================================================================ This directory contains various build scripts (UN*X shell) for generating single-file Tcl/Tk binaries using bits and pieces of the AndroWish source tree: script result build-undroidwish-win64.sh undroidwish.exe for win64 build-undroidwish-win32.sh undroidwish.exe for win32 build-undroidwish-linux64.sh undroidwish for 64bit linux (x86_64) build-undroidwish-linux32.sh undroidwish for 32bit linux (i586) build-undroidwish-generic.sh undroidwish for generic linux (e.g. arm) build-undroidwish-wayland.sh undroidwish for linux incl. Wayland video driver (*very experimental*) build-undroidwish-haiku.sh undroidwish for Haiku (*very experimental*) build-undroidwish-freebsd.sh undroidwish for FreeBSD build-undroidwish-illumos.sh undroidwish for OpenIndiana Hipster build-undroidwish-macosx.sh undroidwish for MacOSX (*experimental*) build-undroidwish-openbsd.sh undroidwish for OpenBSD build-undroidwish-kmsdrm.sh undroidwish for linux with KMSDRM video driver only (*very experimental*) build-vanilla-win64.sh vanilla{tclsh,wish}.exe for win64 build-vanilla-win32.sh vanilla{tclsh,wish}.exe for win32 build-vanilla-linux64.sh vanilla{tclsh,wish} for 64bit linux (x86_64) build-vanilla-linux32.sh vanilla{tclsh,wish} for 32bit linux (i586) build-vanilla-generic.sh vanilla{tclsh,wish} for generic linux (e.g. arm) build-vanilla-freebsd.sh vanilla{tclsh,wish} for FreeBSD build-vanilla-illumos.sh vanilla{tclsh,wish} for OpenIndiana Hipster build-vanilla-openbsd.sh vanilla{tclsh,wish} for OpenBSD build-vanilla-macosx.sh vanilla{tclsh,wish} for MacOSX (Cocoa) The undroidwish variant uses the SDL2 backend, the vanilla variant the native one (i.e. X11 on POSIX, Win32/GDI on Windows, Cocoa on MacOS). The generic undroidwish variant tries to detect a Raspberry Pi build environment and can produce a binary which runs in the console using the RPI SDL video driver, i.e. does not require an X server (tested on Raspbian/Debian 9). The builds for Windows are designed for cross compilation on a Linux (or other POSIX) development system using a MinGW cross toolchain targeting Win32 or Win64. During this build a working Wine emulation is required (thus the best suited development platform is a recent Linux, e.g. Debian, CentOS, or Fedora). The experimental Wayland variant gets built with both an X11 and a Wayland video driver plus the KMSDRM video driver, if possible. The former driver is the default. In order to run with the Wayland driver, the environment must have the variable WAYLAND_DISPLAY defined or alternatively SDL_VIDEODRIVER set to "wayland". The build is currently verified on Fedora 28/29, Debian 9, and CentOS 7.5. The undroidwish root window on Wayland has no decorations and can be moved and/or resized (-sdlresizable required) with the hot keys Alt-F7 and Alt-F8. The experimental KMSDRM variant gets built with the KMSDRM video driver only which gives a similar configuration as with the RPI video driver. It requires working Linux kernel mode setting support and modern graphics hardware. It allows to run an undroidwish from the console in frame buffer mode. On most modern Linuxen this requires the user to be in the video and input groups. An emergency exit is provided with the Control-Alt-Backspace hot key. Since 2018-03-26 it includes OpenGL support for the Canvas3D and Tkzinc widgets which still may have problems depending on the GPU hardware. Refer to the individual script for build requirements. The general pattern for invocation is ?? where (default is "build") carries out the following: "init" initialize current directory from AndroWishs source tree "sync" sync with AndroWish source tree "clean" run "make clean" in subdirectories "distclean" run "make distclean" in subdirectories "build" build everything i.e. the "init" action should be carried out in a new empty directory outside the AndroWish source tree, all others in that directory which got populated by the "init" action. The disk space needed for a full build per platform is 700 to 900 MByte on a Linux development system. On Debian GNU/Linux and derivates, these packages should be present for building (more may be required): bc libasound2-dev libaugeas-dev libcairo2-dev libdbus-1-dev libfontconfig1-dev libfreetype6-dev libgbm-dev libgl1-mesa-dev libglu1-mesa-dev libibus-1.0-dev libusb-dev libudev-dev libtool libx11-dev libxext-dev libxft-dev libxrender-dev nasm texinfo zip zlib1g-dev On MacOSX these homebrew packages are needed for building (more may be required): augeas dbus libusb nasm pkgconfig