A component-level build system.
Shell
Pull request Compare This branch is 29 commits ahead, 3 commits behind rbouqueau:master.
Latest commit 9254fc7 Jan 10, 2017 @rbouqueau rbouqueau committed on GitHub update zlib archive repository
Permalink
Failed to load latest commit information.
.gitattributes
.travis.yml
LICENSE
README.md
build_libsdl2.sh
build_x264.sh
check.sh
make-extra.sh
zen-all.sh
zen-dbus.sh
zen-expat.sh
zen-faad2.sh
zen-ffmpeg.sh
zen-fontconfig.sh
zen-freetype2.sh
zen-fribidi.sh
zen-gmplib.sh
zen-gnutls.sh
zen-gpac.sh
zen-gpac_mp4box_only.sh
zen-jack.sh
zen-liba52.sh
zen-libalsa.sh
zen-libass.sh
zen-libav.sh
zen-libgcrypt.sh
zen-libgpg-error.sh
zen-libjpeg-turbo.sh
zen-libjpeg.sh
zen-libmad.sh
zen-libnettle.sh
zen-libogg.sh
zen-libopenjpeg.sh
zen-libpng.sh
zen-libpthread.sh
zen-librtmp.sh
zen-libsamplerate.sh
zen-libsdl2.sh
zen-libsndfile.sh
zen-libtheora.sh
zen-libvorbis.sh
zen-libvpx.sh
zen-libxau.sh
zen-libxcb.sh
zen-libxvidcore.sh
zen-opencore-amr.sh
zen-openh264.sh
zen-openhevc.sh
zen-opus.sh
zen-portaudio.sh
zen-sodium.sh
zen-toxcore.sh
zen-tre.sh
zen-utox.sh
zen-vlc.sh
zen-x264.sh
zen-x265.sh
zen-xcb-proto.sh
zen-xproto.sh
zen-zlib.sh
zenbuild.sh

README.md

Build Status

ZenBuild

ZenBuild is a one-shot component-level build-system, aimed at easing the build of free software projects. It also aims at making cross-building seamless.

Syntax

The general syntax is:

$ ./zenbuild.sh <workingDirectory> <packageName> <targetArchitecture>

Example command:

$ ./zenbuild.sh /tmp/myWorkDirectory gpac x86_64-w64-mingw32

Package Names

You can use any name in the 'zen-*.sh' pattern. For example, if a zen-ffmpeg.sh file exists, you can invoke the ffmpeg package name.

Environment variables

The environment variable MAKE is influential, you can achieve parallel builds this way:

$ MAKE='make -j8' ./zenbuild.sh /tmp/myWorkDirectory gpac x86_64-w64-mingw32

If your environment variable PATH also contains

  • other Unix-like environments such as Cygwin,
  • or spaces, you may want to restrict the environment PATH this way:
$ PATH='/mingw64/bin:/mingw32/bin:/usr/local/bin:/usr/bin:/opt/bin' ./zenbuild.sh /tmp/myWorkDirectory gpac x86_64-w64-mingw32

MSys: Install Python2 for Windows, install it in a directory with no space, and make it first in the path:

$ PATH='/c/python27/:/mingw64/bin:/mingw32/bin:/usr/local/bin:/usr/bin:/opt/bin' ./zenbuild.sh /tmp/myWorkDirectory gpac x86_64-w64-mingw32

Create custom script build

You can also create a standalone build script for a particular set of packages (and their dependencies) to integrate in your project:

$ ./make-extra.sh gpac ffmpeg libsdl2 > build_gpac.sh

You can now integrate build_gpac.sh in your project, and invoke it this way:

$ ./build_gpac.sh <targetArchitecture>

Authors

Contributors