# This file contains site-specific settings for the configure scripts.
# It can be used to specify options that are otherwise given to the
# configure script as command line arguments or environment variables.
#
# This file must be located either in $prefix/share or $prefix/etc, where
# prefix is the installation location.  For the COIN packages, this is
# by default the directory where the configure of the main package is run,
# unless the --prefix option was given to the configure script.
# Alternatively, one can set the environment variable CONFIG_SITE to the full
# path to this file.
#
# This template file also serves as documentation for many available
# configure options for COIN-OR projects.  Please be aware of the following
# conventions that translate the command line format into the one for the
# config.site file:
#
#   Command line version                config.site version
#
#   --with-NAME1-NAME2                  with_NAME1_NAME2=yes
#   --with-NAME1-NAME2="VALUE"          with_NAME1_NAME2="VALUE"
#   --without-NAME1-NAME2               with_NAME1_NAME2=no
#   --enable-NAME1-NAME2                enable_NAME1_NAME2=yes
#   --enable-NAME1-NAME2="VALUE"        enable_NAME1_NAME2="VALUE"
#   --disable-NAME1-NAME2               enable_NAME1_NAME2=no
#
# Here, "NAME1-NAME2" is some string corresponding to a particular option;
# note that dashes (-) are converted into underscores(_).  VALUE is the
# string that is the actual argument to an option.
# Other variables that are directly assigned in the configure command line,
# such as CXX=g++, are also written in this way in the config.site file.
#
# Note:  This is a /bin/sh script, setting variables.  There must be no
# space between "=" and the value, and if required, a quotation must be
# used.
#
# In the following we show some arguments for configure that can be used
# for the COIN configure scripts.


##########################################################################
#                      C++ compiler choice and options                   #
##########################################################################

# C++ compiler name
#CXX=g++

# C++ compiler options, overwriting configure's default choice
#CXXFLAGS='-O3 -pipe'

# Additional C++ compiler options that are added to configure's default
# choice
#ADD_CXXFLAGS='-pg'

# Additional preprocessor definitions for the C++ compiler
#CXXDEFS='-DZEROFAULT'

# Sometimes it is desirable to compile some projects in debug mode,
# and some in default optimized mode (see also enable_debug_compile
# below).  In those cases, you can set the separate C++ compiler
# options for optimized and debug compilation using the following
# variables:
#OPT_CXXFLAGS='-O3 -pipe'
#DBG_CXXFLAGS='-g -pipe'

# If you are using MPI, it is best to specify the underlying C++
# compiler for the configure script in CXX (so that it can figure out
# the default compiler options and test them), but then to tell the
# configure script the actual MPI compiler (wrapper) using the
# following variable
#MPICXX='mpiCC'

# If a project's library is generated from C++, but the compilers used
# for linking is a C or Fortran compiler, one has to provide this
# compilers with the C++ runtime libraries.  This is done with the
# following variable:
#CXXLIBS='-lstdc++ -lm'


##########################################################################
#                       C compiler choice and options                    #
##########################################################################

# C compiler name
#CC=gcc

# C compiler options, overwriting configure's default choice
#CFLAGS='-O3 -pipe'

# Additional C compiler options that are added to configure's default choice
#ADD_CFLAGS='-pg'

# Additional preprocessor definitions for the C compiler
#CDEFS='-DZEROFAULT'

# Sometimes it is desirable to compile some projects in debug mode,
# and some in default optimized mode (see also enable_debug_compile
# below).  In those cases, you can set the separate C compiler
# options for optimized and debug compilation using the following
# variables:
#OPT_CFLAGS='-O3 -pipe'
#DBG_CFLAGS='-g -pipe'

# If you are using MPI, it is best to specify the underlying C
# compiler for the configure script in CC (so that it can figure out
# the default compiler options and test them), but then to tell the
# configure script the actual MPI compiler (wrapper) using the
# following variable
#MPICC='mpicc'


##########################################################################
#                   Fortran compiler choice and options                  #
##########################################################################

# Fortran compiler name
#F77=gfortran

# Fortran compiler options, overwriting configure's default choice
#FFLAGS='-O3 -pipe'

# Additional Fortran compiler options that are added to configure's default
# choice
#ADD_FFLAGS='-pg'

# Sometimes it is desirable to compile some projects in debug mode,
# and some in default optimized mode (see also enable_debug_compile
# below).  In those cases, you can set the separate Fortran compiler
# options for optimized and debug compilation using the following
# variables:
#OPT_FFLAGS='-O3 -pipe'
#DBG_FFLAGS='-g -pipe'

# If you are using MPI, it is best to specify the underlying Fortran
# compiler for the configure script in F77 (so that it can figure out
# the default compiler options and test them), but then to tell the
# configure script the actual MPI compiler (wrapper) using the
# following variable
#MPIF77='mpif77'


##########################################################################
#                    Utility programs and their options                  #
##########################################################################

# Program for creating and extracting archives
#AR=ar

# Program for listing symbols in a binary
#NM=nm


##########################################################################
#          Flags for setting compilation and configuration modes         #
##########################################################################


##### INSTALLATION LOCATION

# This --prefix flag determines where the binaries etc. are going to
# be installed.  By default, this is equal to the directory where
# 'configure' is run, so that the 'bin/', 'lib/' etc. directories are
# created as subdirectories there.  One could also choose other
# destinations, but keep in mind that some COIN packages use the same
# COIN "sub-projects", but possibly different and conflicting
# versions.
#prefix=$HOME/MyCOIN


