summaryrefslogtreecommitdiffstats
path: root/src/git-amb
diff options
context:
space:
mode:
authorHans Ulrich Niedermann <hun@n-dimensional.de>2007-11-06 02:03:25 +0100
committerHans Ulrich Niedermann <hun@n-dimensional.de>2007-11-06 02:03:25 +0100
commitc10a9463210f289b155a342019b21b4a93050878 (patch)
tree7c234e5d234446daa3197e6efd08ddddefb8bd66 /src/git-amb
parent78c5ea3ffb42c884ba9a8e80ff311abe8094dbf9 (diff)
Move git-amb into its own git-amb/ dir
Diffstat (limited to 'src/git-amb')
-rwxr-xr-xsrc/git-amb216
1 files changed, 0 insertions, 216 deletions
diff --git a/src/git-amb b/src/git-amb
deleted file mode 100755
index 433667a..0000000
--- a/src/git-amb
+++ /dev/null
@@ -1,216 +0,0 @@
-#!/bin/sh
-# git-amb - git automake build utility
-# Copyright (C) 2007 Hans Ulrich Niedermann <hun@n-dimensional.de>
-#
-# Build automake based git checkout in branch specific build and install trees.
-# That makes it easy to compare build results from different branches.
-#
-# 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 St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-# Known to work and tested with
-# - git 1.5.3.4
-
-USAGE="<command> [params...]"
-
-LONG_USAGE="\
-Build automake based git checkout in branch specific build and install trees.
-For more details, see the git-amb(1) man page."
-. git-sh-setup
-
-require_work_tree
-
-self="$(basename "$0")"
-
-amb_detect_configure() {
- for configure_ac in \
- "${top_srcdir}/configure.ac" \
- "${top_srcdir}/configure.in"
- do
- if test -s "${configure_ac}"; then
- break
- fi
- configure_ac=""
- done
- test -z "${configure_ac}" && die "configure.{ac,in} not found"
- configure="$top_srcdir/configure"
-}
-
-cond_cat_path() {
- path="."
- for dir
- do
- if echo "$dir" | grep '^/' > /dev/null; then
- path="$dir"
- else
- path="$path/$dir"
- fi
- done
- echo "$path"
-}
-
-amb_init() {
- if test "x$1" = "x"; then
- git_branch="$(git branch | sed -n 's/^* //p')"
- elif git branch | sed 's/^[ *] //' | grep "$1" > /dev/null; then
- git_branch="${1}"
- else
- die "Invalid branch \"$1\" given."
- fi
- test "x.git" = "x$(basename "$GIT_DIR")" || die "GIT_DIR=$GIT_DIR is not foo/.git"
- top_srcdir="$(cd_to_toplevel && pwd)"
-
- tmp="$(git-config amb.builddir)" || tmp="$GIT_DIR/amb/build"
- top_builddir="$(cond_cat_path "${top_srcdir}" "$tmp" "${git_branch}")"
-
- tmp="$(git-config amb.installdir)" || tmp="$GIT_DIR/amb/install"
- top_installdir="$(cond_cat_path "${top_srcdir}" "$tmp" "$git_branch")"
-
- amb_detect_configure
-}
-
-amb_autoreconf() {
- echo "$self: Running autoreconf for branch ${git_branch}"
- autoreconf -vis "$@" "$top_srcdir"
-}
-
-amb_cond_autoreconf() {
- if test ! -s "$configure" || test "$configure_ac" -nt "$configure"; then
- amb_autoreconf
- fi
-}
-
-amb_configure() {
- amb_cond_autoreconf
- echo "$self: Running configure for branch ${git_branch}"
- mkdir -p "$top_builddir"
- cd "$top_builddir"
- "$top_srcdir/configure" --prefix="$top_installdir" --enable-maintainer-mode "$@"
-}
-
-amb_cond_configure() {
- test -s "$top_builddir/Makefile" || amb_configure
-}
-
-amb_make() {
- amb_cond_configure
- echo "$self: Running make for branch ${git_branch}"
- cd "$top_builddir"
- make "$@"
-}
-
-amb_printvars() {
- echo "$self: Settings for branch ${git_branch}"
- echo "$self: source dir $top_srcdir"
- echo "$self: build dir $top_builddir"
- echo "$self: install dir $top_installdir"
-}
-
-amb_purge() {
- echo "$self: Purging branch ${git_branch} build and install"
- echo "$self: Purging $top_builddir..."
- rm -rf "$top_builddir"
- echo "$self: Purging $top_installdir..."
- rm -rf "$top_installdir"
- echo "$self: Finished."
-}
-
-amb_uninstall() {
- echo "$self: Uninstalling branch ${git_branch}"
- echo "$self: Purging $top_builddir..."
- rm -rf "$top_installdir"
- echo "$self: Finished."
-}
-
-amb_shell() {
- if test -d "$top_builddir"; then :; else
- die "Build directory does not exist yet: ${top_builddir}"
- fi
- echo "$self: Starting shell for branch ${git_branch}"
- export git_amb_srcdir="top_srcdir"
- export git_amb_builddir="top_builddir"
- export git_amb_installdir="top_installdir"
- amb_printvars
- export PS1="\
-[Ctrl-D or 'exit' to quit $self shell for branch ${git_branch}]\n\
-[<$self> \w]\n\
-[<$(echo "$self" | sed 's/./-/g')> \u@\h \W]\$ \
-"
- cd "$top_builddir" && ${SHELL} "$@"
-}
-
-# Abort on error
-set -e
-
-# The great command case
-command="$1"
-if shift; then
- case "$command" in
- builddir)
- amb_init "$@"
- echo "$top_builddir"
- ;;
- installdir)
- amb_init "$@"
- echo "$top_installdir"
- ;;
- autoreconf)
- amb_init
- amb_autoreconf "$@"
- amb_printvars
- ;;
- configure)
- amb_init
- amb_configure "$@"
- amb_printvars
- ;;
- make)
- amb_init
- amb_make "$@"
- amb_printvars
- ;;
- clean)
- amb_init "$@"
- amb_make clean
- amb_printvars
- ;;
- distclean)
- amb_init "$@"
- amb_make distclean
- amb_printvars
- ;;
- purge)
- amb_init "$@"
- amb_purge
- ;;
- uninstall)
- amb_init "$@"
- amb_uninstall
- ;;
- sh)
- amb_init
- amb_shell "$@"
- amb_printvars
- ;;
- *)
- die "Invalid command line parameter: \"$command\""
- ;;
- esac
-else
- amb_init
- amb_printvars
-fi
-
-# End of file.