Skip to content
Snippets Groups Projects
Select Git revision
  • ff290ea0e2e593cbafdb7f0e7506d3a28ebcdebc
  • master default protected
  • release/beta-qt-202301101210
  • stable
  • release/beta-qt-202211182015
  • release/beta-qt-202211181752
  • release/beta-qt-202211171508
  • release/beta-qt-202211081754
  • release/beta-qt-202211071518
  • release/beta-qt-202210270957
  • release/beta-qt-202210071648
  • release/beta-qt-202209291549
  • release/beta-qt-202209011129
  • release/beta-qt-202208261640
  • release/beta-qt-202208241511
  • release/beta-qt-202208231849
  • release/beta-qt-202208091525
  • release/beta-qt-202207191241
  • release/beta-qt-202207181708
  • release/beta-qt-202207131914
  • release/beta-qt-202207131513
  • android/release_358
  • android/release_357
  • android/release_356
  • android/release_355
  • android/release_354
  • 20221220.0956.79e1207
  • android/release_353
  • android/release_352
  • android/release_350
  • android/release_349
  • android/release_348
  • android/release_347
  • 20221031.1308.130cc26
  • android/release_346
  • android/release_345
  • android/release_344
  • android/release_343
  • android/release_342
  • android/release_341
  • android/release_340
41 results

build-package-snap.sh

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    bootstrap 2.86 KiB
    #!/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_tar() {
    if ! tar PcJ /dev/null >/dev/null 2>&1
    then
        echo "tar doesn't support xz (J option)"
        NEEDED="$NEEDED .tar .xz"
    fi
    }
    
    check_sed() {
    tmp="`pwd`/check_sed"
    trap "rm $tmp{,-e} 2>/dev/null" EXIT
    echo "test file for GNU sed" > $tmp
    if ! sed -i -e 's/sed//' $tmp >/dev/null 2>&1
    then
        echo "sed doesn't do in-place editing (-i option)"
        NEEDED="$NEEDED .sed"
    fi
    }
    
    check() {
    if ! $1 --version >/dev/null 2>&1
    then
        echo "$1 not found"
        NEEDED="$NEEDED .$1"
    else
        # found, need to check version ?
        [ -z "$2" ] && return # no
        gotver=`$1 --version | head -1 | sed s/'.* '//`
        gotmajor=`echo $gotver|cut -d. -f1`
        gotminor=`echo $gotver|cut -d. -f2`
        gotmicro=`echo $gotver|cut -d. -f3`
        [ -z "$gotmicro" ] && gotmicro=0
        needmajor=`echo $2|cut -d. -f1`
        needminor=`echo $2|cut -d. -f2`
        needmicro=`echo $2|cut -d. -f3`
        [ -z "$needmicro" ] && needmicro=0
        if [ "$needmajor" -gt "$gotmajor" \
             -o "$needmajor" -eq "$gotmajor" -a "$needminor" -gt "$gotminor" \
             -o "$needmajor" -eq "$gotmajor" -a "$needminor" -eq "$gotminor" -a "$needmicro" -gt "$gotmicro" ]
        then
            echo "$1 too old"
            NEEDED="$NEEDED .$1"
        fi
    fi
    }
    
    check autoconf 2.69
    check automake 1.15
    check m4 1.4.17
    check libtool 2.4.6
    check pkg-config
    check cmake 3.2.2
    check yasm
    check_tar
    check_sed
    check gettext
    
    [ -n "$NEEDED" ] && mkdir -p build/ && echo "To-be-built packages: `echo $NEEDED | sed 's/\.//g'`"
    
    CPUS=
    CC=
    CXX=
    case `uname` in
        Linux)
            CPUS=`grep -c ^processor /proc/cpuinfo`
         ;;
        Darwin)
            CPUS=`sysctl hw.ncpu|cut -d: -f2`
            gcc-4.2 --version >/dev/null 2>&1 && CC=CC=gcc-4.2
            g++-4.2 --version >/dev/null 2>&1 && CXX=CXX=g++-4.2
        ;;
        SunOS)
            CPUS=`/usr/bin/kstat -p :::state | grep 'on-line$' | wc -l | sed 's/ //g'`
        ;;
        *)
            CPUS=1  # default
         ;;
    esac
    
    
    cat > Makefile << EOF
    MAKEFLAGS += -j$CPUS
    $CC
    $CXX
    PREFIX=\$(abspath ./build)
    
    all: $NEEDED
    	@echo "You are ready to build Ring and its contribs"
    
    include tools.mak
    EOF