autogen.sh 3.29 KB
Newer Older
David I. Lehn's avatar
David I. Lehn committed
1 2 3 4
#!/bin/sh
# Run this to generate all the initial makefiles, etc.

DIE=0
5
package=gst-python
6
srcfile=gi/overrides/gstmodule.c
7

8 9
# Make sure we have common
if test ! -f common/gst-autogen.sh; 
10
then 
11 12
  echo "+ Setting up common submodule"
  git submodule init
13
fi
14
git submodule update
15 16 17 18

# ensure that we have the dirs we put ext libs in to appease automake
mkdir -p gst-libs/ext/ffmpeg/ffmpeg

19
# source helper functions
20
if test ! -f common/gst-autogen.sh;
21 22 23 24
then
  echo There is something wrong with your source tree.
  echo You are missing common/gst-autogen.sh
  exit 1
David I. Lehn's avatar
David I. Lehn committed
25
fi
26
. common/gst-autogen.sh
27

28
# install pre-commit hook for doing clean commits
29
if test ! \( -x .git/hooks/pre-commit -a -L .git/hooks/pre-commit \);
30
then
31 32
    rm -f .git/hooks/pre-commit
    ln -s ../../common/hooks/pre-commit.hook .git/hooks/pre-commit
33 34 35
fi


36
CONFIGURE_DEF_OPT='--enable-maintainer-mode'
37 38

autogen_options $@
39

40
echo -n "+ check for build tools"
41
if test ! -z "$NOCHECK"; then echo " skipped"; else  echo; fi
42 43 44 45
version_check "autoconf" "$AUTOCONF autoconf autoconf270 autoconf269 autoconf268 autoconf267 autoconf266 autoconf265 autoconf264 autoconf263 autoconf262 autoconf261 autoconf260" \
              "ftp://ftp.gnu.org/pub/gnu/autoconf/" 2 60 || DIE=1
version_check "automake" "$AUTOMAKE automake automake-1.11 automake-1.10" \
              "ftp://ftp.gnu.org/pub/gnu/automake/" 1 10 || DIE=1
46
version_check "libtoolize" "$LIBTOOLIZE libtoolize glibtoolize" \
47
              "ftp://ftp.gnu.org/pub/gnu/libtool/" 1 5 0 || DIE=1
48 49
version_check "pkg-config" "" \
              "http://www.freedesktop.org/software/pkgconfig" 0 8 0 || DIE=1
50

51 52 53 54
die_check $DIE

aclocal_check || DIE=1
autoheader_check || DIE=1
55

56
die_check $DIE
57

58
# if no arguments specified then this will be printed
David I. Lehn's avatar
David I. Lehn committed
59
if test -z "$*"; then
60 61 62 63 64
  echo "+ checking for autogen.sh options"
  echo "  This autogen script will automatically run ./configure as:"
  echo "  ./configure $CONFIGURE_DEF_OPT"
  echo "  To pass any additional options, please specify them on the $0"
  echo "  command line."
David I. Lehn's avatar
David I. Lehn committed
65 66
fi

67
toplevel_check $srcfile
David I. Lehn's avatar
David I. Lehn committed
68

69
tool_run "$libtoolize" "--copy --force"
70
tool_run "$aclocal" "-I m4 -I common/m4 $ACLOCAL_FLAGS"
71
tool_run "$autoheader"
72

73
# touch the stamp-h.in build stamp so we don't re-run autoheader in maintainer mode
74
echo timestamp > stamp-h.in 2> /dev/null
75

76
tool_run "$autoconf"
77
tool_run "$automake" "-a -c -Wno-portability"
David I. Lehn's avatar
David I. Lehn committed
78

79 80 81 82 83 84 85 86 87 88 89 90 91
# if enable exists, add an -enable option for each of the lines in that file
if test -f enable; then
  for a in `cat enable`; do
    CONFIGURE_FILE_OPT="--enable-$a"
  done
fi

# if disable exists, add an -disable option for each of the lines in that file
if test -f disable; then
  for a in `cat disable`; do
    CONFIGURE_FILE_OPT="$CONFIGURE_FILE_OPT --disable-$a"
  done
fi
David I. Lehn's avatar
David I. Lehn committed
92

93 94 95 96 97
test -n "$NOCONFIGURE" && {
  echo "+ skipping configure stage for package $package, as requested."
  echo "+ autogen.sh done."
  exit 0
}
David I. Lehn's avatar
David I. Lehn committed
98

99 100 101
echo "+ running configure ... "
test ! -z "$CONFIGURE_DEF_OPT" && echo "  ./configure default flags: $CONFIGURE_DEF_OPT"
test ! -z "$CONFIGURE_EXT_OPT" && echo "  ./configure external flags: $CONFIGURE_EXT_OPT"
102
test ! -z "$CONFIGURE_FILE_OPT" && echo "  ./configure enable/disable flags: $CONFIGURE_FILE_OPT"
103
echo
104 105

./configure $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT $CONFIGURE_FILE_OPT || {
106 107 108
        echo "  configure failed"
        exit 1
}
109

110
echo "Now type 'make' to compile $package."