COIN-OR::LEMON - Graph Library

source: lemon-main/scripts/bootstrap.sh @ 843:81f7e910060b

Last change on this file since 843:81f7e910060b was 794:313d58f9e544, checked in by Alpar Juttner <alpar@…>, 15 years ago

Valgring option for ./scripts/bootstrap.sh

  • Property exe set to *
File size: 3.0 KB
RevLine 
[732]1#!/bin/bash
2#
3# This file is a part of LEMON, a generic C++ optimization library.
4#
5# Copyright (C) 2003-2009
6# Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
7# (Egervary Research Group on Combinatorial Optimization, EGRES).
8#
9# Permission to use, modify and distribute this software is granted
10# provided that this copyright notice appears in all copies. For
11# precise terms see the accompanying LICENSE file.
12#
13# This software is provided "AS IS" with no warranty of any kind,
14# express or implied, and with no claim as to its suitability for any
15# purpose.
16
17
18if [ ! -f ~/.lemon-bootstrap ]; then
19    echo 'Create ~/.lemon-bootstrap'.
20    cat >~/.lemon-bootstrap <<EOF
21#
22# Default settings for bootstraping the LEMON source code repository
23#
24EOF
25fi
26
27source ~/.lemon-bootstrap
28if [ -f ../../../.lemon-bootstrap ]; then source ../../../.lemon-bootstrap; fi
29if [ -f ../../.lemon-bootstrap ]; then source ../../.lemon-bootstrap; fi
30if [ -f ../.lemon-bootstrap ]; then source ../.lemon-bootstrap; fi
31if [ -f ./.lemon-bootstrap ]; then source ./.lemon-bootstrap; fi
32
33
34function augment_config() {
35    if [ "x${!1}" == "x" ]; then
36        eval $1=$2
37        echo Add "'$1'" to '~/.lemon-bootstrap'.
38        echo >>~/.lemon-bootstrap
39        echo $3 >>~/.lemon-bootstrap
40        echo $1=$2 >>~/.lemon-bootstrap
41    fi
42}
43
44augment_config LEMON_INSTALL_PREFIX /usr/local \
45    "# LEMON installation prefix"
46
47augment_config COIN_OR_PREFIX /usr/local/coin-or \
48    "# COIN-OR installation root prefix (used for CLP/CBC)"
49
[747]50augment_config SOPLEX_PREFIX /usr/local/soplex \
51    "# Soplex build prefix"
52
[732]53
54function ask() {
55echo -n "$1 [$2]? "
56read _an
57if [ "x$_an" == "x" ]; then
58    ret="$2"
59else
60    ret=$_an
61fi
62}
63
64function yesorno() {
65    ret='rossz'
66    while [ "$ret" != "y" -a "$ret" != "n" -a "$ret" != "yes" -a "$ret" != "no" ]; do
67        ask "$1" "$2"
68    done
69    if [ "$ret" != "y" -a "$ret" != "yes" ]; then
70        return 1
71    else
72        return 0
73    fi
74}
75
76if yesorno "External build" "n"
77then
78    CONFIGURE_PATH=".."
79else
80    CONFIGURE_PATH="."
81    if yesorno "Autoreconf" "y"
82    then
83        AUTORE=yes
84    else
85        AUTORE=no
86    fi
87fi
88
89if yesorno "Optimize" "n"
90then
91    opt_flags=' -O2'
92else
93    opt_flags=''
94fi
95
96if yesorno "Stop on warning" "y"
97then
98    werror_flags=' -Werror'
99else
100    werror_flags=''
101fi
102
103cxx_flags="CXXFLAGS=-ggdb$opt_flags$werror_flags"
104
[794]105if yesorno "Check with valgrind" "n"
106then
107    valgrind_flags=' --enable-valgrind'
108else
109    valgrind_flags=''
110fi
111
[747]112if [ -f ${COIN_OR_PREFIX}/include/coin/config_coinutils.h ]; then
113    if yesorno "Use COIN-OR (CBC/CLP)" "n"
114    then
115        coin_flag="--with-coin=$COIN_OR_PREFIX"
116    else
117        coin_flag=""
118    fi
[732]119else
[747]120    coin_flag=""       
[732]121fi
122
[747]123if [ -f ${SOPLEX_PREFIX}/src/soplex.h ]; then
124    if yesorno "Use Soplex" "n"
125    then
126        soplex_flag="--with-soplex=$SOPLEX_PREFIX"
127    else
128        soplex_flag=""
129    fi
130else
131    soplex_flag=""
132fi
[732]133
134if [ "x$AUTORE" == "xyes" ]; then
135    autoreconf -vif;
136fi
137${CONFIGURE_PATH}/configure --prefix=$LEMON_INSTALL_PREFIX \
[794]138$valgrind_flags \
[732]139"$cxx_flags" \
140$coin_flag \
[747]141$soplex_flag \
[732]142$*
Note: See TracBrowser for help on using the repository browser.