bootstrap 1.96 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
#!/bin/sh
# Copyright © 2011 Rafaël Carré
#
# 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 2 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., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.

export LC_ALL=
NEEDED=

if [ ! -f tools.mak ]
then
	echo "You must run me in ./extras/tools !"
	exit 1
fi

check() {
Rafaël Carré's avatar
Rafaël Carré committed
28
if ! $1 --version >/dev/null 2>&1
29 30 31
then
    echo "$1 not found"
    NEEDED="$NEEDED .$1"
32 33 34 35 36 37 38 39 40 41 42 43 44 45
else
    # found, need to check version ?
    [ -z "$2" ] && return # no
    # we only check GNU tools, their version have the form MAJOR.MINOR
    gotver=`$1 --version | head -1 | sed s/'.* '//`
    gotmajor=`echo $gotver|cut -d. -f1`
    gotminor=`echo $gotver|cut -d. -f2`
    needmajor=`echo $2|cut -d. -f1`
    needminor=`echo $2|cut -d. -f2`
    if [ "$needmajor" -gt "$gotmajor" -o "$needmajor" -eq "$gotmajor" -a "$needminor" -gt "$gotminor" ]
    then
        echo "$1 too old"
        NEEDED="$NEEDED .$1"
    fi
46 47 48
fi
}

49 50 51
check autoconf 2.67
check automake 1.11
check libtool 2.2
52 53 54
check pkg-config
check xz
check cmake
Rafaël Carré's avatar
Rafaël Carré committed
55
check yasm
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83

[ -n "$NEEDED" ] && mkdir -p build/

CPUS=
case `uname` in
    Linux)
        CPUS=`grep -c ^processor /proc/cpuinfo`
     ;;
    Darwin)
        CPUS=`sysctl hw.ncpu|cut -d: -f2`
    ;;
    *)
        CPUS=1  # default
     ;;
esac


cat > Makefile << EOF
MAKEFLAGS += -j$CPUS
PREFIX=\$(abspath ./build)

all: $NEEDED
	@echo "You are ready to build VLC and its contribs"

automake: .autoconf

include tools.mak
EOF