diff options
Diffstat (limited to 'configure')
| -rwxr-xr-x | configure | 88 | 
1 files changed, 88 insertions, 0 deletions
| diff --git a/configure b/configure new file mode 100755 index 0000000..be18c25 --- /dev/null +++ b/configure @@ -0,0 +1,88 @@ +#! /bin/sh +# +# Necessary preparations/configurations for the reproduction pipeline. +# +# Original author: +#     Your name <your@email.address> +# Contributing author(s): +# Copyright (C) YYYY, Your Name. +# +# This script 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 3 of the License, or +# (at your option) any later version. +# +# This script 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. +# +# A copy of the GNU General Public License is available at +# <http://www.gnu.org/licenses/>. + + + + + +# Location of the settings directory: +pdir=reproduce/config/pipeline + + +# Message to print for editing +function msg { +    echo; echo "Top-level reproduction directories are set."; +    echo "Please run the following command to start the pipeline:" +    echo "(Replace '8' with the number of CPU threads available)" +    echo; echo "    make -j8" +    echo; +} + + +# If `DIRECTORIES.mk' is already created, then ignore this step. +if [ -f $pdir/DIRECTORIES.mk ]; then +    echo +    echo "$pdir/DIRECTORIES.mk already exists." +    echo "To change/correct the top-level directories, please remove/edit it manually." +    echo +else + +    # Copy the base file to the desired output file. +    if cp $pdir/DIRECTORIES.mk.in $pdir/DIRECTORIES.mk; then + +        # Tell the user to edit the directories. +        while [ "$userread" != "y" -a "$userread" != "n" ] +        do +            echo "Top-level directories..." +            echo +            echo "These directories define the input(s) location and the" +            echo "directory to host the intermediate/processing files." +            echo +            echo "To help in your ability to read and manage this pipeline," +            echo "it is recommended (but not mandatory) to change them to" +            echo "a directory outside this reproduction pipeline." +            echo +            echo "More descriptions are provided within the file that is" +            echo "opened if you choose to edit the directories." +            echo +            read -p"Edit the default top-level directories (y/n)? " userread +        done + +        # Only continue if the user wants to edit the top level +        # directories +        if [ $userread = "y" ]; then + +            # Open a text editor to set the given directories +            if emacs $pdir/DIRECTORIES.mk;   then msg +            elif gedit $pdir/DIRECTORIES.mk; then msg +            elif vi $pdir/DIRECTORIES.mk;    then msg +            else +                echo +                echo "No common text editor found on your system." +                echo "Please set the values in '$pdir/DIRECTORIES.mk' manually." +                echo +            fi +        fi +    else +        echo; echo "Couldn't create $pdir/DIRECTORIES.mk" +    fi +fi | 
