alpar@732: #!/bin/bash alpar@732: # alpar@732: # This file is a part of LEMON, a generic C++ optimization library. alpar@732: # alpar@732: # Copyright (C) 2003-2009 alpar@732: # Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport alpar@732: # (Egervary Research Group on Combinatorial Optimization, EGRES). alpar@732: # alpar@732: # Permission to use, modify and distribute this software is granted alpar@732: # provided that this copyright notice appears in all copies. For alpar@732: # precise terms see the accompanying LICENSE file. alpar@732: # alpar@732: # This software is provided "AS IS" with no warranty of any kind, alpar@732: # express or implied, and with no claim as to its suitability for any alpar@732: # purpose. alpar@732: alpar@732: alpar@732: if [ ! -f ~/.lemon-bootstrap ]; then alpar@732: echo 'Create ~/.lemon-bootstrap'. alpar@732: cat >~/.lemon-bootstrap <>~/.lemon-bootstrap alpar@732: echo $3 >>~/.lemon-bootstrap alpar@732: echo $1=$2 >>~/.lemon-bootstrap alpar@732: fi alpar@732: } alpar@732: alpar@732: augment_config LEMON_INSTALL_PREFIX /usr/local \ alpar@732: "# LEMON installation prefix" alpar@732: alpar@732: augment_config COIN_OR_PREFIX /usr/local/coin-or \ alpar@732: "# COIN-OR installation root prefix (used for CLP/CBC)" alpar@732: alpar@732: alpar@732: function ask() { alpar@732: echo -n "$1 [$2]? " alpar@732: read _an alpar@732: if [ "x$_an" == "x" ]; then alpar@732: ret="$2" alpar@732: else alpar@732: ret=$_an alpar@732: fi alpar@732: } alpar@732: alpar@732: function yesorno() { alpar@732: ret='rossz' alpar@732: while [ "$ret" != "y" -a "$ret" != "n" -a "$ret" != "yes" -a "$ret" != "no" ]; do alpar@732: ask "$1" "$2" alpar@732: done alpar@732: if [ "$ret" != "y" -a "$ret" != "yes" ]; then alpar@732: return 1 alpar@732: else alpar@732: return 0 alpar@732: fi alpar@732: } alpar@732: alpar@732: if yesorno "External build" "n" alpar@732: then alpar@732: CONFIGURE_PATH=".." alpar@732: else alpar@732: CONFIGURE_PATH="." alpar@732: if yesorno "Autoreconf" "y" alpar@732: then alpar@732: AUTORE=yes alpar@732: else alpar@732: AUTORE=no alpar@732: fi alpar@732: fi alpar@732: alpar@732: if yesorno "Optimize" "n" alpar@732: then alpar@732: opt_flags=' -O2' alpar@732: else alpar@732: opt_flags='' alpar@732: fi alpar@732: alpar@732: if yesorno "Stop on warning" "y" alpar@732: then alpar@732: werror_flags=' -Werror' alpar@732: else alpar@732: werror_flags='' alpar@732: fi alpar@732: alpar@732: cxx_flags="CXXFLAGS=-ggdb$opt_flags$werror_flags" alpar@732: alpar@732: if yesorno "Use COIN" "n" alpar@732: then alpar@732: coin_flag="--with-coin=$COIN_OR_PREFIX" alpar@732: else alpar@732: coin_flag="" alpar@732: fi alpar@732: alpar@732: alpar@732: if [ "x$AUTORE" == "xyes" ]; then alpar@732: autoreconf -vif; alpar@732: fi alpar@732: ${CONFIGURE_PATH}/configure --prefix=$LEMON_INSTALL_PREFIX \ alpar@732: "$cxx_flags" \ alpar@732: $coin_flag \ alpar@732: $*