+#! /bin/sh
+
+set -e
+
+have_ext=$(if test -e ext/automake.mk; then echo yes; else echo no; fi)
+for opt
+do
+ case $opt in
+ (--enable-ext) have_ext=yes ;;
+ (--disable-ext) have_ext=no ;;
+ (--help) cat <<EOF
+$0: bootstrap OpenFlow from a Git repository
+usage: $0 [OPTIONS]
+The recognized options are:
+ --enable-ext include openflowext
+ --disable-ext exclude openflowext
+By default, openflowext is included if it is present.
+EOF
+ exit 0
+ ;;
+ (*) echo "unknown option $opt; use --help for help"; exit 1 ;;
+ esac
+done
+
+# Generate list of files in debian/ to distribute.
+(echo '# Automatically generated by boot.sh (from Git tree).' &&
+ printf 'EXTRA_DIST += \\\n' &&
+ git ls-files debian | grep -v '^debian/\.gitignore$' |
+ sed -e 's/\(.*\)/ \1 \\/' -e '$s/ \\//') > debian/automake.mk
+
+# Enable or disable ext.
+if test "$have_ext" = yes; then
+ echo 'Enabling openflowext...'
+ echo 'include ext/automake.mk' > ext.mk
+ echo 'm4_include([ext/configure.m4])' > ext.m4
+ cat debian/control.in ext/debian/control.in > debian/control
+ for d in $(cd ext/debian && git ls-files --exclude-from=debian/dontlink)
+ do
+ test -e debian/$d || ln -s ../ext/debian/$d debian/$d
+ if ! fgrep -q $d debian/.gitignore; then
+ echo "Adding $d to debian/.gitignore"
+ (cat debian/.gitignore && printf '/%s' "$d") \
+ | LC_ALL=C sort > tmp$$ \
+ && mv tmp$$ debian/.gitignore
+ fi
+ done
+else
+ echo 'Disabling openflowext...'
+ echo '# This file intentionally left blank.' > ext.mk
+ echo '# This file intentionally left blank.' > ext.m4
+ cat debian/control.in > debian/control
+fi
+