##### COMPILATION MODE UNDER CYGWIN

# This options can only be used under Cygwin, and it has the following
# possible choices:
# - mingw (default): Use the GNU compilers to compile binaries that
#          can be run independently of Cygwin (particularly without
#          Cygwin1.dll)
# - msvc: Use the "native" Windows compilers, such as cl, ifort
# - no:   Use GNU compilers to generate Cygwin-specific binaries.
#enable_doscompile=msvc


##### SKIPPING CONFIGURATION AND COMPILATION OF SUBPROJECTS

# It is possible to skip the configuration and compilation of COIN
# projects in a package, even when the source code for the subproject
# is there.  For this, list the directory names that are supposed to
# be skipped in the variable
#COIN_SKIP_PROJECTS="Bcp Couenne"


##### DEBUG COMPILATION

# Switch on debug compilation for all projects.  (Note that this will also
# switch to the usage of static instead of shared libraries, see
# enable_shared below)
#enable_debug=yes

# Switch on debug compilation only for a specific project is done with
# the command line flag enable-debug-project, where "project" is the string
# with the project name (say, Clp, for the example).
#enable_debug_clp=yes

# Similarly, if the global enable-debug is set, we can switch it off for a
# particular project, using
#enable_debug_clp=no

# Each project can make use of a project-specific "checklevel".  It
# depends on the project manager, if and how this is used.  The level
# checklevel is specified with the --with-PROJECT-checklevel, where
# PROJECT is the lower-case string of the project name.  For Ipopt,
# this looks like
#with_ipopt_checklevel=1

# Each project can make use of a project-specific "verbosity" level.
# It depends on the project manager, if and how this is used.  The
# level checklevel is specified with the --with-PROJECT-verbosity,
# where PROJECT is the lower-case string of the project name.  For
# Ipopt, this looks like
#with_ipopt_verbosity=1


##### CREATING SHARED VS. STATIC LIBRARIES

# By default, projects that are compiled in optimized mode, produce
# shared libraries (if supported), and those compiled in debug mode,
# produce static libraries.  This behavior can be changed using the
# following options:

# disable shared mode: compile every library as static
#enable_shared=no

# disable static mode: compile every library as shared
#enable_static=no

# enable shared mode: compile always a shared library (possibly in
# addition to a static one)
#enable_shared=yes

# enable shared mode: compile always a static library (possibly in
# addition to a shared one)
#enable_static=yes

##### MAINTAINER MODE

# Project developers might want to make changes to the autotools files.
# Using --enable-maintainer-mode enables a number of automatic updates,
# including:
#  - regeneration of Makefiles if Makefile.am is changes, 
#  - regeneration and rerunning of configure script if required
#  - updating the svn externals if the Externals file has changed
#enable_maintainer_mode


##########################################################################
#                      Third-Party Codes and Packages                    #
##########################################################################

##### GENERIC FLAGS

# Use the following if we want to have configure check for GNU packages
# (such as zlib, bzlib, and readline)
#enable_gnu_packages=yes

# To use some third-party libraries, such as LP solvers, one needs to
# specify both the directory with all header files as well as the
# linker flags for linking with the library.  This is done with the
# --with-LIB-incdir and --with-LIB-lib configure flags, where "LIB" is
# replaced by the lower-case short-form of the library.  A possibly
# incomplete list of choices for LIB in the current COIN-OR projects is:
# cplex, gurobi, mosek, soplex, xpress.
# For Cplex, one might set the following:
#with_cplex_incdir='/usr/ilog/cplex90/include/ilcplex'
#with_cplex_lib='-L/usr/ilog/cplex90/lib/static_pic -lcplex -lpthread'

##### FLAGS FOR SPECIFIC LIBRARIES IN THIRDPARTY

# For some third-party dependencies, COIN supports automatic build
# procedures, for which the user can download the external source code
# into appropriate subdirectories in a "ThirdParty" subdirectory.  But
# the user might want to specify locations of already precompiled versions
# of those dependencies.  Those flags are discussed next.

### BLAS
# Flag indicating where to find Blas.  If --with-blas is not used,
# the configure script will try a few default locations of Blas, and
# if it doesn't find Blas, it will test if the Blas source files are
# in ThirdParty/Blas.  If so, those will be compiled, otherwise we
# assume that Blas is not available.
#
# Specify precompiled Blas libraries via linker flags:
#with_blas="-lf77blas -latlas /usr/lib64/libg2c.so"
# Specify that Blas should be compiled within the 
#with_blas=BUILD
# Specify that Blas should not be used
#with_blas=no

### LAPACK
# Flag indicating where to find Lapack.  If --with-lapack is not used,
# the configure script will try a few default locations of Lapack, and
# if it doesn't find Lapack, it will test if the Lapack source files are
# in ThirdParty/Lapack.  If so, those will be compiled, otherwise we
# assume that Lapack is not available.
#
# Specify precompiled Lapack libraries via linker flags:
#with_lapack="-L$HOME/lib -lmylapack"
# Specify that Lapack should be compiled within the 
#with_lapack=BUILD
# Specify that Lapack should not be used
#with_lapack=no
