Skip to content

Commit

Permalink
Merge pull request #1 from gpac/master
Browse files Browse the repository at this point in the history
Merge from other forks
  • Loading branch information
rbouqueau committed Mar 21, 2015
2 parents fa4c090 + a42febe commit 72ffb22
Show file tree
Hide file tree
Showing 55 changed files with 1,095 additions and 114 deletions.
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ZenBuild

ZenBuild is a one-shot component-level build-system, aimed at easing the build of free software projets.
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
Expand Down Expand Up @@ -48,3 +48,9 @@ Authors

- Sebastien Alaiwan <[email protected]>
- Romain Bouqueau <[email protected]>

Contributors
------------

- badr-badri ( https://github.com/badr-badri )

12 changes: 12 additions & 0 deletions check.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash
set -euo pipefail

readonly JOBS=$(nproc)
export MAKE="make -j$JOBS"

rm -f "/tmp/test-zenbuild/flags/x86_64-linux-gnu/all.built"
./zenbuild.sh "/tmp/test-zenbuild" all x86_64-linux-gnu

rm -f "/tmp/test-zenbuild/flags/x86_64-w64-mingw32/all.built"
./zenbuild.sh "/tmp/test-zenbuild" all x86_64-w64-mingw32

16 changes: 8 additions & 8 deletions patches/jack_01_OptionalPortAudio.diff
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
diff --git a/common/wscript b/common/wscript
index 4302b1e..53d453d 100644
index 4302b1e..c39aec1 100644
--- a/common/wscript
+++ b/common/wscript
@@ -380,7 +381,7 @@ def build(bld):
@@ -380,7 +380,7 @@ def build(bld):
process = create_jack_process_obj(bld, 'audioadapter', audio_adapter_sources, serverlib)
process.use = 'SAMPLERATE'

Expand All @@ -12,15 +12,15 @@ index 4302b1e..53d453d 100644
process = create_jack_process_obj(bld, 'audioadapter', audio_adapter_sources, serverlib)
process.use += ['SAMPLERATE', 'PORTAUDIO']
diff --git a/windows/wscript b/windows/wscript
index fdae9bb..069fd53 100644
index ea4dd3d..f00d66e 100644
--- a/windows/wscript
+++ b/windows/wscript
@@ -6,7 +6,7 @@ import re
import os
@@ -2,7 +2,7 @@
# encoding: utf-8

def configure(conf):
- conf.check_cc(function_name='Pa_GetVersion', header_name='portaudio.h', lib='portaudio', uselib_store="PORTAUDIO", define_name='HAVE_PORTAUDIO')
+ conf.check_cc(function_name='Pa_GetVersion', header_name='portaudio.h', lib='portaudio', uselib_store="PORTAUDIO", define_name='HAVE_PORTAUDIO', mandatory=False)
- conf.check_cfg(package='portaudio-2.0', uselib_store='PORTAUDIO', atleast_version='19', args='--cflags --libs')
+ conf.check_cfg(package='portaudio-2.0', uselib_store='PORTAUDIO', atleast_version='19', args='--cflags --libs', mandatory=False)
conf.env['BUILD_DRIVER_PORTAUDIO'] = conf.is_defined('HAVE_PORTAUDIO')

def build(bld):
def create_jack_driver_obj(bld, target, sources, uselib = None):
75 changes: 75 additions & 0 deletions zen-all.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@

# Copyright (C) 2015 - Sebastien Alaiwan
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

function all_build {
echo "Done"
}

function all_get_deps {
echo "dbus"
echo "expat"
# echo "faad2" # error: "two or more data types in declaration specifiers"
# echo "ffmpeg"
echo "fontconfig"
echo "freetype2"
echo "fribidi"
echo "gmplib"
# echo "gnutls"
echo "gpac"
echo "jack"
echo "liba52"
# echo "libalsa"
echo "libass"
# echo "libav"
echo "libfdk-aac"
echo "libgcrypt"
echo "libgpg-error"
echo "libjpeg"
echo "libmad"
echo "libnettle"
echo "libogg"
echo "libopenjpeg"
echo "libpng"
# echo "libpthread"
echo "librtmp"
echo "libsamplerate"
echo "libsdl"
echo "libsndfile"
echo "libtheora"
echo "libvorbis"
echo "libvpx"
# echo "libxau"
# echo "libxcb"
# echo "libxvidcore"
echo "opencore-amr"
echo "openh264"
# echo "openhevc"
echo "opus"
echo "portaudio"
# #echo "pthreads" can only be built for windows
echo "sodium"
echo "toxcore"
echo "tre"
# #echo "utox" depends on xrender and other missing stuff, causing pkg-config to return nothing
# #echo "vlc" requires ffmpeg -fPIC
echo "x264"
echo "x265"
# echo "xcb-proto"
# echo "xcbproto"
# echo "xcbpthreadstubs"
echo "xproto"
echo "zlib"
}

44 changes: 44 additions & 0 deletions zen-dbus.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#!/bin/bash

# Copyright (C) 2014 - Sebastien Alaiwan
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

function dbus_build {
host=$1
pushDir $WORK/src

lazy_download "dbus.tar.gz" "http://dbus.freedesktop.org/releases/dbus/dbus-1.8.8.tar.gz"
lazy_extract "dbus.tar.gz"

mkdir -p dbus/build/$host
pushDir dbus/build/$host
CFLAGS+=" -I$PREFIX/$host/include " \
LDFLAGS+=" -L$PREFIX/$host/lib " \
../../configure \
--host=$host \
--enable-static \
--enable-abstract-sockets \
--disable-shared \
--prefix=$PREFIX/$host
$MAKE
$MAKE install
popDir

popDir
}

function dbus_get_deps {
echo "expat"
}

39 changes: 39 additions & 0 deletions zen-expat.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/bin/bash

# Copyright (C) 2015 - Sebastien Alaiwan
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


function expat_build {
local host=$1
pushDir $WORK/src

lazy_download "expat.tar.xz" "http://sourceforge.net/projects/expat/files/expat/2.1.0/expat-2.1.0.tar.gz/download"
lazy_extract "expat.tar.xz"
mkgit "expat"

CFLAGS+=" -I$PREFIX/$host/include " \
LDFLAGS+=" -L$PREFIX/$host/lib " \
autoconf_build $host "expat" \
--enable-static \
--disable-shared

popDir
}

function expat_get_deps {
local a=0
}

2 changes: 1 addition & 1 deletion zen-faad2.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

function build_faad2 {
function faad2_build {
host=$1
pushDir $WORK/src

Expand Down
4 changes: 2 additions & 2 deletions zen-ffmpeg.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

function build_ffmpeg {
function ffmpeg_build {
host=$1
pushDir $WORK/src

Expand Down Expand Up @@ -66,9 +66,9 @@ function build_ffmpeg {
}

function ffmpeg_get_deps {
echo libass
echo fontconfig
echo librtmp
echo libass
echo libfdk-aac
echo x264
echo x265
Expand Down
20 changes: 16 additions & 4 deletions zen-fontconfig.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,24 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


function build_fontconfig {
function fontconfig_build {
host=$1
pushDir $WORK/src
pushDir $WORK/src

lazy_git_clone "git://anongit.freedesktop.org/fontconfig" fontconfig "tags/2.11.1"
lazy_download "fontconfig.tar.bz2" "http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.11.92.tar.bz2"
lazy_extract "fontconfig.tar.bz2"
mkgit "fontconfig"

autoconf_build $host "fontconfig"
LDFLAGS+=" -L$WORK/release/$host/lib" \
autoconf_build $host "fontconfig" \
--enable-static \
--disable-shared
popDir
}

function fontconfig_get_deps {
echo "expat"
echo "freetype2"
echo "libpng"
}

2 changes: 1 addition & 1 deletion zen-freetype2.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

function build_freetype2 {
function freetype2_build {
host=$1
pushDir $WORK/src

Expand Down
68 changes: 34 additions & 34 deletions zen-fribidi.sh
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
#!/bin/bash

# Copyright (C) 2014 - Romain Bouqueau
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


function build_fribidi {
host=$1
pushDir $WORK/src

lazy_download "fribidi.tar.xz" "http://fribidi.org/download/fribidi-0.19.6.tar.bz2"
lazy_extract "fribidi.tar.xz"

mkgit "fribidi"

autoconf_build $host "fribidi" --disable-shared
popDir
}

function fribidi_get_deps {
local a=0;
}
#!/bin/bash

# Copyright (C) 2014 - Romain Bouqueau
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


function fribidi_build {
host=$1
pushDir $WORK/src

lazy_download "fribidi.tar.xz" "http://fribidi.org/download/fribidi-0.19.6.tar.bz2"
lazy_extract "fribidi.tar.xz"

mkgit "fribidi"

autoconf_build $host "fribidi" --disable-shared
popDir
}

function fribidi_get_deps {
local a=0
}
35 changes: 35 additions & 0 deletions zen-gmplib.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/bash

# Copyright (C) 2014 - Badr BADRI
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

function gmplib_get_deps {
local a=0
}

function gmplib_build {

local host=$1
pushDir $WORK/src

lazy_download "gmplib.tar.lz" "https://gmplib.org/download/gmp/gmp-6.0.0a.tar.lz"

lazy_extract "gmplib.tar.lz"

autoconf_build $host "gmplib.tar.lz"

popDir

}
Loading

0 comments on commit 72ffb22

Please sign in to comment.