Merge lp:~tangent-org/libmemcached/1.0-build Build: jenkins-Libmemcached-1.0-63
[awesomized/libmemcached] / bootstrap.sh
index 74637a89b2a6acb6da967804de3e89ad42618d47..b6da38cdf62ec250d7ca90f8a45eb6c92138e675 100755 (executable)
@@ -76,8 +76,8 @@ configure_target_platform () {
 
 setup_gdb_command () {
   GDB_TMPFILE=$(mktemp /tmp/gdb.XXXXXXXXXX)
-  echo "set logging on" > $GDB_TMPFILE
-  echo "set logging overwrite on" >> $GDB_TMPFILE
+  echo "set logging overwrite on" > $GDB_TMPFILE
+  echo "set logging on" >> $GDB_TMPFILE
   echo "set environment LIBTEST_IN_GDB=1" >> $GDB_TMPFILE
   echo "run" >> $GDB_TMPFILE
   echo "thread apply all bt" >> $GDB_TMPFILE
@@ -246,7 +246,7 @@ make_target () {
   fi
 
   MAKE_TARGET=$1
-  run $MAKE $MAKE_J $MAKE_TARGET || die "Cannot execute $MAKE $MAKE_TARGET"
+  run $MAKE $MAKE_TARGET || die "Cannot execute $MAKE $MAKE_TARGET"
 
   if [ -n "$MAKE_TARGET" ]; then
     MAKE_TARGET=$OLD_MAKE_TARGET
@@ -265,6 +265,10 @@ make_distclean () {
   make_target distclean
 }
 
+make_maintainer_clean () {
+  make_target maintainer-clean
+}
+
 make_check () {
   make_target check
 }
@@ -281,27 +285,55 @@ run() {
   $@ $ARGS
 } 
 
+parse_command_line_options() {
+
+  if ! options=$(getopt -o c --long configure -n 'bootstrap' -- "$@"); then
+    exit 1
+  fi
+
+  eval set -- "$options"
+
+  while [ $# -gt 0 ]; do
+    case $1 in
+      -c | --configure )
+        CONFIGURE_OPTION="yes" ; shift;;
+      -- )
+        shift; break;;
+      -* )
+        echo "$0: error - unrecognized option $1" 1>&2; exit 1;;
+      *)
+        break;;
+    esac
+  done
+}
+
+
+
 bootstrap() {
+  parse_command_line_options $@
   determine_target_platform
 
+  DEFAULT_DEV_AUTORECONF_FLAGS="--install --force --verbose -Wall -Werror"
+  DEFAULT_AUTORECONF_FLAGS="--install --force --verbose -Wall"
+
   if [ -d .git ]; then
-    AUTORECONF_FLAGS="--install --force --verbose -Wall -Werror"
+    AUTORECONF_FLAGS=$DEFAULT_DEV_AUTORECONF_FLAGS
     VCS_CHECKOUT=git
   elif [ -d .bzr ]; then
-    AUTORECONF_FLAGS="--install --force --verbose -Wall -Werror"
+    AUTORECONF_FLAGS=$DEFAULT_DEV_AUTORECONF_FLAGS
     VCS_CHECKOUT=bzr
   elif [ -d .svn ]; then
-    AUTORECONF_FLAGS="--install --force --verbose -Wall -Werror"
+    AUTORECONF_FLAGS=$DEFAULT_DEV_AUTORECONF_FLAGS
     VCS_CHECKOUT=svn
   elif [ -d .hg ]; then
-    AUTORECONF_FLAGS="--install --force --verbose -Wall -Werror"
+    AUTORECONF_FLAGS=$DEFAULT_DEV_AUTORECONF_FLAGS
     VCS_CHECKOUT=hg
   else
-    AUTORECONF_FLAGS="--install --force --verbose -Wall"
+    AUTORECONF_FLAGS=$DEFAULT_AUTORECONF_FLAGS
   fi
 
   if [ -z "$LIBTOOLIZE_FLAGS" ]; then
-    LIBTOOLIZE_FLAGS="--force --verbose"
+    LIBTOOLIZE_FLAGS="--force --verbose --install"
   fi
 
   if [ "$PLATFORM" = "darwin" ]; then
@@ -327,24 +359,25 @@ bootstrap() {
     MAKE="make"
   fi
 
-  # Set ENV MAKE_J in order to override "-j2"
-  if [ -z "$MAKE_J" ]; then
-    MAKE_J="-j2"
-  fi
-
   # Set ENV PREFIX in order to set --prefix for ./configure
   if [ -n "$PREFIX" ]; then 
     PREFIX_ARG="--prefix=$PREFIX"
   fi
 
   if [ -f Makefile ]; then
-    $MAKE $MAKE_J maintainer-clean
+    make_maintainer_clean
+    rm -f Makefile.in
+    rm -f aminclude.am
   fi
 
   run $LIBTOOLIZE $LIBTOOLIZE_FLAGS || die "Cannot execute $LIBTOOLIZE $LIBTOOLIZE_FLAGS"
   run $AUTORECONF $AUTORECONF_FLAGS || die "Cannot execute $AUTORECONF $AUTORECONF_FLAGS"
 
   configure_target_platform
+  
+  if [ "$CONFIGURE_OPTION" == "yes" ]; then
+    exit
+  fi
 
   # Backwards compatibility
   if [ -n "$VALGRIND" ]; then
@@ -382,8 +415,9 @@ bootstrap() {
 export -n VCS_CHECKOUT
 export -n PLATFORM
 export -n TARGET_PLATFORM
+CONFIGURE_OPTION=no
 VCS_CHECKOUT=
 PLATFORM=unknown
 TARGET_PLATFORM=unknown
 
-bootstrap
+bootstrap $@