File: autogen.sh

package info (click to toggle)
libvirt 1.2.9-9
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 173,536 kB
  • sloc: ansic: 463,129; xml: 68,283; sh: 16,393; makefile: 4,588; python: 3,705; perl: 3,675; ml: 470; sed: 16
file content (113 lines) | stat: -rwxr-xr-x 3,496 bytes parent folder | download | duplicates (3)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#!/bin/sh
# Run this to generate all the initial makefiles, etc.

set -e

srcdir=`dirname "$0"`
test -z "$srcdir" && srcdir=.

THEDIR=`pwd`
cd "$srcdir"

test -f src/libvirt.c || {
    echo "You must run this script in the top-level libvirt directory"
    exit 1
}


EXTRA_ARGS=
no_git=
if test "x$1" = "x--no-git"; then
  no_git=" $1"
  shift
fi
if test -z "$NOCONFIGURE" ; then
  if test "x$1" = "x--system"; then
    shift
    prefix=/usr
    libdir=$prefix/lib
    sysconfdir=/etc
    localstatedir=/var
    if [ -d /usr/lib64 ]; then
      libdir=$prefix/lib64
    fi
    EXTRA_ARGS="--prefix=$prefix --sysconfdir=$sysconfdir --localstatedir=$localstatedir --libdir=$libdir"
    echo "Running ./configure with $EXTRA_ARGS $@"
  else
    if test -z "$*" && test ! -f "$THEDIR/config.status"; then
        echo "I am going to run ./configure with no arguments - if you wish"
        echo "to pass any to it, please specify them on the $0 command line."
    fi
  fi
fi

# Compute the hash we'll use to determine whether rerunning bootstrap
# is required.  The first is just the SHA1 that selects a gnulib snapshot.
# The second ensures that whenever we change the set of gnulib modules used
# by this package, we rerun bootstrap to pull in the matching set of files.
# The third ensures that whenever we change the set of local gnulib diffs,
# we rerun bootstrap to pull in those diffs.
bootstrap_hash()
{
    if test "$no_git"; then
        echo no-git
        return
    fi
    git submodule status | sed 's/^[ +-]//;s/ .*//'
    git hash-object bootstrap.conf
    git ls-tree -d HEAD gnulib/local | awk '{print $3}'
}

# Ensure that whenever we pull in a gnulib update or otherwise change to a
# different version (i.e., when switching branches), we also rerun ./bootstrap.
# Also, running 'make rpm' tends to litter the po/ directory, and some people
# like to run 'git clean -x -f po' to fix it; but only ./bootstrap regenerates
# the required file po/Makevars.
# Only run bootstrap from a git checkout, never from a tarball.
if test -d .git || test -f .git; then
    curr_status=.git-module-status t=
    if test "$no_git"; then
        t=no-git
    elif test -d .gnulib; then
        t=$(bootstrap_hash; git diff .gnulib)
    fi
    case $t:${CLEAN_SUBMODULE+set} in
        *:set) ;;
        *-dirty*)
            echo "error: gnulib submodule is dirty, please investigate" 2>&1
            echo "set env-var CLEAN_SUBMODULE to discard gnulib changes" 2>&1
            exit 1 ;;
    esac
    # Keep this test in sync with cfg.mk:_update_required
    if test "$t" = "$(cat $curr_status 2>/dev/null)" \
        && test -f "po/Makevars" && test -f AUTHORS; then
        # good, it's up to date, all we need is autoreconf
        autoreconf -if
    else
        if test -z "$no_git" && test ${CLEAN_SUBMODULE+set}; then
            echo cleaning up submodules...
            git submodule foreach 'git clean -dfqx && git reset --hard'
        fi
        echo running bootstrap$no_git...
        ./bootstrap$no_git --bootstrap-sync && bootstrap_hash > $curr_status \
            || { echo "Failed to bootstrap, please investigate."; exit 1; }
    fi
fi

test -n "$NOCONFIGURE" && exit 0

cd "$THEDIR"

if test "x$OBJ_DIR" != x; then
    mkdir -p "$OBJ_DIR"
    cd "$OBJ_DIR"
fi

if test -z "$*" && test -z "$EXTRA_ARGS" && test -f config.status; then
    ./config.status --recheck
else
    $srcdir/configure $EXTRA_ARGS "$@"
fi && {
    echo
    echo "Now type 'make' to compile libvirt."
}