Changeset 1559


Ignore:
Timestamp:
Jun 5, 2010 3:42:36 PM (8 years ago)
Author:
stefan
Message:

merge split branch into trunk

Location:
trunk
Files:
1 deleted
48 edited
11 copied

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:externals
      •  

        old new  
        1 BuildTools    https://projects.coin-or.org/svn/BuildTools/stable/0.6
        2 ThirdParty/Blas https://projects.coin-or.org/svn/BuildTools/ThirdParty/Blas/stable/1.0
        3 ThirdParty/Lapack https://projects.coin-or.org/svn/BuildTools/ThirdParty/Lapack/stable/1.0
        4 Data/Netlib   https://projects.coin-or.org/svn/Data/stable/1.0/Netlib
        5 Data/Sample   https://projects.coin-or.org/svn/Data/stable/1.0/Sample
        6 CoinUtils     https://projects.coin-or.org/svn/CoinUtils/stable/2.6/CoinUtils
        7 
         1BuildTools    https://projects.coin-or.org/svn/BuildTools/trunk
         2ThirdParty/Blas https://projects.coin-or.org/svn/BuildTools/ThirdParty/Blas/trunk
         3ThirdParty/Lapack https://projects.coin-or.org/svn/BuildTools/ThirdParty/Lapack/trunk
         4#Data/Netlib   https://projects.coin-or.org/svn/Data/trunk/Netlib
         5Data/Sample   https://projects.coin-or.org/svn/Data/trunk/Sample
         6CoinUtils     https://projects.coin-or.org/svn/CoinUtils/trunk/CoinUtils
    • Property svn:mergeinfo changed
      /branches/split (added)merged: 1522,​1527-1531,​1542-1550,​1558
  • trunk/Clp/Makefile.am

    r1162 r1559  
    8989        if test -r test/Makefile; then cd test; $(MAKE) distclean; fi
    9090
     91install-exec-local: install-doc
     92
     93uninstall-local: uninstall-doc
     94
    9195.PHONY: test unitTest
    9296
     
    9599########################################################################
    96100
    97 addlibsfile = clp_addlibs.txt
    98 addlibsdir = $(prefix)/share/doc/coin/$(PACKAGE_NAME)/
     101if COIN_HAS_PKGCONFIG
     102addlibsdir = $(datadir)/coin/doc/Clp
     103addlibs_DATA = clp_addlibs.txt
    99104
    100 install-exec-local: install-doc
    101         $(install_sh_DATA) $(addlibsfile) $(DESTDIR)$(addlibsdir)/$(addlibsfile)
     105clp_addlibs.txt : clp.pc
     106        PKG_CONFIG_PATH=.:@COIN_PKG_CONFIG_PATH@ $(PKG_CONFIG) --libs clp > clp_addlibs.txt
     107endif
    102108
    103 uninstall-local: uninstall-doc
    104         rm -f $(DESTDIR)$(addlibsdir)/$(addlibsfile)
     109pkgconfiglibdir = $(libdir)/pkgconfig
     110pkgconfiglib_DATA = clp.pc
    105111
    106112########################################################################
     
    108114########################################################################
    109115
     116CLEANFILES = clp_addlibs.txt
     117
    110118# Files that are generated and should be cleaned with make distclean
    111119DISTCLEANFILES =
  • trunk/Clp/Makefile.in

    r1162 r1559  
    3030#                    Documentation installation                        #
    3131########################################################################
     32
    3233srcdir = @srcdir@
    3334top_srcdir = @top_srcdir@
     
    6263        $(srcdir)/../ltmain.sh $(srcdir)/../missing \
    6364        $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
    64         $(srcdir)/clp_addlibs.txt.in $(top_srcdir)/configure \
    65         $(top_srcdir)/examples/Makefile.in \
    66         $(top_srcdir)/inc/config_clp.h.in AUTHORS
     65        $(srcdir)/clp-uninstalled.pc.in $(srcdir)/clp.pc.in \
     66        $(top_srcdir)/configure $(top_srcdir)/examples/Makefile.in \
     67        $(top_srcdir)/inc/config_clp.h.in \
     68        $(top_srcdir)/src/OsiClp/osi-clp-uninstalled.pc.in AUTHORS
    6769@HAVE_EXTERNALS_TRUE@am__append_2 = Externals
    6870@HAVE_EXTERNALS_TRUE@am__append_3 = .Externals-stamp
     
    7779mkinstalldirs = $(install_sh) -d
    7880CONFIG_HEADER = $(top_builddir)/inc/config_clp.h
    79 CONFIG_CLEAN_FILES = examples/Makefile clp_addlibs.txt
     81CONFIG_CLEAN_FILES = examples/Makefile clp.pc clp-uninstalled.pc \
     82        osi-clp-uninstalled.pc
    8083SOURCES =
    8184DIST_SOURCES =
     
    8689        pdf-recursive ps-recursive uninstall-info-recursive \
    8790        uninstall-recursive
     91am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
     92am__vpath_adj = case $$p in \
     93    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     94    *) f=$$p;; \
     95  esac;
     96am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
     97am__installdirs = "$(DESTDIR)$(addlibsdir)" \
     98        "$(DESTDIR)$(pkgconfiglibdir)"
     99addlibsDATA_INSTALL = $(INSTALL_DATA)
     100pkgconfiglibDATA_INSTALL = $(INSTALL_DATA)
     101DATA = $(addlibs_DATA) $(pkgconfiglib_DATA)
    88102ETAGS = etags
    89103CTAGS = ctags
     
    100114distuninstallcheck_listfiles = find . -type f -print
    101115distcleancheck_listfiles = find . -type f -print
     116ABSBUILDDIR = @ABSBUILDDIR@
    102117ACLOCAL = @ACLOCAL@
    103118ADDLIBS = @ADDLIBS@
     
    120135CDEFS = @CDEFS@
    121136CFLAGS = @CFLAGS@
    122 CLPDOCDIR = @CLPDOCDIR@
    123 CLPOBJDIR = @CLPOBJDIR@
    124 CLPSRCDIR = @CLPSRCDIR@
    125 COINUTILSDOCDIR = @COINUTILSDOCDIR@
    126 COINUTILSOBJDIR = @COINUTILSOBJDIR@
    127 COINUTILSSRCDIR = @COINUTILSSRCDIR@
    128 COIN_HAS_CLP_FALSE = @COIN_HAS_CLP_FALSE@
    129 COIN_HAS_CLP_TRUE = @COIN_HAS_CLP_TRUE@
     137COINUTILS_CFLAGS = @COINUTILS_CFLAGS@
     138COINUTILS_DATA = @COINUTILS_DATA@
     139COINUTILS_LIBS = @COINUTILS_LIBS@
    130140COIN_HAS_COINUTILS_FALSE = @COIN_HAS_COINUTILS_FALSE@
    131141COIN_HAS_COINUTILS_TRUE = @COIN_HAS_COINUTILS_TRUE@
     142COIN_HAS_NETLIB_FALSE = @COIN_HAS_NETLIB_FALSE@
     143COIN_HAS_NETLIB_TRUE = @COIN_HAS_NETLIB_TRUE@
     144COIN_HAS_OSITESTS_FALSE = @COIN_HAS_OSITESTS_FALSE@
     145COIN_HAS_OSITESTS_TRUE = @COIN_HAS_OSITESTS_TRUE@
     146COIN_HAS_OSI_FALSE = @COIN_HAS_OSI_FALSE@
     147COIN_HAS_OSI_TRUE = @COIN_HAS_OSI_TRUE@
     148COIN_HAS_PKGCONFIG_FALSE = @COIN_HAS_PKGCONFIG_FALSE@
     149COIN_HAS_PKGCONFIG_TRUE = @COIN_HAS_PKGCONFIG_TRUE@
     150COIN_HAS_SAMPLE_FALSE = @COIN_HAS_SAMPLE_FALSE@
     151COIN_HAS_SAMPLE_TRUE = @COIN_HAS_SAMPLE_TRUE@
     152COIN_PKG_CONFIG_PATH = @COIN_PKG_CONFIG_PATH@
    132153CPP = @CPP@
    133154CPPFLAGS = @CPPFLAGS@
     
    172193MPICC = @MPICC@
    173194MPICXX = @MPICXX@
     195NETLIB_CFLAGS = @NETLIB_CFLAGS@
     196NETLIB_DATA = @NETLIB_DATA@
     197NETLIB_LIBS = @NETLIB_LIBS@
    174198OBJEXT = @OBJEXT@
    175199OPT_CFLAGS = @OPT_CFLAGS@
    176200OPT_CXXFLAGS = @OPT_CXXFLAGS@
     201OSITESTS_CFLAGS = @OSITESTS_CFLAGS@
     202OSITESTS_DATA = @OSITESTS_DATA@
     203OSITESTS_LIBS = @OSITESTS_LIBS@
     204OSI_CFLAGS = @OSI_CFLAGS@
     205OSI_DATA = @OSI_DATA@
     206OSI_LIBS = @OSI_LIBS@
    177207PACKAGE = @PACKAGE@
    178208PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    182212PACKAGE_VERSION = @PACKAGE_VERSION@
    183213PATH_SEPARATOR = @PATH_SEPARATOR@
     214PKG_CONFIG = @PKG_CONFIG@
    184215RANLIB = @RANLIB@
     216REQUIREDPACKAGES = @REQUIREDPACKAGES@
    185217RPATH_FLAGS = @RPATH_FLAGS@
     218SAMPLE_CFLAGS = @SAMPLE_CFLAGS@
     219SAMPLE_DATA = @SAMPLE_DATA@
     220SAMPLE_LIBS = @SAMPLE_LIBS@
    186221SET_MAKE = @SET_MAKE@
    187222SHELL = @SHELL@
     
    189224VERSION = @VERSION@
    190225VPATH_DISTCLEANFILES = @VPATH_DISTCLEANFILES@
     226_SVN_REV = @_SVN_REV@
    191227abs_bin_dir = @abs_bin_dir@
    192228abs_include_dir = @abs_include_dir@
     
    201237ac_ct_STRIP = @ac_ct_STRIP@
    202238ac_cxx_preproc_warn_flag = @ac_cxx_preproc_warn_flag@
     239ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
    203240am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
    204241am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
     
    221258have_automake = @have_automake@
    222259have_svn = @have_svn@
     260have_svnversion = @have_svnversion@
    223261host = @host@
    224262host_alias = @host_alias@
     
    276314#                  Installation of the addlibs file                    #
    277315########################################################################
    278 addlibsfile = clp_addlibs.txt
    279 addlibsdir = $(prefix)/share/doc/coin/$(PACKAGE_NAME)/
     316@COIN_HAS_PKGCONFIG_TRUE@addlibsdir = $(datadir)/coin/doc/Clp
     317@COIN_HAS_PKGCONFIG_TRUE@addlibs_DATA = clp_addlibs.txt
     318pkgconfiglibdir = $(libdir)/pkgconfig
     319pkgconfiglib_DATA = clp.pc
    280320
    281321########################################################################
    282322#                         Maintainer Stuff                             #
    283323########################################################################
     324CLEANFILES = clp_addlibs.txt
    284325
    285326# Files that are generated and should be cleaned with make distclean
    286327DISTCLEANFILES = $(am__append_3) $(VPATH_DISTCLEANFILES)
    287328DocFiles = README AUTHORS LICENSE
    288 DocInstallDir = $(prefix)/share/doc/coin/$(PACKAGE_NAME)
     329DocInstallDir = $(datadir)/coin/doc/$(PACKAGE_NAME)
    289330all: all-recursive
    290331
     
    342383examples/Makefile: $(top_builddir)/config.status $(top_srcdir)/examples/Makefile.in
    343384        cd $(top_builddir) && $(SHELL) ./config.status $@
    344 clp_addlibs.txt: $(top_builddir)/config.status $(srcdir)/clp_addlibs.txt.in
     385clp.pc: $(top_builddir)/config.status $(srcdir)/clp.pc.in
     386        cd $(top_builddir) && $(SHELL) ./config.status $@
     387clp-uninstalled.pc: $(top_builddir)/config.status $(srcdir)/clp-uninstalled.pc.in
     388        cd $(top_builddir) && $(SHELL) ./config.status $@
     389osi-clp-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/OsiClp/osi-clp-uninstalled.pc.in
    345390        cd $(top_builddir) && $(SHELL) ./config.status $@
    346391
     
    354399        -rm -f libtool
    355400uninstall-info-am:
     401install-addlibsDATA: $(addlibs_DATA)
     402        @$(NORMAL_INSTALL)
     403        test -z "$(addlibsdir)" || $(mkdir_p) "$(DESTDIR)$(addlibsdir)"
     404        @list='$(addlibs_DATA)'; for p in $$list; do \
     405          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
     406          f=$(am__strip_dir) \
     407          echo " $(addlibsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(addlibsdir)/$$f'"; \
     408          $(addlibsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(addlibsdir)/$$f"; \
     409        done
     410
     411uninstall-addlibsDATA:
     412        @$(NORMAL_UNINSTALL)
     413        @list='$(addlibs_DATA)'; for p in $$list; do \
     414          f=$(am__strip_dir) \
     415          echo " rm -f '$(DESTDIR)$(addlibsdir)/$$f'"; \
     416          rm -f "$(DESTDIR)$(addlibsdir)/$$f"; \
     417        done
     418install-pkgconfiglibDATA: $(pkgconfiglib_DATA)
     419        @$(NORMAL_INSTALL)
     420        test -z "$(pkgconfiglibdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfiglibdir)"
     421        @list='$(pkgconfiglib_DATA)'; for p in $$list; do \
     422          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
     423          f=$(am__strip_dir) \
     424          echo " $(pkgconfiglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfiglibdir)/$$f'"; \
     425          $(pkgconfiglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfiglibdir)/$$f"; \
     426        done
     427
     428uninstall-pkgconfiglibDATA:
     429        @$(NORMAL_UNINSTALL)
     430        @list='$(pkgconfiglib_DATA)'; for p in $$list; do \
     431          f=$(am__strip_dir) \
     432          echo " rm -f '$(DESTDIR)$(pkgconfiglibdir)/$$f'"; \
     433          rm -f "$(DESTDIR)$(pkgconfiglibdir)/$$f"; \
     434        done
    356435
    357436# This directory's subdirectories are mostly independent; you can cd
     
    490569        $(am__remove_distdir)
    491570        mkdir $(distdir)
    492         $(mkdir_p) $(distdir)/. $(distdir)/.. $(distdir)/../BuildTools $(distdir)/doc $(distdir)/doc/Howto $(distdir)/examples $(distdir)/inc
     571        $(mkdir_p) $(distdir)/. $(distdir)/.. $(distdir)/../BuildTools $(distdir)/doc $(distdir)/doc/Howto $(distdir)/examples $(distdir)/inc $(distdir)/src/OsiClp
    493572        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
    494573        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
     
    631710check-am: all-am
    632711check: check-recursive
    633 all-am: Makefile
     712all-am: Makefile $(DATA)
    634713installdirs: installdirs-recursive
    635714installdirs-am:
     715        for dir in "$(DESTDIR)$(addlibsdir)" "$(DESTDIR)$(pkgconfiglibdir)"; do \
     716          test -z "$$dir" || $(mkdir_p) "$$dir"; \
     717        done
    636718install: install-recursive
    637719install-exec: install-exec-recursive
     
    651733
    652734clean-generic:
     735        -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
    653736
    654737distclean-generic:
     
    679762info-am:
    680763
    681 install-data-am:
     764install-data-am: install-addlibsDATA install-pkgconfiglibDATA
    682765
    683766install-exec-am: install-exec-local
     
    707790ps-am:
    708791
    709 uninstall-am: uninstall-info-am uninstall-local
     792uninstall-am: uninstall-addlibsDATA uninstall-info-am uninstall-local \
     793        uninstall-pkgconfiglibDATA
    710794
    711795uninstall-info: uninstall-info-recursive
     
    718802        distclean-local distclean-recursive distclean-tags \
    719803        distcleancheck distdir distuninstallcheck dvi dvi-am html \
    720         html-am info info-am install install-am install-data \
    721         install-data-am install-exec install-exec-am \
     804        html-am info info-am install install-addlibsDATA install-am \
     805        install-data install-data-am install-exec install-exec-am \
    722806        install-exec-local install-info install-info-am install-man \
    723         install-strip installcheck installcheck-am installdirs \
    724         installdirs-am maintainer-clean maintainer-clean-generic \
    725         maintainer-clean-recursive mostlyclean mostlyclean-generic \
    726         mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
    727         tags tags-recursive uninstall uninstall-am uninstall-info-am \
    728         uninstall-local
     807        install-pkgconfiglibDATA install-strip installcheck \
     808        installcheck-am installdirs installdirs-am maintainer-clean \
     809        maintainer-clean-generic maintainer-clean-recursive \
     810        mostlyclean mostlyclean-generic mostlyclean-libtool \
     811        mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
     812        uninstall uninstall-addlibsDATA uninstall-am uninstall-info-am \
     813        uninstall-local uninstall-pkgconfiglibDATA
    729814
    730815
     
    744829        if test -r test/Makefile; then cd test; $(MAKE) distclean; fi
    745830
     831install-exec-local: install-doc
     832
     833uninstall-local: uninstall-doc
     834
    746835.PHONY: test unitTest
    747836
    748 install-exec-local: install-doc
    749         $(install_sh_DATA) $(addlibsfile) $(DESTDIR)$(addlibsdir)/$(addlibsfile)
    750 
    751 uninstall-local: uninstall-doc
    752         rm -f $(DESTDIR)$(addlibsdir)/$(addlibsfile)
     837@COIN_HAS_PKGCONFIG_TRUE@clp_addlibs.txt : clp.pc
     838@COIN_HAS_PKGCONFIG_TRUE@       PKG_CONFIG_PATH=.:@COIN_PKG_CONFIG_PATH@ $(PKG_CONFIG) --libs clp > clp_addlibs.txt
    753839
    754840install-doc: $(DocFiles)
  • trunk/Clp/clp-uninstalled.pc.in

    r1522 r1559  
    11prefix=@prefix@
    22libdir=@ABSBUILDDIR@/src
    3 includedir=@abs_source_dir@/src
    43
    54Name: CLP
     
    76Version: @PACKAGE_VERSION@
    87Libs: -L${libdir} -lClp @ADDLIBS@
    9 Cflags: -I${includedir} -I@ABSBUILDDIR@/inc
     8Cflags: -I@abs_source_dir@/src -I@ABSBUILDDIR@/inc
    109Requires: @REQUIREDPACKAGES@
  • trunk/Clp/configure

    r1557 r1559  
    33# Generated by GNU Autoconf 2.59 for Clp trunk.
    44#
    5 # Report bugs to <coin-clp@list.coin-or.org>.
     5# Report bugs to <clp@list.coin-or.org>.
    66#
    77# Copyright (C) 2003 Free Software Foundation, Inc.
     
    432432PACKAGE_VERSION='trunk'
    433433PACKAGE_STRING='Clp trunk'
    434 PACKAGE_BUGREPORT='coin-clp@list.coin-or.org'
    435 
    436 ac_unique_file="src/ClpCholeskyBase.cpp"
     434PACKAGE_BUGREPORT='clp@list.coin-or.org'
     435
     436ac_unique_file="src/ClpSimplex.cpp"
    437437ac_default_prefix=`pwd`
    438438# Factoring default headers for most tests.
     
    473473#endif"
    474474
    475 ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os ADDLIBS FADDLIBS ALWAYS_FALSE_TRUE ALWAYS_FALSE_FALSE CDEFS ADD_CFLAGS DBG_CFLAGS OPT_CFLAGS sol_cc_compiler CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT MPICC CXXDEFS ADD_CXXFLAGS DBG_CXXFLAGS OPT_CXXFLAGS CXX CXXFLAGS ac_ct_CXX MPICXX EGREP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBTOOLM4 have_autoconf have_automake have_svn BUILDTOOLSDIR AUX_DIR abs_source_dir abs_lib_dir abs_include_dir abs_bin_dir HAVE_EXTERNALS_TRUE HAVE_EXTERNALS_FALSE host host_cpu host_vendor host_os LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL ac_c_preproc_warn_flag ac_cxx_preproc_warn_flag RPATH_FLAGS LT_LDFLAGS COINUTILSSRCDIR COINUTILSOBJDIR COINUTILSDOCDIR COIN_HAS_COINUTILS_TRUE COIN_HAS_COINUTILS_FALSE CLPSRCDIR CLPOBJDIR CLPDOCDIR COIN_HAS_CLP_TRUE COIN_HAS_CLP_FALSE LIBEXT VPATH_DISTCLEANFILES LIBOBJS LTLIBOBJS'
     475ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os ADDLIBS FADDLIBS ALWAYS_FALSE_TRUE ALWAYS_FALSE_FALSE have_svnversion _SVN_REV CDEFS ADD_CFLAGS DBG_CFLAGS OPT_CFLAGS sol_cc_compiler CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT MPICC CXXDEFS ADD_CXXFLAGS DBG_CXXFLAGS OPT_CXXFLAGS CXX CXXFLAGS ac_ct_CXX MPICXX EGREP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBTOOLM4 have_autoconf have_automake have_svn BUILDTOOLSDIR AUX_DIR abs_source_dir abs_lib_dir abs_include_dir abs_bin_dir HAVE_EXTERNALS_TRUE HAVE_EXTERNALS_FALSE host host_cpu host_vendor host_os LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL ac_c_preproc_warn_flag ac_cxx_preproc_warn_flag RPATH_FLAGS LT_LDFLAGS PKG_CONFIG ac_pt_PKG_CONFIG COIN_HAS_PKGCONFIG_TRUE COIN_HAS_PKGCONFIG_FALSE COIN_PKG_CONFIG_PATH COINUTILS_LIBS COINUTILS_CFLAGS COINUTILS_DATA REQUIREDPACKAGES COIN_HAS_COINUTILS_TRUE COIN_HAS_COINUTILS_FALSE OSI_LIBS OSI_CFLAGS OSI_DATA COIN_HAS_OSI_TRUE COIN_HAS_OSI_FALSE OSITESTS_LIBS OSITESTS_CFLAGS OSITESTS_DATA COIN_HAS_OSITESTS_TRUE COIN_HAS_OSITESTS_FALSE SAMPLE_LIBS SAMPLE_CFLAGS SAMPLE_DATA COIN_HAS_SAMPLE_TRUE COIN_HAS_SAMPLE_FALSE NETLIB_LIBS NETLIB_CFLAGS NETLIB_DATA COIN_HAS_NETLIB_TRUE COIN_HAS_NETLIB_FALSE LIBEXT VPATH_DISTCLEANFILES ABSBUILDDIR LIBOBJS LTLIBOBJS'
    476476ac_subst_files=''
    477477
     
    994994ac_cv_env_FFLAGS_set=${FFLAGS+set}
    995995ac_cv_env_FFLAGS_value=$FFLAGS
     996ac_env_PKG_CONFIG_set=${PKG_CONFIG+set}
     997ac_env_PKG_CONFIG_value=$PKG_CONFIG
     998ac_cv_env_PKG_CONFIG_set=${PKG_CONFIG+set}
     999ac_cv_env_PKG_CONFIG_value=$PKG_CONFIG
    9961000
    9971001#
     
    10931097                          optimize for fast installation [default=yes]
    10941098  --disable-libtool-lock  avoid locking (might break parallel builds)
     1099  --enable-pkg-config     use pkg-config if available (default is yes)
    10951100  --enable-gnu-packages   compile with GNU packages (disabled by default)
    10961101
     
    11051110  --with-tags[=TAGS]
    11061111                          include additional configurations [automatic]
     1112  --with-coin-instdir     prefix of installation directory for precompiled
     1113                          COIN packages
     1114  --with-coinutils-lib linker flags for using module CoinUtils
     1115  --with-coinutils-incdir directory with header files for using module
     1116                          CoinUtils
     1117  --with-coinutils-datadir
     1118                          directory with data files for using module CoinUtils
     1119  --with-osi-lib linker flags for using module Osi
     1120  --with-osi-incdir directory with header files for using module Osi
     1121  --with-osi-datadir directory with data files for using module Osi
     1122  --with-ositests-lib linker flags for using module OsiTests
     1123  --with-ositests-incdir directory with header files for using module OsiTests
     1124  --with-ositests-datadir directory with data files for using module OsiTests
     1125  --with-sample-lib linker flags for using module Sample
     1126  --with-sample-incdir directory with header files for using module Sample
     1127  --with-sample-datadir directory with data files for using module Sample
     1128  --with-netlib-lib linker flags for using module Netlib
     1129  --with-netlib-incdir directory with header files for using module Netlib
     1130  --with-netlib-datadir directory with data files for using module Netlib
    11071131  --with-wsmp             specify WSMP library
    11081132
     
    11331157  F77         Fortran 77 compiler command
    11341158  FFLAGS      Fortran 77 compiler flags
     1159  PKG_CONFIG  path to pkg-config utility
    11351160
    11361161Use these variables to override the choices made by `configure' or to help
    11371162it to find libraries and programs with nonstandard names/locations.
    11381163
    1139 Report bugs to <coin-clp@list.coin-or.org>.
     1164Report bugs to <clp@list.coin-or.org>.
    11401165_ACEOF
    11411166fi
     
    16931718fi
    16941719
     1720
     1721#Set the project's version number
     1722if test "x" != x; then
     1723
     1724cat >>confdefs.h <<_ACEOF
     1725#define _VERSION "$PACKAGE_VERSION"
     1726_ACEOF
     1727
     1728fi
     1729
     1730#Set the project's SVN revision number
     1731# Extract the first word of "svnversion", so it can be a program name with args.
     1732set dummy svnversion; ac_word=$2
     1733echo "$as_me:$LINENO: checking for $ac_word" >&5
     1734echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
     1735if test "${ac_cv_prog_have_svnversion+set}" = set; then
     1736  echo $ECHO_N "(cached) $ECHO_C" >&6
     1737else
     1738  if test -n "$have_svnversion"; then
     1739  ac_cv_prog_have_svnversion="$have_svnversion" # Let the user override the test.
     1740else
     1741as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     1742for as_dir in $PATH
     1743do
     1744  IFS=$as_save_IFS
     1745  test -z "$as_dir" && as_dir=.
     1746  for ac_exec_ext in '' $ac_executable_extensions; do
     1747  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     1748    ac_cv_prog_have_svnversion="yes"
     1749    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     1750    break 2
     1751  fi
     1752done
     1753done
     1754
     1755  test -z "$ac_cv_prog_have_svnversion" && ac_cv_prog_have_svnversion="no"
     1756fi
     1757fi
     1758have_svnversion=$ac_cv_prog_have_svnversion
     1759if test -n "$have_svnversion"; then
     1760  echo "$as_me:$LINENO: result: $have_svnversion" >&5
     1761echo "${ECHO_T}$have_svnversion" >&6
     1762else
     1763  echo "$as_me:$LINENO: result: no" >&5
     1764echo "${ECHO_T}no" >&6
     1765fi
     1766
     1767if test "x$have_svnversion" = xyes && test "x" != x; then
     1768
     1769  _SVN_REV=`cd $srcdir/$coin_has_ ; svnversion`
     1770  if test $_SVN_REV != exported; then
     1771
     1772cat >>confdefs.h <<_ACEOF
     1773#define _SVN_REV "$_SVN_REV"
     1774_ACEOF
     1775
     1776  fi
     1777fi
    16951778
    16961779# We set the following variable so that we know later in AC_COIN_FINALIZE
     
    57865869*-*-irix6*)
    57875870  # Find out which ABI we are using.
    5788   echo '#line 5788 "configure"' > conftest.$ac_ext
     5871  echo '#line 5871 "configure"' > conftest.$ac_ext
    57895872  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
    57905873  (eval $ac_compile) 2>&5
     
    65636646    (
    65646647      cat <<\_ASBOX
    6565 ## ---------------------------------------- ##
    6566 ## Report this to coin-clp@list.coin-or.org ##
    6567 ## ---------------------------------------- ##
     6648## ----------------------------------- ##
     6649## Report this to clp@list.coin-or.org ##
     6650## ----------------------------------- ##
    65686651_ASBOX
    65696652    ) |
     
    69207003
    69217004# Provide some information about the compiler.
    6922 echo "$as_me:6922:" \
     7005echo "$as_me:7005:" \
    69237006     "checking for Fortran 77 compiler version" >&5
    69247007ac_compiler=`set X $ac_compile; echo $2`
     
    79878070   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    79888071   -e 's:$: $lt_compiler_flag:'`
    7989    (eval echo "\"\$as_me:7989: $lt_compile\"" >&5)
     8072   (eval echo "\"\$as_me:8072: $lt_compile\"" >&5)
    79908073   (eval "$lt_compile" 2>conftest.err)
    79918074   ac_status=$?
    79928075   cat conftest.err >&5
    7993    echo "$as_me:7993: \$? = $ac_status" >&5
     8076   echo "$as_me:8076: \$? = $ac_status" >&5
    79948077   if (exit $ac_status) && test -s "$ac_outfile"; then
    79958078     # The compiler can only warn and ignore the option if not recognized
     
    82558338   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    82568339   -e 's:$: $lt_compiler_flag:'`
    8257    (eval echo "\"\$as_me:8257: $lt_compile\"" >&5)
     8340   (eval echo "\"\$as_me:8340: $lt_compile\"" >&5)
    82588341   (eval "$lt_compile" 2>conftest.err)
    82598342   ac_status=$?
    82608343   cat conftest.err >&5
    8261    echo "$as_me:8261: \$? = $ac_status" >&5
     8344   echo "$as_me:8344: \$? = $ac_status" >&5
    82628345   if (exit $ac_status) && test -s "$ac_outfile"; then
    82638346     # The compiler can only warn and ignore the option if not recognized
     
    83598442   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    83608443   -e 's:$: $lt_compiler_flag:'`
    8361    (eval echo "\"\$as_me:8361: $lt_compile\"" >&5)
     8444   (eval echo "\"\$as_me:8444: $lt_compile\"" >&5)
    83628445   (eval "$lt_compile" 2>out/conftest.err)
    83638446   ac_status=$?
    83648447   cat out/conftest.err >&5
    8365    echo "$as_me:8365: \$? = $ac_status" >&5
     8448   echo "$as_me:8448: \$? = $ac_status" >&5
    83668449   if (exit $ac_status) && test -s out/conftest2.$ac_objext
    83678450   then
     
    1070410787  lt_status=$lt_dlunknown
    1070510788  cat > conftest.$ac_ext <<EOF
    10706 #line 10706 "configure"
     10789#line 10789 "configure"
    1070710790#include "confdefs.h"
    1070810791
     
    1080410887  lt_status=$lt_dlunknown
    1080510888  cat > conftest.$ac_ext <<EOF
    10806 #line 10806 "configure"
     10889#line 10889 "configure"
    1080710890#include "confdefs.h"
    1080810891
     
    1314813231   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1314913232   -e 's:$: $lt_compiler_flag:'`
    13150    (eval echo "\"\$as_me:13150: $lt_compile\"" >&5)
     13233   (eval echo "\"\$as_me:13233: $lt_compile\"" >&5)
    1315113234   (eval "$lt_compile" 2>conftest.err)
    1315213235   ac_status=$?
    1315313236   cat conftest.err >&5
    13154    echo "$as_me:13154: \$? = $ac_status" >&5
     13237   echo "$as_me:13237: \$? = $ac_status" >&5
    1315513238   if (exit $ac_status) && test -s "$ac_outfile"; then
    1315613239     # The compiler can only warn and ignore the option if not recognized
     
    1325213335   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1325313336   -e 's:$: $lt_compiler_flag:'`
    13254    (eval echo "\"\$as_me:13254: $lt_compile\"" >&5)
     13337   (eval echo "\"\$as_me:13337: $lt_compile\"" >&5)
    1325513338   (eval "$lt_compile" 2>out/conftest.err)
    1325613339   ac_status=$?
    1325713340   cat out/conftest.err >&5
    13258    echo "$as_me:13258: \$? = $ac_status" >&5
     13341   echo "$as_me:13341: \$? = $ac_status" >&5
    1325913342   if (exit $ac_status) && test -s out/conftest2.$ac_objext
    1326013343   then
     
    1482214905   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1482314906   -e 's:$: $lt_compiler_flag:'`
    14824    (eval echo "\"\$as_me:14824: $lt_compile\"" >&5)
     14907   (eval echo "\"\$as_me:14907: $lt_compile\"" >&5)
    1482514908   (eval "$lt_compile" 2>conftest.err)
    1482614909   ac_status=$?
    1482714910   cat conftest.err >&5
    14828    echo "$as_me:14828: \$? = $ac_status" >&5
     14911   echo "$as_me:14911: \$? = $ac_status" >&5
    1482914912   if (exit $ac_status) && test -s "$ac_outfile"; then
    1483014913     # The compiler can only warn and ignore the option if not recognized
     
    1492615009   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1492715010   -e 's:$: $lt_compiler_flag:'`
    14928    (eval echo "\"\$as_me:14928: $lt_compile\"" >&5)
     15011   (eval echo "\"\$as_me:15011: $lt_compile\"" >&5)
    1492915012   (eval "$lt_compile" 2>out/conftest.err)
    1493015013   ac_status=$?
    1493115014   cat out/conftest.err >&5
    14932    echo "$as_me:14932: \$? = $ac_status" >&5
     15015   echo "$as_me:15015: \$? = $ac_status" >&5
    1493315016   if (exit $ac_status) && test -s out/conftest2.$ac_objext
    1493415017   then
     
    1713317216   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1713417217   -e 's:$: $lt_compiler_flag:'`
    17135    (eval echo "\"\$as_me:17135: $lt_compile\"" >&5)
     17218   (eval echo "\"\$as_me:17218: $lt_compile\"" >&5)
    1713617219   (eval "$lt_compile" 2>conftest.err)
    1713717220   ac_status=$?
    1713817221   cat conftest.err >&5
    17139    echo "$as_me:17139: \$? = $ac_status" >&5
     17222   echo "$as_me:17222: \$? = $ac_status" >&5
    1714017223   if (exit $ac_status) && test -s "$ac_outfile"; then
    1714117224     # The compiler can only warn and ignore the option if not recognized
     
    1740117484   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1740217485   -e 's:$: $lt_compiler_flag:'`
    17403    (eval echo "\"\$as_me:17403: $lt_compile\"" >&5)
     17486   (eval echo "\"\$as_me:17486: $lt_compile\"" >&5)
    1740417487   (eval "$lt_compile" 2>conftest.err)
    1740517488   ac_status=$?
    1740617489   cat conftest.err >&5
    17407    echo "$as_me:17407: \$? = $ac_status" >&5
     17490   echo "$as_me:17490: \$? = $ac_status" >&5
    1740817491   if (exit $ac_status) && test -s "$ac_outfile"; then
    1740917492     # The compiler can only warn and ignore the option if not recognized
     
    1750517588   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    1750617589   -e 's:$: $lt_compiler_flag:'`
    17507    (eval echo "\"\$as_me:17507: $lt_compile\"" >&5)
     17590   (eval echo "\"\$as_me:17590: $lt_compile\"" >&5)
    1750817591   (eval "$lt_compile" 2>out/conftest.err)
    1750917592   ac_status=$?
    1751017593   cat out/conftest.err >&5
    17511    echo "$as_me:17511: \$? = $ac_status" >&5
     17594   echo "$as_me:17594: \$? = $ac_status" >&5
    1751217595   if (exit $ac_status) && test -s out/conftest2.$ac_objext
    1751317596   then
     
    2040820491
    2040920492#############################################################################
    20410 #                              COIN components                              #
     20493#                              COIN-OR components                           #
    2041120494#############################################################################
    2041220495
    20413 echo "$as_me:$LINENO: checking for COIN project CoinUtils" >&5
    20414 echo $ECHO_N "checking for COIN project CoinUtils... $ECHO_C" >&6
    20415 
    20416 # First check, if the sub-project is actually available (ToDo: allow
    20417 # other locations)
    20418 
    20419 coin_has_coinutils=unavailable
     20496
     20497
     20498# Check whether --enable-pkg-config or --disable-pkg-config was given.
     20499if test "${enable_pkg_config+set}" = set; then
     20500  enableval="$enable_pkg_config"
     20501  use_pkgconfig="$enableval"
     20502else
     20503  use_pkgconfig=yes
     20504fi;
     20505
     20506if test $use_pkgconfig = yes ; then
     20507  if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
     20508    if test -n "$ac_tool_prefix"; then
     20509  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
     20510set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
     20511echo "$as_me:$LINENO: checking for $ac_word" >&5
     20512echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
     20513if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
     20514  echo $ECHO_N "(cached) $ECHO_C" >&6
     20515else
     20516  case $PKG_CONFIG in
     20517  [\\/]* | ?:[\\/]*)
     20518  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
     20519  ;;
     20520  *)
     20521  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     20522for as_dir in $PATH
     20523do
     20524  IFS=$as_save_IFS
     20525  test -z "$as_dir" && as_dir=.
     20526  for ac_exec_ext in '' $ac_executable_extensions; do
     20527  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     20528    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     20529    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     20530    break 2
     20531  fi
     20532done
     20533done
     20534
     20535  ;;
     20536esac
     20537fi
     20538PKG_CONFIG=$ac_cv_path_PKG_CONFIG
     20539
     20540if test -n "$PKG_CONFIG"; then
     20541  echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
     20542echo "${ECHO_T}$PKG_CONFIG" >&6
     20543else
     20544  echo "$as_me:$LINENO: result: no" >&5
     20545echo "${ECHO_T}no" >&6
     20546fi
     20547
     20548fi
     20549if test -z "$ac_cv_path_PKG_CONFIG"; then
     20550  ac_pt_PKG_CONFIG=$PKG_CONFIG
     20551  # Extract the first word of "pkg-config", so it can be a program name with args.
     20552set dummy pkg-config; ac_word=$2
     20553echo "$as_me:$LINENO: checking for $ac_word" >&5
     20554echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
     20555if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
     20556  echo $ECHO_N "(cached) $ECHO_C" >&6
     20557else
     20558  case $ac_pt_PKG_CONFIG in
     20559  [\\/]* | ?:[\\/]*)
     20560  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
     20561  ;;
     20562  *)
     20563  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     20564for as_dir in $PATH
     20565do
     20566  IFS=$as_save_IFS
     20567  test -z "$as_dir" && as_dir=.
     20568  for ac_exec_ext in '' $ac_executable_extensions; do
     20569  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     20570    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     20571    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     20572    break 2
     20573  fi
     20574done
     20575done
     20576
     20577  ;;
     20578esac
     20579fi
     20580ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
     20581
     20582if test -n "$ac_pt_PKG_CONFIG"; then
     20583  echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
     20584echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6
     20585else
     20586  echo "$as_me:$LINENO: result: no" >&5
     20587echo "${ECHO_T}no" >&6
     20588fi
     20589
     20590  PKG_CONFIG=$ac_pt_PKG_CONFIG
     20591else
     20592  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
     20593fi
     20594
     20595  fi
     20596  if test -n "$PKG_CONFIG"; then
     20597    _pkg_min_version=0.9.0
     20598    echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
     20599echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6
     20600    if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
     20601      echo "$as_me:$LINENO: result: yes" >&5
     20602echo "${ECHO_T}yes" >&6
     20603    else
     20604      echo "$as_me:$LINENO: result: no" >&5
     20605echo "${ECHO_T}no" >&6
     20606      PKG_CONFIG=""
     20607    fi
     20608  fi
     20609
     20610  # check if pkg-config supports the short-errors flag
     20611  if test -n "$PKG_CONFIG" && \
     20612    $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
     20613    pkg_short_errors=" --short-errors "
     20614  else
     20615    pkg_short_errors=""
     20616  fi
     20617fi
     20618
     20619
     20620
     20621if test -n "$PKG_CONFIG"; then
     20622  COIN_HAS_PKGCONFIG_TRUE=
     20623  COIN_HAS_PKGCONFIG_FALSE='#'
     20624else
     20625  COIN_HAS_PKGCONFIG_TRUE='#'
     20626  COIN_HAS_PKGCONFIG_FALSE=
     20627fi
     20628
     20629
     20630
     20631# assemble search path for pkg-config, if we are in a project setup
     20632if test x$coin_projectdir = xyes ; then
     20633  COIN_PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
     20634
     20635  # let's assume that when installing into $prefix, then the user may have installed some other coin projects there before, so it's worth to have a look into there
     20636  # best would actually to use ${libdir}, since .pc files get installed into ${libdir}/pkgconfig,
     20637  # unfortunately, ${libdir} expands to ${exec_prefix}/lib and ${exec_prefix} to ${prefix}...
     20638  if test -d "${prefix}"; then
     20639    COIN_PKG_CONFIG_PATH="${prefix}/lib/pkgconfig:${COIN_PKG_CONFIG_PATH}"
     20640  fi
     20641
     20642
     20643# Check whether --with-coin-instdir or --without-coin-instdir was given.
     20644if test "${with_coin_instdir+set}" = set; then
     20645  withval="$with_coin_instdir"
     20646  if test -d "$withval"; then : ; else
     20647       { { echo "$as_me:$LINENO: error: argument for --with-coin-instdir not a directory" >&5
     20648echo "$as_me: error: argument for --with-coin-instdir not a directory" >&2;}
     20649   { (exit 1); exit 1; }; }
     20650     fi
     20651     COIN_PKG_CONFIG_PATH="$withval/lib/pkgconfig:${COIN_PKG_CONFIG_PATH}"
     20652
     20653fi;
     20654
     20655  # in a classic setup, we want to find uninstalled projects
     20656  # their (relative) location is written to coin_subdirs.txt by the configure in the project base directory
     20657  # unfortunately, if the user set prefix, then we do not know where the project base directory is located
     20658  # but it is likely to be either .. (if we are a usual coin project) or ../.. (if we are a unusual coin project like ThirdParty or Data)
     20659  if test -e ../coin_subdirs.txt ; then
     20660    for i in `cat ../coin_subdirs.txt` ; do
     20661      if test -d ../$i ; then
     20662        COIN_PKG_CONFIG_PATH="`cd ../$i; pwd`:${COIN_PKG_CONFIG_PATH}"
     20663      fi
     20664    done
     20665  fi
     20666
     20667  if test -e ../../coin_subdirs.txt ; then
     20668    for i in `cat ../../coin_subdirs.txt` ; do
     20669      if test -d ../../$i ; then
     20670        COIN_PKG_CONFIG_PATH="`cd ../../$i; pwd`:${COIN_PKG_CONFIG_PATH}"
     20671      fi
     20672    done
     20673  fi
     20674
     20675
     20676fi
     20677
     20678
     20679
     20680echo "$as_me:$LINENO: checking for COIN-OR module CoinUtils" >&5
     20681echo $ECHO_N "checking for COIN-OR module CoinUtils... $ECHO_C" >&6
     20682
     20683coin_has_coinutils=notGiven
     20684
     20685# check if user wants to skip module in any case
    2042020686if test x"$COIN_SKIP_PROJECTS" != x; then
    2042120687  for dir in $COIN_SKIP_PROJECTS; do
    20422     if test $dir = CoinUtils; then
     20688    if test $dir = "CoinUtils"; then
    2042320689      coin_has_coinutils=skipping
    2042420690    fi
     
    2042620692fi
    2042720693
     20694COINUTILS_LIBS=
     20695COINUTILS_CFLAGS=
     20696COINUTILS_DATA=
     20697
     20698
     20699
     20700
     20701
     20702#check if user provided LIBS, CFLAGS, and DATA for module
    2042820703if test $coin_has_coinutils != skipping; then
    20429   if test $PACKAGE_TARNAME = coinutils; then
    20430     coin_has_coinutils=.
     20704
     20705
     20706# Check whether --with-m4_tolower(CoinUtils)-lib or --without-m4_tolower(CoinUtils)-lib was given.
     20707if test "${with_coinutils_lib+set}" = set; then
     20708  withval="$with_coinutils_lib"
     20709  coin_has_coinutils=yes
     20710       COINUTILS_LIBS="$withval"
     20711       ADDLIBS="$ADDLIBS $withval"
     20712
     20713fi;
     20714
     20715
     20716# Check whether --with-m4_tolower(CoinUtils)-incdir or --without-m4_tolower(CoinUtils)-incdir was given.
     20717if test "${with_coinutils_incdir+set}" = set; then
     20718  withval="$with_coinutils_incdir"
     20719  coin_has_coinutils=yes
     20720     COINUTILS_CFLAGS="-I`${CYGPATH_W} $withval`"
     20721fi;
     20722
     20723
     20724# Check whether --with-m4_tolower(CoinUtils)-datadir or --without-m4_tolower(CoinUtils)-datadir was given.
     20725if test "${with_coinutils_datadir+set}" = set; then
     20726  withval="$with_coinutils_datadir"
     20727  coin_has_coinutils=yes
     20728     COINUTILS_DATA="$withval"
     20729fi;
     20730fi
     20731
     20732if test $coin_has_coinutils = notGiven; then
     20733  if test -n "$PKG_CONFIG" ; then
     20734    # set search path for pkg-config
     20735    # need to export variable to be sure that the following pkg-config gets these values
     20736    coin_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
     20737    PKG_CONFIG_PATH="$COIN_PKG_CONFIG_PATH"
     20738    export PKG_CONFIG_PATH
     20739
     20740    # let pkg-config do it's magic
     20741
     20742
     20743
     20744if test -n "$PKG_CONFIG" ; then
     20745  if $PKG_CONFIG --exists "coinutils = trunk"; then
     20746    COINUTILS_VERSIONS="`$PKG_CONFIG --modversion coinutils = trunk 2>/dev/null`"
     20747     cflags=`$PKG_CONFIG --cflags "coinutils = trunk" 2>/dev/null`
     20748    # pkg-config cannot handle spaces, so CYGPATH_W cannot be put into .pc files
     20749        # thus, we modify the cflags extracted from pkg-config by putting CYGPATH_W behind -I's
     20750        # but only do this if is not trivial
     20751    if test "$CYGPATH_W" != "echo" ; then
     20752      # need to put into brackets since otherwise autoconf replaces the brackets in the sed command
     20753          cflags=`echo $cflags | sed -e 's/-I\([^ ]*\)/-I\`${CYGPATH_W} \1\`/g'`
     20754        fi
     20755    COINUTILS_CFLAGS="$cflags"
     20756    COINUTILS_LIBS=`$PKG_CONFIG --libs "coinutils = trunk" 2>/dev/null`
     20757    COINUTILS_DATA=`$PKG_CONFIG --variable=datadir "coinutils = trunk" 2>/dev/null`
     20758     coin_has_coinutils=yes
     20759        echo "$as_me:$LINENO: result: yes: $COINUTILS_VERSIONS" >&5
     20760echo "${ECHO_T}yes: $COINUTILS_VERSIONS" >&6
     20761        REQUIREDPACKAGES="$REQUIREDPACKAGES coinutils = trunk"
     20762
     20763
    2043120764  else
    20432     if test -d $srcdir/../CoinUtils; then
    20433       coin_has_coinutils=../CoinUtils
    20434     fi
    20435   fi
    20436 fi
    20437 
    20438 if test $coin_has_coinutils != unavailable &&
    20439    test $coin_has_coinutils != skipping; then
    20440   # Set the #define if the component is available
     20765    COINUTILS_PKG_ERRORS=`$PKG_CONFIG $pkg_short_errors --errors-to-stdout --print-errors coinutils = trunk`
     20766      coin_has_coinutils=notGiven
     20767        echo "$as_me:$LINENO: result: not given: $COINUTILS_PKG_ERRORS" >&5
     20768echo "${ECHO_T}not given: $COINUTILS_PKG_ERRORS" >&6
     20769
     20770  fi
     20771else
     20772  { { echo "$as_me:$LINENO: error: \"Cannot check for existance of module CoinUtils without pkg-config\"" >&5
     20773echo "$as_me: error: \"Cannot check for existance of module CoinUtils without pkg-config\"" >&2;}
     20774   { (exit 1); exit 1; }; }
     20775fi
     20776
     20777
     20778
     20779
     20780    # reset PKG_CONFIG_PATH variable
     20781    PKG_CONFIG_PATH="$coin_save_PKG_CONFIG_PATH"
     20782  else
     20783    #if 4th argument is given, try fallback - whereby we take the first word from coinutils = trunk as basename for the .pc file
     20784    echo "$as_me:$LINENO: result: skipped check via pkg-config" >&5
     20785echo "${ECHO_T}skipped check via pkg-config" >&6
     20786
     20787  fi
     20788
     20789else
     20790  echo "$as_me:$LINENO: result: $coin_has_coinutils" >&5
     20791echo "${ECHO_T}$coin_has_coinutils" >&6
     20792fi
     20793
     20794if test $coin_has_coinutils != skipping &&
     20795   test $coin_has_coinutils != notGiven ; then
     20796  if test 0 = 1 ; then  #change this test to enable a bit of debugging output
     20797  if test -n "$COINUTILS_CFLAGS" ; then
     20798    { echo "$as_me:$LINENO: CoinUtils CFLAGS are $COINUTILS_CFLAGS" >&5
     20799echo "$as_me: CoinUtils CFLAGS are $COINUTILS_CFLAGS" >&6;}
     20800  fi
     20801  if test -n "$COINUTILS_LIBS" ; then
     20802    { echo "$as_me:$LINENO: CoinUtils LIBS   are $COINUTILS_LIBS" >&5
     20803echo "$as_me: CoinUtils LIBS   are $COINUTILS_LIBS" >&6;}
     20804  fi
     20805  if test -n "$COINUTILS_DATA" ; then
     20806    { echo "$as_me:$LINENO: CoinUtils DATA   is  $COINUTILS_DATA" >&5
     20807echo "$as_me: CoinUtils DATA   is  $COINUTILS_DATA" >&6;}
     20808  fi
     20809  fi
    2044120810
    2044220811cat >>confdefs.h <<\_ACEOF
     
    2044420813_ACEOF
    2044520814
    20446 
    20447   # Set the variables for source and object code location
    20448 
    20449   COINUTILSSRCDIR=`cd $srcdir/$coin_has_coinutils; pwd`
    20450 
    20451   COINUTILSOBJDIR=`pwd`/$coin_has_coinutils
    20452 
    20453   COINUTILSDOCDIR=$abs_lib_dir/../share/doc/coin/CoinUtils
    20454 fi
    20455 
    20456   # Define the Makefile conditional
    20457 
    20458 
    20459 if test $coin_has_coinutils != unavailable &&
     20815fi
     20816
     20817# Define the Makefile conditional
     20818
     20819
     20820if test $coin_has_coinutils != notGiven &&
    2046020821                test $coin_has_coinutils != skipping; then
    2046120822  COIN_HAS_COINUTILS_TRUE=
     
    2046620827fi
    2046720828
    20468 echo "$as_me:$LINENO: result: $coin_has_coinutils" >&5
    20469 echo "${ECHO_T}$coin_has_coinutils" >&6
    20470 
    20471 echo "$as_me:$LINENO: checking for COIN project Clp" >&5
    20472 echo $ECHO_N "checking for COIN project Clp... $ECHO_C" >&6
    20473 
    20474 # First check, if the sub-project is actually available (ToDo: allow
    20475 # other locations)
    20476 
    20477 coin_has_clp=unavailable
     20829
     20830
     20831if test $coin_has_coinutils != yes ; then
     20832  #if we have to use the fallback routines, then obviously it will not find CoinUtils dependencies
     20833  #thus, we check whether ThirdParty/Blas and ThirdParty/Lapack have been setup and
     20834  #assume that if present then they are dependencies of CoinUtils
     20835
     20836if test x$coin_has_blas != "xyes" ; then
     20837
     20838echo "$as_me:$LINENO: checking for COIN-OR module Blas (fallback)" >&5
     20839echo $ECHO_N "checking for COIN-OR module Blas (fallback)... $ECHO_C" >&6
     20840
     20841coin_has_blas=notGiven
     20842
     20843# check if user wants to skip module in any case
    2047820844if test x"$COIN_SKIP_PROJECTS" != x; then
    2047920845  for dir in $COIN_SKIP_PROJECTS; do
    20480     if test $dir = Clp; then
    20481       coin_has_clp=skipping
     20846    if test $dir = "Blas"; then
     20847      coin_has_blas=skipping
    2048220848    fi
    2048320849  done
    2048420850fi
    2048520851
    20486 if test $coin_has_clp != skipping; then
    20487   if test $PACKAGE_TARNAME = clp; then
    20488     coin_has_clp=.
     20852BLAS_LIBS=
     20853BLAS_CFLAGS=
     20854BLAS_DATA=
     20855
     20856
     20857if test $coin_has_blas != "skipping" ; then
     20858  # if the project is available and configured, then a project-uninstalled.pc file should have been created
     20859  if test -r ../ThirdParty/Blas/coinblas-uninstalled.pc ; then
     20860    # read CFLAGS and LIBS from coinblas-uninstalled.pc file
     20861    # add CYGPATH_W cludge into include flags
     20862    # replace -L${libdir} by absolute path to build directory in linker flags
     20863    # we assume that the build directory is ../ThirdParty/Blas/src if this directory exists, otherwise we assume that it is ../ThirdParty/Blas
     20864    BLAS_CFLAGS=`sed -n -e 's/Cflags://' -e 's/-I\([^ ]*\)/-I\`${CYGPATH_W} \1\`/gp' ../ThirdParty/Blas/coinblas-uninstalled.pc`
     20865    projectlibs=`sed -n -e 's/Libs://' -e 's/-L\${libdir}//p' ../ThirdParty/Blas/coinblas-uninstalled.pc`
     20866    if test "x$projectlibs" != x ; then
     20867      if test -d ../ThirdParty/Blas/src ; then
     20868        BLAS_LIBS="-L`cd ../ThirdParty/Blas/src; pwd` $projectlibs"
     20869      else
     20870        BLAS_LIBS="-L`cd ../ThirdParty/Blas; pwd` $projectlibs"
     20871      fi
     20872    else
     20873      BLAS_LIBS=`sed -n -e 's/Libs://p' ../ThirdParty/Blas/coinblas-uninstalled.pc`
     20874    fi
     20875    BLAS_DATA=`sed -n -e 's/datadir=//gp' ../ThirdParty/Blas/coinblas-uninstalled.pc`
     20876
     20877
     20878
     20879
     20880
     20881    coin_has_blas=yes
     20882    echo "$as_me:$LINENO: result: ../ThirdParty/Blas" >&5
     20883echo "${ECHO_T}../ThirdParty/Blas" >&6
    2048920884  else
    20490     if test -d $srcdir/../Clp; then
    20491       coin_has_clp=../Clp
     20885    echo "$as_me:$LINENO: result: $coin_has_blas" >&5
     20886echo "${ECHO_T}$coin_has_blas" >&6
     20887  fi
     20888else
     20889  echo "$as_me:$LINENO: result: skipping" >&5
     20890echo "${ECHO_T}skipping" >&6
     20891fi
     20892
     20893#if user did not disable setting of makefile conditional, do it
     20894
     20895fi
     20896
     20897
     20898if test x$coin_has_lapack != "xyes" ; then
     20899
     20900echo "$as_me:$LINENO: checking for COIN-OR module Lapack (fallback)" >&5
     20901echo $ECHO_N "checking for COIN-OR module Lapack (fallback)... $ECHO_C" >&6
     20902
     20903coin_has_lapack=notGiven
     20904
     20905# check if user wants to skip module in any case
     20906if test x"$COIN_SKIP_PROJECTS" != x; then
     20907  for dir in $COIN_SKIP_PROJECTS; do
     20908    if test $dir = "Lapack"; then
     20909      coin_has_lapack=skipping
    2049220910    fi
    20493   fi
    20494 fi
    20495 
    20496 if test $coin_has_clp != unavailable &&
    20497    test $coin_has_clp != skipping; then
    20498   # Set the #define if the component is available
     20911  done
     20912fi
     20913
     20914LAPACK_LIBS=
     20915LAPACK_CFLAGS=
     20916LAPACK_DATA=
     20917
     20918
     20919if test $coin_has_lapack != "skipping" ; then
     20920  # if the project is available and configured, then a project-uninstalled.pc file should have been created
     20921  if test -r ../ThirdParty/Lapack/coinlapack-uninstalled.pc ; then
     20922    # read CFLAGS and LIBS from coinlapack-uninstalled.pc file
     20923    # add CYGPATH_W cludge into include flags
     20924    # replace -L${libdir} by absolute path to build directory in linker flags
     20925    # we assume that the build directory is ../ThirdParty/Lapack/src if this directory exists, otherwise we assume that it is ../ThirdParty/Lapack
     20926    LAPACK_CFLAGS=`sed -n -e 's/Cflags://' -e 's/-I\([^ ]*\)/-I\`${CYGPATH_W} \1\`/gp' ../ThirdParty/Lapack/coinlapack-uninstalled.pc`
     20927    projectlibs=`sed -n -e 's/Libs://' -e 's/-L\${libdir}//p' ../ThirdParty/Lapack/coinlapack-uninstalled.pc`
     20928    if test "x$projectlibs" != x ; then
     20929      if test -d ../ThirdParty/Lapack/src ; then
     20930        LAPACK_LIBS="-L`cd ../ThirdParty/Lapack/src; pwd` $projectlibs"
     20931      else
     20932        LAPACK_LIBS="-L`cd ../ThirdParty/Lapack; pwd` $projectlibs"
     20933      fi
     20934    else
     20935      LAPACK_LIBS=`sed -n -e 's/Libs://p' ../ThirdParty/Lapack/coinlapack-uninstalled.pc`
     20936    fi
     20937    LAPACK_DATA=`sed -n -e 's/datadir=//gp' ../ThirdParty/Lapack/coinlapack-uninstalled.pc`
     20938
     20939
     20940
     20941
     20942
     20943    coin_has_lapack=yes
     20944    echo "$as_me:$LINENO: result: ../ThirdParty/Lapack" >&5
     20945echo "${ECHO_T}../ThirdParty/Lapack" >&6
     20946  else
     20947    echo "$as_me:$LINENO: result: $coin_has_lapack" >&5
     20948echo "${ECHO_T}$coin_has_lapack" >&6
     20949  fi
     20950else
     20951  echo "$as_me:$LINENO: result: skipping" >&5
     20952echo "${ECHO_T}skipping" >&6
     20953fi
     20954
     20955#if user did not disable setting of makefile conditional, do it
     20956
     20957fi
     20958
     20959fi
     20960
     20961if test x$coin_has_coinutils != "xyes" ; then
     20962
     20963echo "$as_me:$LINENO: checking for COIN-OR module CoinUtils (fallback)" >&5
     20964echo $ECHO_N "checking for COIN-OR module CoinUtils (fallback)... $ECHO_C" >&6
     20965
     20966coin_has_coinutils=notGiven
     20967
     20968# check if user wants to skip module in any case
     20969if test x"$COIN_SKIP_PROJECTS" != x; then
     20970  for dir in $COIN_SKIP_PROJECTS; do
     20971    if test $dir = "CoinUtils"; then
     20972      coin_has_coinutils=skipping
     20973    fi
     20974  done
     20975fi
     20976
     20977COINUTILS_LIBS=
     20978COINUTILS_CFLAGS=
     20979COINUTILS_DATA=
     20980
     20981
     20982if test $coin_has_coinutils != "skipping" ; then
     20983  # if the project is available and configured, then a project-uninstalled.pc file should have been created
     20984  if test -r ../CoinUtils/coinutils-uninstalled.pc ; then
     20985    # read CFLAGS and LIBS from coinutils-uninstalled.pc file
     20986    # add CYGPATH_W cludge into include flags
     20987    # replace -L${libdir} by absolute path to build directory in linker flags
     20988    # we assume that the build directory is ../CoinUtils/src if this directory exists, otherwise we assume that it is ../CoinUtils
     20989    COINUTILS_CFLAGS=`sed -n -e 's/Cflags://' -e 's/-I\([^ ]*\)/-I\`${CYGPATH_W} \1\`/gp' ../CoinUtils/coinutils-uninstalled.pc`
     20990    projectlibs=`sed -n -e 's/Libs://' -e 's/-L\${libdir}//p' ../CoinUtils/coinutils-uninstalled.pc`
     20991    if test "x$projectlibs" != x ; then
     20992      if test -d ../CoinUtils/src ; then
     20993        COINUTILS_LIBS="-L`cd ../CoinUtils/src; pwd` $projectlibs"
     20994      else
     20995        COINUTILS_LIBS="-L`cd ../CoinUtils; pwd` $projectlibs"
     20996      fi
     20997    else
     20998      COINUTILS_LIBS=`sed -n -e 's/Libs://p' ../CoinUtils/coinutils-uninstalled.pc`
     20999    fi
     21000    COINUTILS_DATA=`sed -n -e 's/datadir=//gp' ../CoinUtils/coinutils-uninstalled.pc`
     21001
     21002    ADDLIBS="$ADDLIBS $COINUTILS_LIBS"
     21003       REQUIREDPACKAGES="$REQUIREDPACKAGES coinutils"
     21004
     21005
    2049921006
    2050021007cat >>confdefs.h <<\_ACEOF
    20501 #define COIN_HAS_CLP 1
     21008#define COIN_HAS_COINUTILS 1
    2050221009_ACEOF
    2050321010
    2050421011
    20505   # Set the variables for source and object code location
    20506 
    20507   CLPSRCDIR=`cd $srcdir/$coin_has_clp; pwd`
    20508 
    20509   CLPOBJDIR=`pwd`/$coin_has_clp
    20510 
    20511   CLPDOCDIR=$abs_lib_dir/../share/doc/coin/Clp
    20512 fi
    20513 
    20514   # Define the Makefile conditional
    20515 
    20516 
    20517 if test $coin_has_clp != unavailable &&
    20518                 test $coin_has_clp != skipping; then
    20519   COIN_HAS_CLP_TRUE=
    20520   COIN_HAS_CLP_FALSE='#'
    20521 else
    20522   COIN_HAS_CLP_TRUE='#'
    20523   COIN_HAS_CLP_FALSE=
    20524 fi
    20525 
    20526 echo "$as_me:$LINENO: result: $coin_has_clp" >&5
    20527 echo "${ECHO_T}$coin_has_clp" >&6
     21012
     21013    coin_has_coinutils=yes
     21014    echo "$as_me:$LINENO: result: ../CoinUtils" >&5
     21015echo "${ECHO_T}../CoinUtils" >&6
     21016  else
     21017    echo "$as_me:$LINENO: result: $coin_has_coinutils" >&5
     21018echo "${ECHO_T}$coin_has_coinutils" >&6
     21019  fi
     21020else
     21021  echo "$as_me:$LINENO: result: skipping" >&5
     21022echo "${ECHO_T}skipping" >&6
     21023fi
     21024
     21025#if user did not disable setting of makefile conditional, do it
     21026
     21027
     21028if test $coin_has_coinutils != notGiven &&
     21029                test $coin_has_coinutils != skipping; then
     21030  COIN_HAS_COINUTILS_TRUE=
     21031  COIN_HAS_COINUTILS_FALSE='#'
     21032else
     21033  COIN_HAS_COINUTILS_TRUE='#'
     21034  COIN_HAS_COINUTILS_FALSE=
     21035fi
     21036
     21037
     21038fi
     21039
     21040if test $coin_has_coinutils != yes ; then
     21041  { { echo "$as_me:$LINENO: error: Required package CoinUtils not available." >&5
     21042echo "$as_me: error: Required package CoinUtils not available." >&2;}
     21043   { (exit 1); exit 1; }; }
     21044fi
     21045#so if we had to do find Blas and Lapack separately, then add their linker flags to the CoinUtils flags
     21046#actually the libs may already be included in libCoinUtils, but we may still need the fortran library flags
     21047COINUTILS_LIBS="$COINUTILS_LIBS $BLAS_LIBS $LAPACK_LIBS"
     21048
     21049
     21050echo "$as_me:$LINENO: checking for COIN-OR module Osi" >&5
     21051echo $ECHO_N "checking for COIN-OR module Osi... $ECHO_C" >&6
     21052
     21053coin_has_osi=notGiven
     21054
     21055# check if user wants to skip module in any case
     21056if test x"$COIN_SKIP_PROJECTS" != x; then
     21057  for dir in $COIN_SKIP_PROJECTS; do
     21058    if test $dir = "Osi"; then
     21059      coin_has_osi=skipping
     21060    fi
     21061  done
     21062fi
     21063
     21064OSI_LIBS=
     21065OSI_CFLAGS=
     21066OSI_DATA=
     21067
     21068
     21069
     21070
     21071
     21072#check if user provided LIBS, CFLAGS, and DATA for module
     21073if test $coin_has_osi != skipping; then
     21074
     21075
     21076# Check whether --with-m4_tolower(Osi)-lib or --without-m4_tolower(Osi)-lib was given.
     21077if test "${with_osi_lib+set}" = set; then
     21078  withval="$with_osi_lib"
     21079  coin_has_osi=yes
     21080       OSI_LIBS="$withval"
     21081
     21082
     21083fi;
     21084
     21085
     21086# Check whether --with-m4_tolower(Osi)-incdir or --without-m4_tolower(Osi)-incdir was given.
     21087if test "${with_osi_incdir+set}" = set; then
     21088  withval="$with_osi_incdir"
     21089  coin_has_osi=yes
     21090     OSI_CFLAGS="-I`${CYGPATH_W} $withval`"
     21091fi;
     21092
     21093
     21094# Check whether --with-m4_tolower(Osi)-datadir or --without-m4_tolower(Osi)-datadir was given.
     21095if test "${with_osi_datadir+set}" = set; then
     21096  withval="$with_osi_datadir"
     21097  coin_has_osi=yes
     21098     OSI_DATA="$withval"
     21099fi;
     21100fi
     21101
     21102if test $coin_has_osi = notGiven; then
     21103  if test -n "$PKG_CONFIG" ; then
     21104    # set search path for pkg-config
     21105    # need to export variable to be sure that the following pkg-config gets these values
     21106    coin_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
     21107    PKG_CONFIG_PATH="$COIN_PKG_CONFIG_PATH"
     21108    export PKG_CONFIG_PATH
     21109
     21110    # let pkg-config do it's magic
     21111
     21112
     21113
     21114if test -n "$PKG_CONFIG" ; then
     21115  if $PKG_CONFIG --exists "osi"; then
     21116    OSI_VERSIONS="`$PKG_CONFIG --modversion osi 2>/dev/null`"
     21117     cflags=`$PKG_CONFIG --cflags "osi" 2>/dev/null`
     21118    # pkg-config cannot handle spaces, so CYGPATH_W cannot be put into .pc files
     21119        # thus, we modify the cflags extracted from pkg-config by putting CYGPATH_W behind -I's
     21120        # but only do this if is not trivial
     21121    if test "$CYGPATH_W" != "echo" ; then
     21122      # need to put into brackets since otherwise autoconf replaces the brackets in the sed command
     21123          cflags=`echo $cflags | sed -e 's/-I\([^ ]*\)/-I\`${CYGPATH_W} \1\`/g'`
     21124        fi
     21125    OSI_CFLAGS="$cflags"
     21126    OSI_LIBS=`$PKG_CONFIG --libs "osi" 2>/dev/null`
     21127    OSI_DATA=`$PKG_CONFIG --variable=datadir "osi" 2>/dev/null`
     21128     coin_has_osi=yes
     21129        echo "$as_me:$LINENO: result: yes: $OSI_VERSIONS" >&5
     21130echo "${ECHO_T}yes: $OSI_VERSIONS" >&6
     21131
     21132
     21133
     21134  else
     21135    OSI_PKG_ERRORS=`$PKG_CONFIG $pkg_short_errors --errors-to-stdout --print-errors osi`
     21136      coin_has_osi=notGiven
     21137        echo "$as_me:$LINENO: result: not given: $OSI_PKG_ERRORS" >&5
     21138echo "${ECHO_T}not given: $OSI_PKG_ERRORS" >&6
     21139
     21140  fi
     21141else
     21142  { { echo "$as_me:$LINENO: error: \"Cannot check for existance of module Osi without pkg-config\"" >&5
     21143echo "$as_me: error: \"Cannot check for existance of module Osi without pkg-config\"" >&2;}
     21144   { (exit 1); exit 1; }; }
     21145fi
     21146
     21147
     21148
     21149
     21150    # reset PKG_CONFIG_PATH variable
     21151    PKG_CONFIG_PATH="$coin_save_PKG_CONFIG_PATH"
     21152  else
     21153    #if 4th argument is given, try fallback - whereby we take the first word from osi as basename for the .pc file
     21154
     21155if test x$coin_has_osi != "xyes" ; then
     21156
     21157
     21158
     21159coin_has_osi=notGiven
     21160
     21161# check if user wants to skip module in any case
     21162if test x"$COIN_SKIP_PROJECTS" != x; then
     21163  for dir in $COIN_SKIP_PROJECTS; do
     21164    if test $dir = "Osi"; then
     21165      coin_has_osi=skipping
     21166    fi
     21167  done
     21168fi
     21169
     21170OSI_LIBS=
     21171OSI_CFLAGS=
     21172OSI_DATA=
     21173
     21174
     21175if test $coin_has_osi != "skipping" ; then
     21176  # if the project is available and configured, then a project-uninstalled.pc file should have been created
     21177  if test -r ../Osi/osi-uninstalled.pc ; then
     21178    # read CFLAGS and LIBS from m4_bpatsubst(osi, [ .*], [])-uninstalled.pc file
     21179    # add CYGPATH_W cludge into include flags
     21180    # replace -L${libdir} by absolute path to build directory in linker flags
     21181    # we assume that the build directory is ../Osi/src if this directory exists, otherwise we assume that it is ../Osi
     21182    OSI_CFLAGS=`sed -n -e 's/Cflags://' -e 's/-I\([^ ]*\)/-I\`${CYGPATH_W} \1\`/gp' ../Osi/osi-uninstalled.pc`
     21183    projectlibs=`sed -n -e 's/Libs://' -e 's/-L\${libdir}//p' ../Osi/osi-uninstalled.pc`
     21184    if test "x$projectlibs" != x ; then
     21185      if test -d ../Osi/src ; then
     21186        OSI_LIBS="-L`cd ../Osi/src; pwd` $projectlibs"
     21187      else
     21188        OSI_LIBS="-L`cd ../Osi; pwd` $projectlibs"
     21189      fi
     21190    else
     21191      OSI_LIBS=`sed -n -e 's/Libs://p' ../Osi/osi-uninstalled.pc`
     21192    fi
     21193    OSI_DATA=`sed -n -e 's/datadir=//gp' ../Osi/osi-uninstalled.pc`
     21194
     21195
     21196
     21197
     21198cat >>confdefs.h <<\_ACEOF
     21199#define COIN_HAS_OSI 1
     21200_ACEOF
     21201
     21202
     21203
     21204    coin_has_osi=yes
     21205    echo "$as_me:$LINENO: result: ../Osi" >&5
     21206echo "${ECHO_T}../Osi" >&6
     21207  else
     21208    echo "$as_me:$LINENO: result: $coin_has_osi" >&5
     21209echo "${ECHO_T}$coin_has_osi" >&6
     21210  fi
     21211else
     21212  echo "$as_me:$LINENO: result: skipping" >&5
     21213echo "${ECHO_T}skipping" >&6
     21214fi
     21215
     21216#if user did not disable setting of makefile conditional, do it
     21217
     21218
     21219if test $coin_has_osi != notGiven &&
     21220                test $coin_has_osi != skipping; then
     21221  COIN_HAS_OSI_TRUE=
     21222  COIN_HAS_OSI_FALSE='#'
     21223else
     21224  COIN_HAS_OSI_TRUE='#'
     21225  COIN_HAS_OSI_FALSE=
     21226fi
     21227
     21228
     21229fi
     21230
     21231
     21232  fi
     21233
     21234else
     21235  echo "$as_me:$LINENO: result: $coin_has_osi" >&5
     21236echo "${ECHO_T}$coin_has_osi" >&6
     21237fi
     21238
     21239if test $coin_has_osi != skipping &&
     21240   test $coin_has_osi != notGiven ; then
     21241  if test 0 = 1 ; then  #change this test to enable a bit of debugging output
     21242  if test -n "$OSI_CFLAGS" ; then
     21243    { echo "$as_me:$LINENO: Osi CFLAGS are $OSI_CFLAGS" >&5
     21244echo "$as_me: Osi CFLAGS are $OSI_CFLAGS" >&6;}
     21245  fi
     21246  if test -n "$OSI_LIBS" ; then
     21247    { echo "$as_me:$LINENO: Osi LIBS   are $OSI_LIBS" >&5
     21248echo "$as_me: Osi LIBS   are $OSI_LIBS" >&6;}
     21249  fi
     21250  if test -n "$OSI_DATA" ; then
     21251    { echo "$as_me:$LINENO: Osi DATA   is  $OSI_DATA" >&5
     21252echo "$as_me: Osi DATA   is  $OSI_DATA" >&6;}
     21253  fi
     21254  fi
     21255
     21256cat >>confdefs.h <<\_ACEOF
     21257#define COIN_HAS_OSI 1
     21258_ACEOF
     21259
     21260fi
     21261
     21262# Define the Makefile conditional
     21263
     21264
     21265if test $coin_has_osi != notGiven &&
     21266                test $coin_has_osi != skipping; then
     21267  COIN_HAS_OSI_TRUE=
     21268  COIN_HAS_OSI_FALSE='#'
     21269else
     21270  COIN_HAS_OSI_TRUE='#'
     21271  COIN_HAS_OSI_FALSE=
     21272fi
     21273
     21274
     21275
     21276
     21277echo "$as_me:$LINENO: checking for COIN-OR module OsiTests" >&5
     21278echo $ECHO_N "checking for COIN-OR module OsiTests... $ECHO_C" >&6
     21279
     21280coin_has_ositests=notGiven
     21281
     21282# check if user wants to skip module in any case
     21283if test x"$COIN_SKIP_PROJECTS" != x; then
     21284  for dir in $COIN_SKIP_PROJECTS; do
     21285    if test $dir = "OsiTests"; then
     21286      coin_has_ositests=skipping
     21287    fi
     21288  done
     21289fi
     21290
     21291OSITESTS_LIBS=
     21292OSITESTS_CFLAGS=
     21293OSITESTS_DATA=
     21294
     21295
     21296
     21297
     21298
     21299#check if user provided LIBS, CFLAGS, and DATA for module
     21300if test $coin_has_ositests != skipping; then
     21301
     21302
     21303# Check whether --with-m4_tolower(OsiTests)-lib or --without-m4_tolower(OsiTests)-lib was given.
     21304if test "${with_ositests_lib+set}" = set; then
     21305  withval="$with_ositests_lib"
     21306  coin_has_ositests=yes
     21307       OSITESTS_LIBS="$withval"
     21308
     21309
     21310fi;
     21311
     21312
     21313# Check whether --with-m4_tolower(OsiTests)-incdir or --without-m4_tolower(OsiTests)-incdir was given.
     21314if test "${with_ositests_incdir+set}" = set; then
     21315  withval="$with_ositests_incdir"
     21316  coin_has_ositests=yes
     21317     OSITESTS_CFLAGS="-I`${CYGPATH_W} $withval`"
     21318fi;
     21319
     21320
     21321# Check whether --with-m4_tolower(OsiTests)-datadir or --without-m4_tolower(OsiTests)-datadir was given.
     21322if test "${with_ositests_datadir+set}" = set; then
     21323  withval="$with_ositests_datadir"
     21324  coin_has_ositests=yes
     21325     OSITESTS_DATA="$withval"
     21326fi;
     21327fi
     21328
     21329if test $coin_has_ositests = notGiven; then
     21330  if test -n "$PKG_CONFIG" ; then
     21331    # set search path for pkg-config
     21332    # need to export variable to be sure that the following pkg-config gets these values
     21333    coin_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
     21334    PKG_CONFIG_PATH="$COIN_PKG_CONFIG_PATH"
     21335    export PKG_CONFIG_PATH
     21336
     21337    # let pkg-config do it's magic
     21338
     21339
     21340
     21341if test -n "$PKG_CONFIG" ; then
     21342  if $PKG_CONFIG --exists "osi-unittests"; then
     21343    OSITESTS_VERSIONS="`$PKG_CONFIG --modversion osi-unittests 2>/dev/null`"
     21344     cflags=`$PKG_CONFIG --cflags "osi-unittests" 2>/dev/null`
     21345    # pkg-config cannot handle spaces, so CYGPATH_W cannot be put into .pc files
     21346        # thus, we modify the cflags extracted from pkg-config by putting CYGPATH_W behind -I's
     21347        # but only do this if is not trivial
     21348    if test "$CYGPATH_W" != "echo" ; then
     21349      # need to put into brackets since otherwise autoconf replaces the brackets in the sed command
     21350          cflags=`echo $cflags | sed -e 's/-I\([^ ]*\)/-I\`${CYGPATH_W} \1\`/g'`
     21351        fi
     21352    OSITESTS_CFLAGS="$cflags"
     21353    OSITESTS_LIBS=`$PKG_CONFIG --libs "osi-unittests" 2>/dev/null`
     21354    OSITESTS_DATA=`$PKG_CONFIG --variable=datadir "osi-unittests" 2>/dev/null`
     21355     coin_has_ositests=yes
     21356        echo "$as_me:$LINENO: result: yes: $OSITESTS_VERSIONS" >&5
     21357echo "${ECHO_T}yes: $OSITESTS_VERSIONS" >&6
     21358
     21359
     21360
     21361  else
     21362    OSITESTS_PKG_ERRORS=`$PKG_CONFIG $pkg_short_errors --errors-to-stdout --print-errors osi-unittests`
     21363      coin_has_ositests=notGiven
     21364        echo "$as_me:$LINENO: result: not given: $OSITESTS_PKG_ERRORS" >&5
     21365echo "${ECHO_T}not given: $OSITESTS_PKG_ERRORS" >&6
     21366
     21367  fi
     21368else
     21369  { { echo "$as_me:$LINENO: error: \"Cannot check for existance of module OsiTests without pkg-config\"" >&5
     21370echo "$as_me: error: \"Cannot check for existance of module OsiTests without pkg-config\"" >&2;}
     21371   { (exit 1); exit 1; }; }
     21372fi
     21373
     21374
     21375
     21376
     21377    # reset PKG_CONFIG_PATH variable
     21378    PKG_CONFIG_PATH="$coin_save_PKG_CONFIG_PATH"
     21379  else
     21380    #if 4th argument is given, try fallback - whereby we take the first word from osi-unittests as basename for the .pc file
     21381
     21382if test x$coin_has_ositests != "xyes" ; then
     21383
     21384
     21385
     21386coin_has_ositests=notGiven
     21387
     21388# check if user wants to skip module in any case
     21389if test x"$COIN_SKIP_PROJECTS" != x; then
     21390  for dir in $COIN_SKIP_PROJECTS; do
     21391    if test $dir = "OsiTests"; then
     21392      coin_has_ositests=skipping
     21393    fi
     21394  done
     21395fi
     21396
     21397OSITESTS_LIBS=
     21398OSITESTS_CFLAGS=
     21399OSITESTS_DATA=
     21400
     21401
     21402if test $coin_has_ositests != "skipping" ; then
     21403  # if the project is available and configured, then a project-uninstalled.pc file should have been created
     21404  if test -r ../Osi/osi-unittests-uninstalled.pc ; then
     21405    # read CFLAGS and LIBS from m4_bpatsubst(osi-unittests, [ .*], [])-uninstalled.pc file
     21406    # add CYGPATH_W cludge into include flags
     21407    # replace -L${libdir} by absolute path to build directory in linker flags
     21408    # we assume that the build directory is ../Osi/src if this directory exists, otherwise we assume that it is ../Osi
     21409    OSITESTS_CFLAGS=`sed -n -e 's/Cflags://' -e 's/-I\([^ ]*\)/-I\`${CYGPATH_W} \1\`/gp' ../Osi/osi-unittests-uninstalled.pc`
     21410    projectlibs=`sed -n -e 's/Libs://' -e 's/-L\${libdir}//p' ../Osi/osi-unittests-uninstalled.pc`
     21411    if test "x$projectlibs" != x ; then
     21412      if test -d ../Osi/src ; then
     21413        OSITESTS_LIBS="-L`cd ../Osi/src; pwd` $projectlibs"
     21414      else
     21415        OSITESTS_LIBS="-L`cd ../Osi; pwd` $projectlibs"
     21416      fi
     21417    else
     21418      OSITESTS_LIBS=`sed -n -e 's/Libs://p' ../Osi/osi-unittests-uninstalled.pc`
     21419    fi
     21420    OSITESTS_DATA=`sed -n -e 's/datadir=//gp' ../Osi/osi-unittests-uninstalled.pc`
     21421
     21422
     21423
     21424
     21425cat >>confdefs.h <<\_ACEOF
     21426#define COIN_HAS_OSITESTS 1
     21427_ACEOF
     21428
     21429
     21430
     21431    coin_has_ositests=yes
     21432    echo "$as_me:$LINENO: result: ../Osi" >&5
     21433echo "${ECHO_T}../Osi" >&6
     21434  else
     21435    echo "$as_me:$LINENO: result: $coin_has_ositests" >&5
     21436echo "${ECHO_T}$coin_has_ositests" >&6
     21437  fi
     21438else
     21439  echo "$as_me:$LINENO: result: skipping" >&5
     21440echo "${ECHO_T}skipping" >&6
     21441fi
     21442
     21443#if user did not disable setting of makefile conditional, do it
     21444
     21445
     21446if test $coin_has_ositests != notGiven &&
     21447                test $coin_has_ositests != skipping; then
     21448  COIN_HAS_OSITESTS_TRUE=
     21449  COIN_HAS_OSITESTS_FALSE='#'
     21450else
     21451  COIN_HAS_OSITESTS_TRUE='#'
     21452  COIN_HAS_OSITESTS_FALSE=
     21453fi
     21454
     21455
     21456fi
     21457
     21458
     21459  fi
     21460
     21461else
     21462  echo "$as_me:$LINENO: result: $coin_has_ositests" >&5
     21463echo "${ECHO_T}$coin_has_ositests" >&6
     21464fi
     21465
     21466if test $coin_has_ositests != skipping &&
     21467   test $coin_has_ositests != notGiven ; then
     21468  if test 0 = 1 ; then  #change this test to enable a bit of debugging output
     21469  if test -n "$OSITESTS_CFLAGS" ; then
     21470    { echo "$as_me:$LINENO: OsiTests CFLAGS are $OSITESTS_CFLAGS" >&5
     21471echo "$as_me: OsiTests CFLAGS are $OSITESTS_CFLAGS" >&6;}
     21472  fi
     21473  if test -n "$OSITESTS_LIBS" ; then
     21474    { echo "$as_me:$LINENO: OsiTests LIBS   are $OSITESTS_LIBS" >&5
     21475echo "$as_me: OsiTests LIBS   are $OSITESTS_LIBS" >&6;}
     21476  fi
     21477  if test -n "$OSITESTS_DATA" ; then
     21478    { echo "$as_me:$LINENO: OsiTests DATA   is  $OSITESTS_DATA" >&5
     21479echo "$as_me: OsiTests DATA   is  $OSITESTS_DATA" >&6;}
     21480  fi
     21481  fi
     21482
     21483cat >>confdefs.h <<\_ACEOF
     21484#define COIN_HAS_OSITESTS 1
     21485_ACEOF
     21486
     21487fi
     21488
     21489# Define the Makefile conditional
     21490
     21491
     21492if test $coin_has_ositests != notGiven &&
     21493                test $coin_has_ositests != skipping; then
     21494  COIN_HAS_OSITESTS_TRUE=
     21495  COIN_HAS_OSITESTS_FALSE='#'
     21496else
     21497  COIN_HAS_OSITESTS_TRUE='#'
     21498  COIN_HAS_OSITESTS_FALSE=
     21499fi
     21500
     21501
     21502
     21503
     21504echo "$as_me:$LINENO: checking for COIN-OR module Sample" >&5
     21505echo $ECHO_N "checking for COIN-OR module Sample... $ECHO_C" >&6
     21506
     21507coin_has_sample=notGiven
     21508
     21509# check if user wants to skip module in any case
     21510if test x"$COIN_SKIP_PROJECTS" != x; then
     21511  for dir in $COIN_SKIP_PROJECTS; do
     21512    if test $dir = "Sample"; then
     21513      coin_has_sample=skipping
     21514    fi
     21515  done
     21516fi
     21517
     21518SAMPLE_LIBS=
     21519SAMPLE_CFLAGS=
     21520SAMPLE_DATA=
     21521
     21522
     21523
     21524
     21525
     21526#check if user provided LIBS, CFLAGS, and DATA for module
     21527if test $coin_has_sample != skipping; then
     21528
     21529
     21530# Check whether --with-m4_tolower(Sample)-lib or --without-m4_tolower(Sample)-lib was given.
     21531if test "${with_sample_lib+set}" = set; then
     21532  withval="$with_sample_lib"
     21533  coin_has_sample=yes
     21534       SAMPLE_LIBS="$withval"
     21535
     21536
     21537fi;
     21538
     21539
     21540# Check whether --with-m4_tolower(Sample)-incdir or --without-m4_tolower(Sample)-incdir was given.
     21541if test "${with_sample_incdir+set}" = set; then
     21542  withval="$with_sample_incdir"
     21543  coin_has_sample=yes
     21544     SAMPLE_CFLAGS="-I`${CYGPATH_W} $withval`"
     21545fi;
     21546
     21547
     21548# Check whether --with-m4_tolower(Sample)-datadir or --without-m4_tolower(Sample)-datadir was given.
     21549if test "${with_sample_datadir+set}" = set; then
     21550  withval="$with_sample_datadir"
     21551  coin_has_sample=yes
     21552     SAMPLE_DATA="$withval"
     21553fi;
     21554fi
     21555
     21556if test $coin_has_sample = notGiven; then
     21557  if test -n "$PKG_CONFIG" ; then
     21558    # set search path for pkg-config
     21559    # need to export variable to be sure that the following pkg-config gets these values
     21560    coin_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
     21561    PKG_CONFIG_PATH="$COIN_PKG_CONFIG_PATH"
     21562    export PKG_CONFIG_PATH
     21563
     21564    # let pkg-config do it's magic
     21565
     21566
     21567
     21568if test -n "$PKG_CONFIG" ; then
     21569  if $PKG_CONFIG --exists "coindatasample"; then
     21570    SAMPLE_VERSIONS="`$PKG_CONFIG --modversion coindatasample 2>/dev/null`"
     21571     cflags=`$PKG_CONFIG --cflags "coindatasample" 2>/dev/null`
     21572    # pkg-config cannot handle spaces, so CYGPATH_W cannot be put into .pc files
     21573        # thus, we modify the cflags extracted from pkg-config by putting CYGPATH_W behind -I's
     21574        # but only do this if is not trivial
     21575    if test "$CYGPATH_W" != "echo" ; then
     21576      # need to put into brackets since otherwise autoconf replaces the brackets in the sed command
     21577          cflags=`echo $cflags | sed -e 's/-I\([^ ]*\)/-I\`${CYGPATH_W} \1\`/g'`
     21578        fi
     21579    SAMPLE_CFLAGS="$cflags"
     21580    SAMPLE_LIBS=`$PKG_CONFIG --libs "coindatasample" 2>/dev/null`
     21581    SAMPLE_DATA=`$PKG_CONFIG --variable=datadir "coindatasample" 2>/dev/null`
     21582     coin_has_sample=yes
     21583        echo "$as_me:$LINENO: result: yes: $SAMPLE_VERSIONS" >&5
     21584echo "${ECHO_T}yes: $SAMPLE_VERSIONS" >&6
     21585
     21586
     21587
     21588  else
     21589    SAMPLE_PKG_ERRORS=`$PKG_CONFIG $pkg_short_errors --errors-to-stdout --print-errors coindatasample`
     21590      coin_has_sample=notGiven
     21591        echo "$as_me:$LINENO: result: not given: $SAMPLE_PKG_ERRORS" >&5
     21592echo "${ECHO_T}not given: $SAMPLE_PKG_ERRORS" >&6
     21593
     21594  fi
     21595else
     21596  { { echo "$as_me:$LINENO: error: \"Cannot check for existance of module Sample without pkg-config\"" >&5
     21597echo "$as_me: error: \"Cannot check for existance of module Sample without pkg-config\"" >&2;}
     21598   { (exit 1); exit 1; }; }
     21599fi
     21600
     21601
     21602
     21603
     21604    # reset PKG_CONFIG_PATH variable
     21605    PKG_CONFIG_PATH="$coin_save_PKG_CONFIG_PATH"
     21606  else
     21607    #if 4th argument is given, try fallback - whereby we take the first word from coindatasample as basename for the .pc file
     21608
     21609if test x$coin_has_sample != "xyes" ; then
     21610
     21611
     21612
     21613coin_has_sample=notGiven
     21614
     21615# check if user wants to skip module in any case
     21616if test x"$COIN_SKIP_PROJECTS" != x; then
     21617  for dir in $COIN_SKIP_PROJECTS; do
     21618    if test $dir = "Sample"; then
     21619      coin_has_sample=skipping
     21620    fi
     21621  done
     21622fi
     21623
     21624SAMPLE_LIBS=
     21625SAMPLE_CFLAGS=
     21626SAMPLE_DATA=
     21627
     21628
     21629if test $coin_has_sample != "skipping" ; then
     21630  # if the project is available and configured, then a project-uninstalled.pc file should have been created
     21631  if test -r ../Data/Sample/coindatasample-uninstalled.pc ; then
     21632    # read CFLAGS and LIBS from m4_bpatsubst(coindatasample, [ .*], [])-uninstalled.pc file
     21633    # add CYGPATH_W cludge into include flags
     21634    # replace -L${libdir} by absolute path to build directory in linker flags
     21635    # we assume that the build directory is ../Data/Sample/src if this directory exists, otherwise we assume that it is ../Data/Sample
     21636    SAMPLE_CFLAGS=`sed -n -e 's/Cflags://' -e 's/-I\([^ ]*\)/-I\`${CYGPATH_W} \1\`/gp' ../Data/Sample/coindatasample-uninstalled.pc`
     21637    projectlibs=`sed -n -e 's/Libs://' -e 's/-L\${libdir}//p' ../Data/Sample/coindatasample-uninstalled.pc`
     21638    if test "x$projectlibs" != x ; then
     21639      if test -d ../Data/Sample/src ; then
     21640        SAMPLE_LIBS="-L`cd ../Data/Sample/src; pwd` $projectlibs"
     21641      else
     21642        SAMPLE_LIBS="-L`cd ../Data/Sample; pwd` $projectlibs"
     21643      fi
     21644    else
     21645      SAMPLE_LIBS=`sed -n -e 's/Libs://p' ../Data/Sample/coindatasample-uninstalled.pc`
     21646    fi
     21647    SAMPLE_DATA=`sed -n -e 's/datadir=//gp' ../Data/Sample/coindatasample-uninstalled.pc`
     21648
     21649
     21650
     21651
     21652cat >>confdefs.h <<\_ACEOF
     21653#define COIN_HAS_SAMPLE 1
     21654_ACEOF
     21655
     21656
     21657
     21658    coin_has_sample=yes
     21659    echo "$as_me:$LINENO: result: ../Data/Sample" >&5
     21660echo "${ECHO_T}../Data/Sample" >&6
     21661  else
     21662    echo "$as_me:$LINENO: result: $coin_has_sample" >&5
     21663echo "${ECHO_T}$coin_has_sample" >&6
     21664  fi
     21665else
     21666  echo "$as_me:$LINENO: result: skipping" >&5
     21667echo "${ECHO_T}skipping" >&6
     21668fi
     21669
     21670#if user did not disable setting of makefile conditional, do it
     21671
     21672
     21673if test $coin_has_sample != notGiven &&
     21674                test $coin_has_sample != skipping; then
     21675  COIN_HAS_SAMPLE_TRUE=
     21676  COIN_HAS_SAMPLE_FALSE='#'
     21677else
     21678  COIN_HAS_SAMPLE_TRUE='#'
     21679  COIN_HAS_SAMPLE_FALSE=
     21680fi
     21681
     21682
     21683fi
     21684
     21685
     21686  fi
     21687
     21688else
     21689  echo "$as_me:$LINENO: result: $coin_has_sample" >&5
     21690echo "${ECHO_T}$coin_has_sample" >&6
     21691fi
     21692
     21693if test $coin_has_sample != skipping &&
     21694   test $coin_has_sample != notGiven ; then
     21695  if test 0 = 1 ; then  #change this test to enable a bit of debugging output
     21696  if test -n "$SAMPLE_CFLAGS" ; then
     21697    { echo "$as_me:$LINENO: Sample CFLAGS are $SAMPLE_CFLAGS" >&5
     21698echo "$as_me: Sample CFLAGS are $SAMPLE_CFLAGS" >&6;}
     21699  fi
     21700  if test -n "$SAMPLE_LIBS" ; then
     21701    { echo "$as_me:$LINENO: Sample LIBS   are $SAMPLE_LIBS" >&5
     21702echo "$as_me: Sample LIBS   are $SAMPLE_LIBS" >&6;}
     21703  fi
     21704  if test -n "$SAMPLE_DATA" ; then
     21705    { echo "$as_me:$LINENO: Sample DATA   is  $SAMPLE_DATA" >&5
     21706echo "$as_me: Sample DATA   is  $SAMPLE_DATA" >&6;}
     21707  fi
     21708  fi
     21709
     21710cat >>confdefs.h <<\_ACEOF
     21711#define COIN_HAS_SAMPLE 1
     21712_ACEOF
     21713
     21714fi
     21715
     21716# Define the Makefile conditional
     21717
     21718
     21719if test $coin_has_sample != notGiven &&
     21720                test $coin_has_sample != skipping; then
     21721  COIN_HAS_SAMPLE_TRUE=
     21722  COIN_HAS_SAMPLE_FALSE='#'
     21723else
     21724  COIN_HAS_SAMPLE_TRUE='#'
     21725  COIN_HAS_SAMPLE_FALSE=
     21726fi
     21727
     21728
     21729
     21730
     21731echo "$as_me:$LINENO: checking for COIN-OR module Netlib" >&5
     21732echo $ECHO_N "checking for COIN-OR module Netlib... $ECHO_C" >&6
     21733
     21734coin_has_netlib=notGiven
     21735
     21736# check if user wants to skip module in any case
     21737if test x"$COIN_SKIP_PROJECTS" != x; then
     21738  for dir in $COIN_SKIP_PROJECTS; do
     21739    if test $dir = "Netlib"; then
     21740      coin_has_netlib=skipping
     21741    fi
     21742  done
     21743fi
     21744
     21745NETLIB_LIBS=
     21746NETLIB_CFLAGS=
     21747NETLIB_DATA=
     21748
     21749
     21750
     21751
     21752
     21753#check if user provided LIBS, CFLAGS, and DATA for module
     21754if test $coin_has_netlib != skipping; then
     21755
     21756
     21757# Check whether --with-m4_tolower(Netlib)-lib or --without-m4_tolower(Netlib)-lib was given.
     21758if test "${with_netlib_lib+set}" = set; then
     21759  withval="$with_netlib_lib"
     21760  coin_has_netlib=yes
     21761       NETLIB_LIBS="$withval"
     21762
     21763
     21764fi;
     21765
     21766
     21767# Check whether --with-m4_tolower(Netlib)-incdir or --without-m4_tolower(Netlib)-incdir was given.
     21768if test "${with_netlib_incdir+set}" = set; then
     21769  withval="$with_netlib_incdir"
     21770  coin_has_netlib=yes
     21771     NETLIB_CFLAGS="-I`${CYGPATH_W} $withval`"
     21772fi;
     21773
     21774
     21775# Check whether --with-m4_tolower(Netlib)-datadir or --without-m4_tolower(Netlib)-datadir was given.
     21776if test "${with_netlib_datadir+set}" = set; then
     21777  withval="$with_netlib_datadir"
     21778  coin_has_netlib=yes
     21779     NETLIB_DATA="$withval"
     21780fi;
     21781fi
     21782
     21783if test $coin_has_netlib = notGiven; then
     21784  if test -n "$PKG_CONFIG" ; then
     21785    # set search path for pkg-config
     21786    # need to export variable to be sure that the following pkg-config gets these values
     21787    coin_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
     21788    PKG_CONFIG_PATH="$COIN_PKG_CONFIG_PATH"
     21789    export PKG_CONFIG_PATH
     21790
     21791    # let pkg-config do it's magic
     21792
     21793
     21794
     21795if test -n "$PKG_CONFIG" ; then
     21796  if $PKG_CONFIG --exists "coindatanetlib"; then
     21797    NETLIB_VERSIONS="`$PKG_CONFIG --modversion coindatanetlib 2>/dev/null`"
     21798     cflags=`$PKG_CONFIG --cflags "coindatanetlib" 2>/dev/null`
     21799    # pkg-config cannot handle spaces, so CYGPATH_W cannot be put into .pc files
     21800        # thus, we modify the cflags extracted from pkg-config by putting CYGPATH_W behind -I's
     21801        # but only do this if is not trivial
     21802    if test "$CYGPATH_W" != "echo" ; then
     21803      # need to put into brackets since otherwise autoconf replaces the brackets in the sed command
     21804          cflags=`echo $cflags | sed -e 's/-I\([^ ]*\)/-I\`${CYGPATH_W} \1\`/g'`
     21805        fi
     21806    NETLIB_CFLAGS="$cflags"
     21807    NETLIB_LIBS=`$PKG_CONFIG --libs "coindatanetlib" 2>/dev/null`
     21808    NETLIB_DATA=`$PKG_CONFIG --variable=datadir "coindatanetlib" 2>/dev/null`
     21809     coin_has_netlib=yes
     21810        echo "$as_me:$LINENO: result: yes: $NETLIB_VERSIONS" >&5
     21811echo "${ECHO_T}yes: $NETLIB_VERSIONS" >&6
     21812
     21813
     21814
     21815  else
     21816    NETLIB_PKG_ERRORS=`$PKG_CONFIG $pkg_short_errors --errors-to-stdout --print-errors coindatanetlib`
     21817      coin_has_netlib=notGiven
     21818        echo "$as_me:$LINENO: result: not given: $NETLIB_PKG_ERRORS" >&5
     21819echo "${ECHO_T}not given: $NETLIB_PKG_ERRORS" >&6
     21820
     21821  fi
     21822else
     21823  { { echo "$as_me:$LINENO: error: \"Cannot check for existance of module Netlib without pkg-config\"" >&5
     21824echo "$as_me: error: \"Cannot check for existance of module Netlib without pkg-config\"" >&2;}
     21825   { (exit 1); exit 1; }; }
     21826fi
     21827
     21828
     21829
     21830
     21831    # reset PKG_CONFIG_PATH variable
     21832    PKG_CONFIG_PATH="$coin_save_PKG_CONFIG_PATH"
     21833  else
     21834    #if 4th argument is given, try fallback - whereby we take the first word from coindatanetlib as basename for the .pc file
     21835
     21836if test x$coin_has_netlib != "xyes" ; then
     21837
     21838
     21839
     21840coin_has_netlib=notGiven
     21841
     21842# check if user wants to skip module in any case
     21843if test x"$COIN_SKIP_PROJECTS" != x; then
     21844  for dir in $COIN_SKIP_PROJECTS; do
     21845    if test $dir = "Netlib"; then
     21846      coin_has_netlib=skipping
     21847    fi
     21848  done
     21849fi
     21850
     21851NETLIB_LIBS=
     21852NETLIB_CFLAGS=
     21853NETLIB_DATA=
     21854
     21855
     21856if test $coin_has_netlib != "skipping" ; then
     21857  # if the project is available and configured, then a project-uninstalled.pc file should have been created
     21858  if test -r ../Data/Netlib/coindatanetlib-uninstalled.pc ; then
     21859    # read CFLAGS and LIBS from m4_bpatsubst(coindatanetlib, [ .*], [])-uninstalled.pc file
     21860    # add CYGPATH_W cludge into include flags
     21861    # replace -L${libdir} by absolute path to build directory in linker flags
     21862    # we assume that the build directory is ../Data/Netlib/src if this directory exists, otherwise we assume that it is ../Data/Netlib
     21863    NETLIB_CFLAGS=`sed -n -e 's/Cflags://' -e 's/-I\([^ ]*\)/-I\`${CYGPATH_W} \1\`/gp' ../Data/Netlib/coindatanetlib-uninstalled.pc`
     21864    projectlibs=`sed -n -e 's/Libs://' -e 's/-L\${libdir}//p' ../Data/Netlib/coindatanetlib-uninstalled.pc`
     21865    if test "x$projectlibs" != x ; then
     21866      if test -d ../Data/Netlib/src ; then
     21867        NETLIB_LIBS="-L`cd ../Data/Netlib/src; pwd` $projectlibs"
     21868      else
     21869        NETLIB_LIBS="-L`cd ../Data/Netlib; pwd` $projectlibs"
     21870      fi
     21871    else
     21872      NETLIB_LIBS=`sed -n -e 's/Libs://p' ../Data/Netlib/coindatanetlib-uninstalled.pc`
     21873    fi
     21874    NETLIB_DATA=`sed -n -e 's/datadir=//gp' ../Data/Netlib/coindatanetlib-uninstalled.pc`
     21875
     21876
     21877
     21878
     21879cat >>confdefs.h <<\_ACEOF
     21880#define COIN_HAS_NETLIB 1
     21881_ACEOF
     21882
     21883
     21884
     21885    coin_has_netlib=yes
     21886    echo "$as_me:$LINENO: result: ../Data/Netlib" >&5
     21887echo "${ECHO_T}../Data/Netlib" >&6
     21888  else
     21889    echo "$as_me:$LINENO: result: $coin_has_netlib" >&5
     21890echo "${ECHO_T}$coin_has_netlib" >&6
     21891  fi
     21892else
     21893  echo "$as_me:$LINENO: result: skipping" >&5
     21894echo "${ECHO_T}skipping" >&6
     21895fi
     21896
     21897#if user did not disable setting of makefile conditional, do it
     21898
     21899
     21900if test $coin_has_netlib != notGiven &&
     21901                test $coin_has_netlib != skipping; then
     21902  COIN_HAS_NETLIB_TRUE=
     21903  COIN_HAS_NETLIB_FALSE='#'
     21904else
     21905  COIN_HAS_NETLIB_TRUE='#'
     21906  COIN_HAS_NETLIB_FALSE=
     21907fi
     21908
     21909
     21910fi
     21911
     21912
     21913  fi
     21914
     21915else
     21916  echo "$as_me:$LINENO: result: $coin_has_netlib" >&5
     21917echo "${ECHO_T}$coin_has_netlib" >&6
     21918fi
     21919
     21920if test $coin_has_netlib != skipping &&
     21921   test $coin_has_netlib != notGiven ; then
     21922  if test 0 = 1 ; then  #change this test to enable a bit of debugging output
     21923  if test -n "$NETLIB_CFLAGS" ; then
     21924    { echo "$as_me:$LINENO: Netlib CFLAGS are $NETLIB_CFLAGS" >&5
     21925echo "$as_me: Netlib CFLAGS are $NETLIB_CFLAGS" >&6;}
     21926  fi
     21927  if test -n "$NETLIB_LIBS" ; then
     21928    { echo "$as_me:$LINENO: Netlib LIBS   are $NETLIB_LIBS" >&5
     21929echo "$as_me: Netlib LIBS   are $NETLIB_LIBS" >&6;}
     21930  fi
     21931  if test -n "$NETLIB_DATA" ; then
     21932    { echo "$as_me:$LINENO: Netlib DATA   is  $NETLIB_DATA" >&5
     21933echo "$as_me: Netlib DATA   is  $NETLIB_DATA" >&6;}
     21934  fi
     21935  fi
     21936
     21937cat >>confdefs.h <<\_ACEOF
     21938#define COIN_HAS_NETLIB 1
     21939_ACEOF
     21940
     21941fi
     21942
     21943# Define the Makefile conditional
     21944
     21945
     21946if test $coin_has_netlib != notGiven &&
     21947                test $coin_has_netlib != skipping; then
     21948  COIN_HAS_NETLIB_TRUE=
     21949  COIN_HAS_NETLIB_FALSE='#'
     21950else
     21951  COIN_HAS_NETLIB_TRUE='#'
     21952  COIN_HAS_NETLIB_FALSE=
     21953fi
     21954
     21955
    2052821956
    2052921957
     
    2101722445# Here list all the files that configure should create (except for the
    2101822446# configuration header file)
    21019                                                   ac_config_files="$ac_config_files Makefile examples/Makefile src/Makefile test/Makefile clp_addlibs.txt"
    21020 
     22447                                                                      ac_config_files="$ac_config_files Makefile examples/Makefile src/Makefile src/OsiClp/Makefile test/Makefile clp.pc clp-uninstalled.pc"
     22448
     22449
     22450if test $coin_has_osi = yes ; then
     22451                      ac_config_files="$ac_config_files src/OsiClp/osi-clp.pc osi-clp-uninstalled.pc:src/OsiClp/osi-clp-uninstalled.pc.in"
     22452
     22453fi
    2102122454
    2102222455# Here put the location and name of the configuration header file
     
    2108222515  fi
    2108322516
     22517  # need to come before AC_OUTPUT
     22518  if test x$coin_projectdir != xyes; then
     22519    # write coin_subdirs to a file so that project configuration knows where to find uninstalled projects
     22520    echo $coin_subdirs > coin_subdirs.txt
     22521  else
     22522    # substitute for OBJDIR, needed to setup .pc file for uninstalled project
     22523    ABSBUILDDIR="`pwd`"
     22524
     22525  fi
     22526
    2108422527  cat >confcache <<\_ACEOF
    2108522528# This file is a shell script that caches the results of configure
     
    2121522658   { (exit 1); exit 1; }; }
    2121622659fi
     22660if test -z "${COIN_HAS_PKGCONFIG_TRUE}" && test -z "${COIN_HAS_PKGCONFIG_FALSE}"; then
     22661  { { echo "$as_me:$LINENO: error: conditional \"COIN_HAS_PKGCONFIG\" was never defined.
     22662Usually this means the macro was only invoked conditionally." >&5
     22663echo "$as_me: error: conditional \"COIN_HAS_PKGCONFIG\" was never defined.
     22664Usually this means the macro was only invoked conditionally." >&2;}
     22665   { (exit 1); exit 1; }; }
     22666fi
    2121722667if test -z "${COIN_HAS_COINUTILS_TRUE}" && test -z "${COIN_HAS_COINUTILS_FALSE}"; then
    2121822668  { { echo "$as_me:$LINENO: error: conditional \"COIN_HAS_COINUTILS\" was never defined.
     
    2122222672   { (exit 1); exit 1; }; }
    2122322673fi
    21224 if test -z "${COIN_HAS_CLP_TRUE}" && test -z "${COIN_HAS_CLP_FALSE}"; then
    21225   { { echo "$as_me:$LINENO: error: conditional \"COIN_HAS_CLP\" was never defined.
     22674if test -z "${COIN_HAS_COINUTILS_TRUE}" && test -z "${COIN_HAS_COINUTILS_FALSE}"; then
     22675  { { echo "$as_me:$LINENO: error: conditional \"COIN_HAS_COINUTILS\" was never defined.
    2122622676Usually this means the macro was only invoked conditionally." >&5
    21227 echo "$as_me: error: conditional \"COIN_HAS_CLP\" was never defined.
     22677echo "$as_me: error: conditional \"COIN_HAS_COINUTILS\" was never defined.
     22678Usually this means the macro was only invoked conditionally." >&2;}
     22679   { (exit 1); exit 1; }; }
     22680fi
     22681if test -z "${COIN_HAS_OSI_TRUE}" && test -z "${COIN_HAS_OSI_FALSE}"; then
     22682  { { echo "$as_me:$LINENO: error: conditional \"COIN_HAS_OSI\" was never defined.
     22683Usually this means the macro was only invoked conditionally." >&5
     22684echo "$as_me: error: conditional \"COIN_HAS_OSI\" was never defined.
     22685Usually this means the macro was only invoked conditionally." >&2;}
     22686   { (exit 1); exit 1; }; }
     22687fi
     22688if test -z "${COIN_HAS_OSI_TRUE}" && test -z "${COIN_HAS_OSI_FALSE}"; then
     22689  { { echo "$as_me:$LINENO: error: conditional \"COIN_HAS_OSI\" was never defined.
     22690Usually this means the macro was only invoked conditionally." >&5
     22691echo "$as_me: error: conditional \"COIN_HAS_OSI\" was never defined.
     22692Usually this means the macro was only invoked conditionally." >&2;}
     22693   { (exit 1); exit 1; }; }
     22694fi
     22695if test -z "${COIN_HAS_OSITESTS_TRUE}" && test -z "${COIN_HAS_OSITESTS_FALSE}"; then
     22696  { { echo "$as_me:$LINENO: error: conditional \"COIN_HAS_OSITESTS\" was never defined.
     22697Usually this means the macro was only invoked conditionally." >&5
     22698echo "$as_me: error: conditional \"COIN_HAS_OSITESTS\" was never defined.
     22699Usually this means the macro was only invoked conditionally." >&2;}
     22700   { (exit 1); exit 1; }; }
     22701fi
     22702if test -z "${COIN_HAS_OSITESTS_TRUE}" && test -z "${COIN_HAS_OSITESTS_FALSE}"; then
     22703  { { echo "$as_me:$LINENO: error: conditional \"COIN_HAS_OSITESTS\" was never defined.
     22704Usually this means the macro was only invoked conditionally." >&5
     22705echo "$as_me: error: conditional \"COIN_HAS_OSITESTS\" was never defined.
     22706Usually this means the macro was only invoked conditionally." >&2;}
     22707   { (exit 1); exit 1; }; }
     22708fi
     22709if test -z "${COIN_HAS_SAMPLE_TRUE}" && test -z "${COIN_HAS_SAMPLE_FALSE}"; then
     22710  { { echo "$as_me:$LINENO: error: conditional \"COIN_HAS_SAMPLE\" was never defined.
     22711Usually this means the macro was only invoked conditionally." >&5
     22712echo "$as_me: error: conditional \"COIN_HAS_SAMPLE\" was never defined.
     22713Usually this means the macro was only invoked conditionally." >&2;}
     22714   { (exit 1); exit 1; }; }
     22715fi
     22716if test -z "${COIN_HAS_SAMPLE_TRUE}" && test -z "${COIN_HAS_SAMPLE_FALSE}"; then
     22717  { { echo "$as_me:$LINENO: error: conditional \"COIN_HAS_SAMPLE\" was never defined.
     22718Usually this means the macro was only invoked conditionally." >&5
     22719echo "$as_me: error: conditional \"COIN_HAS_SAMPLE\" was never defined.
     22720Usually this means the macro was only invoked conditionally." >&2;}
     22721   { (exit 1); exit 1; }; }
     22722fi
     22723if test -z "${COIN_HAS_NETLIB_TRUE}" && test -z "${COIN_HAS_NETLIB_FALSE}"; then
     22724  { { echo "$as_me:$LINENO: error: conditional \"COIN_HAS_NETLIB\" was never defined.
     22725Usually this means the macro was only invoked conditionally." >&5
     22726echo "$as_me: error: conditional \"COIN_HAS_NETLIB\" was never defined.
     22727Usually this means the macro was only invoked conditionally." >&2;}
     22728   { (exit 1); exit 1; }; }
     22729fi
     22730if test -z "${COIN_HAS_NETLIB_TRUE}" && test -z "${COIN_HAS_NETLIB_FALSE}"; then
     22731  { { echo "$as_me:$LINENO: error: conditional \"COIN_HAS_NETLIB\" was never defined.
     22732Usually this means the macro was only invoked conditionally." >&5
     22733echo "$as_me: error: conditional \"COIN_HAS_NETLIB\" was never defined.
    2122822734Usually this means the macro was only invoked conditionally." >&2;}
    2122922735   { (exit 1); exit 1; }; }
     
    2167623182  "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
    2167723183  "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
     23184  "src/OsiClp/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/OsiClp/Makefile" ;;
    2167823185  "test/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
    21679   "clp_addlibs.txt" ) CONFIG_FILES="$CONFIG_FILES clp_addlibs.txt" ;;
     23186  "clp.pc" ) CONFIG_FILES="$CONFIG_FILES clp.pc" ;;
     23187  "clp-uninstalled.pc" ) CONFIG_FILES="$CONFIG_FILES clp-uninstalled.pc" ;;
     23188  "src/OsiClp/osi-clp.pc" ) CONFIG_FILES="$CONFIG_FILES src/OsiClp/osi-clp.pc" ;;
     23189  "osi-clp-uninstalled.pc" ) CONFIG_FILES="$CONFIG_FILES osi-clp-uninstalled.pc:src/OsiClp/osi-clp-uninstalled.pc.in" ;;
    2168023190  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
    2168123191  "inc/config_clp.h" ) CONFIG_HEADERS="$CONFIG_HEADERS inc/config_clp.h" ;;
     
    2177323283s,@ALWAYS_FALSE_TRUE@,$ALWAYS_FALSE_TRUE,;t t
    2177423284s,@ALWAYS_FALSE_FALSE@,$ALWAYS_FALSE_FALSE,;t t
     23285s,@have_svnversion@,$have_svnversion,;t t
     23286s,@_SVN_REV@,$_SVN_REV,;t t
    2177523287s,@CDEFS@,$CDEFS,;t t
    2177623288s,@ADD_CFLAGS@,$ADD_CFLAGS,;t t
     
    2186423376s,@RPATH_FLAGS@,$RPATH_FLAGS,;t t
    2186523377s,@LT_LDFLAGS@,$LT_LDFLAGS,;t t
    21866 s,@COINUTILSSRCDIR@,$COINUTILSSRCDIR,;t t
    21867 s,@COINUTILSOBJDIR@,$COINUTILSOBJDIR,;t t
    21868 s,@COINUTILSDOCDIR@,$COINUTILSDOCDIR,;t t
     23378s,@PKG_CONFIG@,$PKG_CONFIG,;t t
     23379s,@ac_pt_PKG_CONFIG@,$ac_pt_PKG_CONFIG,;t t
     23380s,@COIN_HAS_PKGCONFIG_TRUE@,$COIN_HAS_PKGCONFIG_TRUE,;t t
     23381s,@COIN_HAS_PKGCONFIG_FALSE@,$COIN_HAS_PKGCONFIG_FALSE,;t t
     23382s,@COIN_PKG_CONFIG_PATH@,$COIN_PKG_CONFIG_PATH,;t t
     23383s,@COINUTILS_LIBS@,$COINUTILS_LIBS,;t t
     23384s,@COINUTILS_CFLAGS@,$COINUTILS_CFLAGS,;t t
     23385s,@COINUTILS_DATA@,$COINUTILS_DATA,;t t
     23386s,@REQUIREDPACKAGES@,$REQUIREDPACKAGES,;t t
    2186923387s,@COIN_HAS_COINUTILS_TRUE@,$COIN_HAS_COINUTILS_TRUE,;t t
    2187023388s,@COIN_HAS_COINUTILS_FALSE@,$COIN_HAS_COINUTILS_FALSE,;t t
    21871 s,@CLPSRCDIR@,$CLPSRCDIR,;t t
    21872 s,@CLPOBJDIR@,$CLPOBJDIR,;t t
    21873 s,@CLPDOCDIR@,$CLPDOCDIR,;t t
    21874 s,@COIN_HAS_CLP_TRUE@,$COIN_HAS_CLP_TRUE,;t t
    21875 s,@COIN_HAS_CLP_FALSE@,$COIN_HAS_CLP_FALSE,;t t
     23389s,@OSI_LIBS@,$OSI_LIBS,;t t
     23390s,@OSI_CFLAGS@,$OSI_CFLAGS,;t t
     23391s,@OSI_DATA@,$OSI_DATA,;t t
     23392s,@COIN_HAS_OSI_TRUE@,$COIN_HAS_OSI_TRUE,;t t
     23393s,@COIN_HAS_OSI_FALSE@,$COIN_HAS_OSI_FALSE,;t t
     23394s,@OSITESTS_LIBS@,$OSITESTS_LIBS,;t t
     23395s,@OSITESTS_CFLAGS@,$OSITESTS_CFLAGS,;t t
     23396s,@OSITESTS_DATA@,$OSITESTS_DATA,;t t
     23397s,@COIN_HAS_OSITESTS_TRUE@,$COIN_HAS_OSITESTS_TRUE,;t t
     23398s,@COIN_HAS_OSITESTS_FALSE@,$COIN_HAS_OSITESTS_FALSE,;t t
     23399s,@SAMPLE_LIBS@,$SAMPLE_LIBS,;t t
     23400s,@SAMPLE_CFLAGS@,$SAMPLE_CFLAGS,;t t
     23401s,@SAMPLE_DATA@,$SAMPLE_DATA,;t t
     23402s,@COIN_HAS_SAMPLE_TRUE@,$COIN_HAS_SAMPLE_TRUE,;t t
     23403s,@COIN_HAS_SAMPLE_FALSE@,$COIN_HAS_SAMPLE_FALSE,;t t
     23404s,@NETLIB_LIBS@,$NETLIB_LIBS,;t t
     23405s,@NETLIB_CFLAGS@,$NETLIB_CFLAGS,;t t
     23406s,@NETLIB_DATA@,$NETLIB_DATA,;t t
     23407s,@COIN_HAS_NETLIB_TRUE@,$COIN_HAS_NETLIB_TRUE,;t t
     23408s,@COIN_HAS_NETLIB_FALSE@,$COIN_HAS_NETLIB_FALSE,;t t
    2187623409s,@LIBEXT@,$LIBEXT,;t t
    2187723410s,@VPATH_DISTCLEANFILES@,$VPATH_DISTCLEANFILES,;t t
     23411s,@ABSBUILDDIR@,$ABSBUILDDIR,;t t
    2187823412s,@LIBOBJS@,$LIBOBJS,;t t
    2187923413s,@LTLIBOBJS@,$LTLIBOBJS,;t t
  • trunk/Clp/configure.ac

    r1557 r1559  
    1313AC_PREREQ(2.59)
    1414
    15 AC_INIT([Clp],[trunk],[coin-clp@list.coin-or.org])
     15AC_INIT([Clp],[trunk],[clp@list.coin-or.org])
    1616
    1717AC_COPYRIGHT([
     
    2323# List one file in the package so that the configure script can test
    2424# whether the package is actually there
    25 AC_CONFIG_SRCDIR(src/ClpCholeskyBase.cpp)
     25AC_CONFIG_SRCDIR(src/ClpSimplex.cpp)
    2626
    2727# Where should everything be installed by default?  Here, we want it
     
    5454
    5555#############################################################################
    56 #                              COIN components                              #
     56#                              COIN-OR components                           #
    5757#############################################################################
    5858
    59 AC_COIN_HAS_PROJECT(CoinUtils)
    60 AC_COIN_HAS_PROJECT(Clp)
     59AC_COIN_HAS_MODULE(CoinUtils, [coinutils = trunk])
     60if test $coin_has_coinutils != yes ; then
     61  #if we have to use the fallback routines, then obviously it will not find CoinUtils dependencies
     62  #thus, we check whether ThirdParty/Blas and ThirdParty/Lapack have been setup and
     63  #assume that if present then they are dependencies of CoinUtils
     64  AC_COIN_HAS_MODULE_FALLBACK(Blas,   [coinblas],   [../ThirdParty/Blas],   [required=0 dodefine=0 doconditional=0])
     65  AC_COIN_HAS_MODULE_FALLBACK(Lapack, [coinlapack], [../ThirdParty/Lapack], [required=0 dodefine=0 doconditional=0])
     66fi
     67AC_COIN_HAS_MODULE_FALLBACK(CoinUtils, [coinutils], [../CoinUtils])
     68if test $coin_has_coinutils != yes ; then
     69  AC_MSG_ERROR([Required package CoinUtils not available.])
     70fi
     71#so if we had to do find Blas and Lapack separately, then add their linker flags to the CoinUtils flags
     72#actually the libs may already be included in libCoinUtils, but we may still need the fortran library flags
     73COINUTILS_LIBS="$COINUTILS_LIBS $BLAS_LIBS $LAPACK_LIBS"
     74
     75AC_COIN_HAS_MODULE(Osi,      [osi],            [required=0], [../Osi])
     76AC_COIN_HAS_MODULE(OsiTests, [osi-unittests],  [required=0], [../Osi])
     77AC_COIN_HAS_MODULE(Sample,   [coindatasample], [required=0], [../Data/Sample])
     78AC_COIN_HAS_MODULE(Netlib,   [coindatanetlib], [required=0], [../Data/Netlib])
    6179
    6280#############################################################################
     
    126144                 examples/Makefile
    127145                 src/Makefile
     146                 src/OsiClp/Makefile
    128147                 test/Makefile
    129                  clp_addlibs.txt])
     148                 clp.pc
     149                 clp-uninstalled.pc])
     150                 
     151if test $coin_has_osi = yes ; then
     152  AC_CONFIG_FILES([src/OsiClp/osi-clp.pc
     153                   osi-clp-uninstalled.pc:src/OsiClp/osi-clp-uninstalled.pc.in])
     154fi
    130155
    131156# Here put the location and name of the configuration header file
  • trunk/Clp/examples/Makefile.in

    r1265 r1559  
    4242
    4343# C++ Compiler options
    44 CXXFLAGS = @CXXFLAGS@
     44CXXFLAGS = @CXXFLAGS@ -DSAMPLEDIR=\"@SAMPLE_DATA@\" -DNETLIBDIR=\"@NETLIB_DATA@\"
    4545
    4646# additional C++ Compiler options for linking
     
    5151
    5252# C Compiler options
    53 CFLAGS = @CFLAGS@
     53CFLAGS = @CFLAGS@ -DSAMPLEDIR=\"@SAMPLE_DATA@\" -DNETLIBDIR=\"@NETLIB_DATA@\"
    5454
    5555# Directory with COIN header files
     
    5757
    5858# Directory with COIN libraries
    59 COINLIBDIR = @abs_lib_dir@
     59COINLIBDIR = @abs_lib_dir@/coin
    6060
    6161# Libraries necessary to link with Clp
    62 LIBS = -L$(COINLIBDIR) -lClp -lCoinUtils \
    63         @ADDLIBS@ `cat @COINUTILSDOCDIR@/coinutils_addlibs.txt`
     62LIBS = @COINUTILS_LIBS@ -L`$(CYGPATH_W) $(COINLIBDIR)` -lClp @ADDLIBS@
    6463
    6564# Necessary Include dirs (we use the CYGPATH_W variables to allow
    6665# compilation with Windows compilers)
    67 INCL = -I`$(CYGPATH_W) $(COININCDIR)` $(ADDINCFLAGS)
     66INCL = @COINUTILS_CFLAGS@ -I`$(CYGPATH_W) $(COININCDIR)` $(ADDINCFLAGS)
    6867
    6968# The following is necessary under cygwin, if native compilers are used
  • trunk/Clp/examples/addBits.cpp

    r1552 r1559  
    2525  (you can have as many different strings as you want)
    2626*/
     27#include "ClpConfig.h"
    2728#include "ClpSimplex.hpp"
    2829#include "CoinHelperFunctions.hpp"
     
    3233#include <cassert>
    3334
    34 int main (int argc, const char *argv[])
     35int main(int argc, const char *argv[])
    3536{
    3637     // Empty model
    3738     ClpSimplex  model;
    38      std::string mpsFileName = "../../Data/Netlib/25fv47.mps";
     39     std::string mpsFileName;
    3940     if (argc >= 2) mpsFileName = argv[1];
     41     else {
     42#if defined(COIN_HAS_NETLIB) && defined(NETLIBDIR)
     43          mpsFileName = NETLIBDIR "/25fv47.mps";
     44#else
     45          fprintf(stderr, "Do not know where to find netlib MPS files.\n");
     46          exit(1);
     47#endif
     48     }
    4049     int status = model.readMps(mpsFileName.c_str(), true);
    4150
     
    160169     int numberErrors = model2.loadProblem(build);
    161170     // should fail as we never set multiplier
    162      assert (numberErrors);
     171     assert(numberErrors);
    163172     time3 = CoinCpuTime() - time2;
    164173     // subtract out unsuccessful times
     
    167176     build.associateElement("multiplier", 0.0);
    168177     numberErrors = model2.loadProblem(build);
    169      assert (!numberErrors);
     178     assert(!numberErrors);
    170179     time3 = CoinCpuTime();
    171180     printf("Time for build using CoinModel is %g (%g for successful loadproblem)\n", time3 - time1,
     
    176185          build.associateElement("multiplier", multiplier);
    177186          numberErrors = model2.loadProblem(build, true);
    178           assert (!numberErrors);
     187          assert(!numberErrors);
    179188          model2.dual();
    180189     }
  • trunk/Clp/examples/addColumns.cpp

    r1552 r1559  
    1313#include <cassert>
    1414
    15 int main (int argc, const char *argv[])
     15int main(int argc, const char *argv[])
    1616{
    1717     {
     
    6161          double time1 = CoinCpuTime();
    6262          int k;
    63           for ( k = 0; k < 10000; k++) {
     63          for (k = 0; k < 10000; k++) {
    6464               int column2Index[] = {0, 1};
    6565               double column2Value[] = {1.0, -5.0};
     
    7373          CoinBuild buildObject;
    7474          time1 = CoinCpuTime();
    75           for ( k = 0; k < 100000; k++) {
     75          for (k = 0; k < 100000; k++) {
    7676               int column2Index[] = {0, 1};
    7777               double column2Value[] = {1.0, -5.0};
     
    8888          CoinBuild buildObject2;
    8989          time1 = CoinCpuTime();
    90           for ( k = 0; k < 10000; k++) {
     90          for (k = 0; k < 10000; k++) {
    9191               int column2Index[] = {0, 1};
    9292               double column2Value[] = {1.0, 1.0, -1.0};
     
    103103          CoinModel modelObject2;
    104104          time1 = CoinCpuTime();
    105           for ( k = 0; k < 10000; k++) {
     105          for (k = 0; k < 10000; k++) {
    106106               int column2Index[] = {0, 1};
    107107               double column2Value[] = {1.0, 1.0, -1.0};
     
    118118          CoinModel modelObject;
    119119          time1 = CoinCpuTime();
    120           for ( k = 0; k < 100000; k++) {
     120          for (k = 0; k < 100000; k++) {
    121121               int column2Index[] = {0, 1};
    122122               double column2Value[] = {1.0, -5.0};
     
    183183          ClpSimplex  model;
    184184          int status;
    185           if (argc < 2)
    186                status = model.readMps("../../Data/Sample/p0033.mps");
    187           else
     185          if (argc < 2) {
     186#if defined(COIN_HAS_SAMPLE) && defined(SAMPLEDIR)
     187               status = model.readMps(SAMPLEDIR "/p0033.mps", true);
     188#else
     189               fprintf(stderr, "Do not know where to find sample MPS files.\n");
     190               exit(1);
     191#endif
     192          } else
    188193               status = model.readMps(argv[1]);
    189194          if (status) {
     
    227232          ClpSimplex  model;
    228233          int status;
    229           if (argc < 2)
    230                status = model.readMps("../../Data/Sample/p0033.mps");
    231           else
     234          if (argc < 2) {
     235#if defined(COIN_HAS_SAMPLE) && defined(SAMPLEDIR)
     236               status = model.readMps(SAMPLEDIR "/p0033.mps", true);
     237#else
     238               fprintf(stderr, "Do not know where to find sample MPS files.\n");
     239               exit(1);
     240#endif
     241          } else
    232242               status = model.readMps(argv[1]);
    233243          if (status) {
  • trunk/Clp/examples/addRows.cpp

    r1552 r1559  
    1313#include <cassert>
    1414
    15 int main (int argc, const char *argv[])
     15int main(int argc, const char *argv[])
    1616{
    1717     try {
     
    6767          double time1 = CoinCpuTime();
    6868          int k;
    69           for ( k = 0; k < 10000; k++) {
     69          for (k = 0; k < 10000; k++) {
    7070               int row2Index[] = {0, 1, 2};
    7171               double row2Value[] = {1.0, -5.0, 1.0};
     
    7979          CoinBuild buildObject;
    8080          time1 = CoinCpuTime();
    81           for ( k = 0; k < 10000; k++) {
     81          for (k = 0; k < 10000; k++) {
    8282               int row2Index[] = {0, 1, 2};
    8383               double row2Value[] = {1.0, -5.0, 1.0};
     
    9494          CoinBuild buildObject2;
    9595          time1 = CoinCpuTime();
    96           for ( k = 0; k < 10000; k++) {
     96          for (k = 0; k < 10000; k++) {
    9797               int row2Index[] = {0, 1, 2};
    9898               double row2Value[] = {1.0, -1.0, 1.0};
     
    108108          CoinModel modelObject2;
    109109          time1 = CoinCpuTime();
    110           for ( k = 0; k < 10000; k++) {
     110          for (k = 0; k < 10000; k++) {
    111111               int row2Index[] = {0, 1, 2};
    112112               double row2Value[] = {1.0, -1.0, 1.0};
     
    121121          CoinModel modelObject3;
    122122          time1 = CoinCpuTime();
    123           for ( k = 0; k < 10000; k++) {
     123          for (k = 0; k < 10000; k++) {
    124124               int row2Index[] = {0, 1, 2};
    125125               double row2Value[] = {1.0, -1.0, 1.0};
     
    135135          CoinModel modelObject;
    136136          time1 = CoinCpuTime();
    137           for ( k = 0; k < 10000; k++) {
     137          for (k = 0; k < 10000; k++) {
    138138               int row2Index[] = {0, 1, 2};
    139139               double row2Value[] = {1.0, -5.0, 1.0};
     
    266266          CoinBuild buildObject3;
    267267          time1 = CoinCpuTime();
    268           for ( k = 0; k < 10000; k++) {
     268          for (k = 0; k < 10000; k++) {
    269269               int row2Index[] = {0, 1, 2};
    270270               double row2Value[] = {1.0, -1.0, 1.0};
  • trunk/Clp/examples/decomp2.cpp

    r1552 r1559  
    33// Corporation and others.  All Rights Reserved.
    44
     5#include "ClpConfig.h"
    56#include "ClpSimplex.hpp"
    67#include "CoinStructuredModel.hpp"
    78#include <iomanip>
    89
    9 int main (int argc, const char *argv[])
     10int main(int argc, const char *argv[])
    1011{
    1112     /* Create a structured model by reading mps file and trying
     
    1314     */
    1415     // At present D-W rows are hard coded - will move stuff from OSL
    15      CoinStructuredModel model((argc < 2) ? "../../Data/Netlib/czprob.mps"
     16#if defined(COIN_HAS_NETLIB) && defined(NETLIBDIR)
     17     CoinStructuredModel model((argc < 2) ? NETLIBDIR "/czprob.mps"
    1618                               : argv[1], 1);
     19#else
     20     if (argc<2) {
     21          fprintf(stderr, "Do not know where to find netlib MPS files.\n");
     22          return 1;
     23     }
     24     CoinStructuredModel model(argv[1], 1);
     25#endif
    1726     if (!model.numberRows())
    1827          exit(10);
  • trunk/Clp/examples/decomp3.cpp

    r1552 r1559  
    33// Corporation and others.  All Rights Reserved.
    44
     5#include "ClpConfig.h"
    56#include "ClpSimplex.hpp"
    67#include "ClpPresolve.hpp"
     
    910#include <iomanip>
    1011
    11 int main (int argc, const char *argv[])
     12int main(int argc, const char *argv[])
    1213{
    1314     /* Create a structured model by reading mps file and trying
     
    3132     //#define PRESOLVE
    3233#ifndef PRESOLVE
    33      CoinStructuredModel model((argc < 2) ? "../../Data/Netlib/czprob.mps"
     34#if defined(COIN_HAS_NETLIB) && defined(NETLIBDIR)
     35     CoinStructuredModel model((argc < 2) ? NETLIBDIR "/czprob.mps"
    3436                               : argv[1], decompose, maxBlocks);
     37#else
     38     if (argc<2) {
     39          fprintf(stderr, "Do not know where to find netlib MPS files.\n");
     40          return 1;
     41     }
     42     CoinStructuredModel model(argv[1], 1);
     43#endif
    3544     if (!model.numberRows())
    3645          exit(10);
     
    4958#else
    5059     ClpSimplex  model;
    51      int status = model.readMps((argc < 2) ? "../../Data/Netlib/czprob.mps"
     60#if defined(COIN_HAS_NETLIB) && defined(NETLIBDIR)
     61     int status = model.readMps((argc < 2) ? NETLIBDIR "/czprob.mps"
    5262                                : argv[1]);
     63#else
     64     if (argc<2) {
     65          fprintf(stderr, "Do not know where to find netlib MPS files.\n");
     66          return 1;
     67     }
     68     int status = model.readMps(argv[1]);
     69#endif
    5370     if (status) {
    5471          fprintf(stdout, "Bad readMps %s\n", argv[1]);
     
    7693     return 0;
    7794     ClpSimplex solver2;
    78      solver2.readMps((argc < 2) ? "../../Data/Netlib/czprob.mps" : argv[1]);
     95#if defined(COIN_HAS_NETLIB) && defined(NETLIBDIR)
     96     solver2.readMps((argc < 2) ? NETLIBDIR "/czprob.mps" : argv[1]);
     97#else
     98     if (argc<2) {
     99          fprintf(stderr, "Do not know where to find netlib MPS files.\n");
     100          return 1;
     101     }
     102     solver2.readMps(argv[1]);
     103#endif
    79104     time1 = CoinCpuTime() ;
    80105     solver2.dual();
  • trunk/Clp/examples/decompose.cpp

    r1552 r1559  
    33// Corporation and others.  All Rights Reserved.
    44
     5#include "ClpConfig.h"
    56#include "ClpSimplex.hpp"
    67#include "CoinMpsIO.hpp"
    78#include <iomanip>
    89
    9 int main (int argc, const char *argv[])
     10int main(int argc, const char *argv[])
    1011{
    1112     ClpSimplex  model;
     
    1314     // Keep names
    1415     if (argc < 2) {
    15           //status=model.readMps("/home/forrest/data/ken-18.mps.gz",true);
    16           status = model.readMps("../../Data/Netlib/czprob.mps", true);
     16#if defined(COIN_HAS_NETLIB) && defined(NETLIBDIR)
     17          status = model.readMps(NETLIBDIR "/czprob.mps", true);
     18#else
     19          fprintf(stderr, "Do not know where to find netlib MPS files.\n");
     20          return 1;
     21#endif
    1722     } else {
    1823          status = model.readMps(argv[1], true);
     
    115120                                   }
    116121                              } else {
    117                                    assert (columnBlock[iColumn] == numberBlocks - 1);
     122                                   assert(columnBlock[iColumn] == numberBlocks - 1);
    118123                              }
    119124                         }
     
    296301               dual = master.dualRowSolution();
    297302               memset(master.dualRowSolution(),
    298                       0, (numberMasterRows + numberBlocks)*sizeof(double));
     303                      0, (numberMasterRows + numberBlocks) *sizeof(double));
    299304          } else {
    300305               abort();
     
    442447               if (whichBlock[i-numberMasterColumns] == iBlock)
    443448                    sol[i] = solution[i];
    444           memset(lower, 0, (numberMasterRows + numberBlocks)*sizeof(double));
     449          memset(lower, 0, (numberMasterRows + numberBlocks) *sizeof(double));
    445450          master.times(1.0, sol, lower);
    446451          for (iRow = 0; iRow < numberMasterRows; iRow++) {
  • trunk/Clp/examples/defaults.cpp

    r1552 r1559  
    88#include <iomanip>
    99
    10 int main (int argc, const char *argv[])
     10int main(int argc, const char *argv[])
    1111{
    1212     ClpSimplex  model;
    1313     int status;
    1414     // Keep names
    15      if (argc < 2)
    16           status = model.readMps("../../Data/Sample/p0033.mps", true);
    17      else
     15     if (argc < 2) {
     16#if defined(COIN_HAS_SAMPLE) && defined(SAMPLEDIR)
     17          status = model.readMps(SAMPLEDIR "/p0033.mps", true);
     18#else
     19          fprintf(stderr, "Do not know where to find sample MPS files.\n");
     20          exit(1);
     21#endif
     22     } else
    1823          status = model.readMps(argv[1], true);
    1924     /*
     
    7075     model.setPrimalTolerance(value);
    7176
    72      model.setDualTolerance( model.dualTolerance()) ;
     77     model.setDualTolerance(model.dualTolerance()) ;
    7378
    7479     // Other Param stuff
  • trunk/Clp/examples/driver.cpp

    r1552 r1559  
    66#include <iomanip>
    77
    8 int main (int argc, const char *argv[])
     8int main(int argc, const char *argv[])
    99{
    1010     ClpSimplex  model;
    1111     int status;
    1212     // Keep names when reading an mps file
    13      if (argc < 2)
    14           status = model.readMps("../../Data/Sample/p0033.mps", true);
    15      else
     13     if (argc < 2) {
     14#if defined(COIN_HAS_SAMPLE) && defined(SAMPLEDIR)
     15          status = model.readMps(SAMPLEDIR "/p0033.mps", true);
     16#else
     17          fprintf(stderr, "Do not know where to find sample MPS files.\n");
     18          exit(1);
     19#endif
     20     } else
    1621          status = model.readMps(argv[1], true);
    1722
  • trunk/Clp/examples/driver2.cpp

    r1552 r1559  
    5555     MyMessageHandler(const CoinMessageHandler&);
    5656
    57      MyMessageHandler& operator=(const MyMessageHandler&);
     57     MyMessageHandler& operator= (const MyMessageHandler&);
    5858     /// Clone
    5959     virtual CoinMessageHandler * clone() const ;
     
    7878// Default Constructor
    7979//-------------------------------------------------------------------
    80 MyMessageHandler::MyMessageHandler ()
     80MyMessageHandler::MyMessageHandler()
    8181     : CoinMessageHandler(),
    8282       model_(NULL)
     
    8787// Copy constructor
    8888//-------------------------------------------------------------------
    89 MyMessageHandler::MyMessageHandler (const MyMessageHandler & rhs)
     89MyMessageHandler::MyMessageHandler(const MyMessageHandler & rhs)
    9090     : CoinMessageHandler(rhs),
    9191       model_(rhs.model_)
     
    9393}
    9494
    95 MyMessageHandler::MyMessageHandler (const CoinMessageHandler & rhs)
     95MyMessageHandler::MyMessageHandler(const CoinMessageHandler & rhs)
    9696     : CoinMessageHandler(),
    9797       model_(NULL)
     
    110110// Destructor
    111111//-------------------------------------------------------------------
    112 MyMessageHandler::~MyMessageHandler ()
     112MyMessageHandler::~MyMessageHandler()
    113113{
    114114}
     
    118118//-------------------------------------------------------------------
    119119MyMessageHandler &
    120 MyMessageHandler::operator=(const MyMessageHandler& rhs)
     120MyMessageHandler::operator= (const MyMessageHandler & rhs)
    121121{
    122122     if (this != &rhs) {
    123           CoinMessageHandler::operator=(rhs);
     123          CoinMessageHandler::operator= (rhs);
    124124          model_ = rhs.model_;
    125125     }
     
    174174}
    175175
    176 int main (int argc, const char *argv[])
     176int main(int argc, const char *argv[])
    177177{
    178178     ClpSimplex  model;
     
    183183     int status;
    184184     // Keep names when reading an mps file
    185      if (argc < 2)
    186           status = model.readMps("../../Data/Sample/p0033.mps", true);
    187      else
     185     if (argc < 2) {
     186#if defined(COIN_HAS_SAMPLE) && defined(SAMPLEDIR)
     187          status = model.readMps(SAMPLEDIR "/p0033.mps", true);
     188#else
     189          fprintf(stderr, "Do not know where to find sample MPS files.\n");
     190          exit(1);
     191#endif
     192     } else
    188193          status = model.readMps(argv[1], true);
    189194
  • trunk/Clp/examples/driverC.c

    r1552 r1559  
    55/* This example shows the use of the "C" interface */
    66
     7#include "ClpConfig.h"
    78#include "Clp_C_Interface.h"
    89#include <stdio.h>
     
    1920     if (messageNumber == 1000002) {
    2021          /* Coin0002 */
    21           assert (nString == 1 && nInt == 3);
     22          assert(nString == 1 && nInt == 3);
    2223          printf("Name of problem is %s\n", vString[0]);
    2324          printf("row %d col %d el %d\n", vInt[0], vInt[1], vInt[2]);
     
    2526          /* Clp0005 */
    2627          int i;
    27           assert (nInt == 4 && nDouble == 3); /* they may not all print */
     28          assert(nInt == 4 && nDouble == 3);    /* they may not all print */
    2829          for (i = 0; i < 3; i++)
    2930               printf("%d %g\n", vInt[i], vDouble[i]);
     
    3334
    3435
    35 int main (int argc, const char *argv[])
     36int main(int argc, const char *argv[])
    3637{
    3738     /* Get default model */
     
    4142     Clp_registerCallBack(model, callBack);
    4243     /* Keep names when reading an mps file */
    43      if (argc < 2)
    44           status = Clp_readMps(model, "../../Data/Sample/p0033.mps", 1, 0);
    45      else
     44     if (argc < 2) {
     45#if defined(COIN_HAS_SAMPLE) && defined(SAMPLEDIR)
     46          status = Clp_readMps(model, SAMPLEDIR "/p0033.mps", 1, 0);
     47#else
     48          fprintf(stderr, "Do not know where to find sample MPS files.\n");
     49          exit(1);
     50#endif
     51     } else
    4652          status = Clp_readMps(model, argv[1], 1, 0);
    4753
  • trunk/Clp/examples/dualCuts.cpp

    r1552 r1559  
    2020#include <iomanip>
    2121
    22 int main (int argc, const char *argv[])
     22int main(int argc, const char *argv[])
    2323{
    2424     ClpSimplex  model;
  • trunk/Clp/examples/ekk.cpp

    r1552 r1559  
    4949#include <stdarg.h>
    5050
    51 int main (int argc, const char *argv[])
     51int main(int argc, const char *argv[])
    5252{
    5353     const char * name;
     
    6262     EKKContext * context;
    6363
    64      if ( argc > 1 ) {
     64     if (argc > 1) {
    6565          name = argv[1];
    6666     } else {
    67           name = "../../Data/Sample/p0033.mps";
    68      }
     67#if defined(COIN_HAS_SAMPLE) && defined(SAMPLEDIR)
     68          name = (SAMPLEDIR "/p0033.mps";
     69#else
     70          fprintf(stderr, "Do not know where to find sample MPS files.\n");
     71          exit(1);
     72#endif
     73             }
    6974
    70      /* initialize OSL environment */
    71      context = ekk_initializeContext();
     75             /* initialize OSL environment */
     76             context = ekk_initializeContext();
    7277     model = ekk_newModel(context, "");
    7378
     
    143148          }
    144149          if (useosl == 2)
    145                ekk_allSlackBasis(model); // otherwise it would be easy
     150               ekk_allSlackBasis(model);    // otherwise it would be easy
    146151     }
    147152     if ((useosl & 2) == 0) {
  • trunk/Clp/examples/ekk_interface.cpp

    r1552 r1559  
    168168     int numberRows = ekk_getInumrows(model);
    169169     int numberColumns = ekk_getInumcols(model);
    170      int * rowStatus =  (int *) ekk_rowstat(model);
     170     int * rowStatus = (int *) ekk_rowstat(model);
    171171     double * rowSolution = (double *) ekk_rowacts(model);
    172172     int i;
    173173     int * columnStatus = (int *) ekk_colstat(model);
    174      double * columnSolution =  (double *) ekk_colsol(model);
     174     double * columnSolution = (double *) ekk_colsol(model);
    175175     memcpy(rowSolution, clp->primalRowSolution(), numberRows * sizeof(double));
    176176     memcpy(rowDual, clp->dualRowSolution(), numberRows * sizeof(double));
     
    200200     ekk_setRsumdinf(model, clp->sumDualInfeasibilities());
    201201     delete clp;
    202      if (compressInfo )
     202     if (compressInfo)
    203203          ekk_decompressModel(model, compressInfo);
    204204
  • trunk/Clp/examples/hello.cpp

    r1552 r1559  
    1717#include "ClpSimplex.hpp"
    1818
    19 int main (int argc, const char *argv[])
     19int main(int argc, const char *argv[])
    2020{
    2121     ClpSimplex  model;
  • trunk/Clp/examples/makeDual.cpp

    r1552 r1559  
    66#include "CoinHelperFunctions.hpp"
    77#include "CoinBuild.hpp"
    8 int main (int argc, const char *argv[])
     8int main(int argc, const char *argv[])
    99{
    1010     ClpSimplex  model;
    1111     int status;
    12      if (argc < 2)
    13           status = model.readMps("../../Data/Sample/p0033.mps");
    14      else
     12     if (argc < 2) {
     13#if defined(COIN_HAS_SAMPLE) && defined(SAMPLEDIR)
     14          status = model.readMps(SAMPLEDIR "/p0033.mps", true);
     15#else
     16          fprintf(stderr, "Do not know where to find sample MPS files.\n");
     17          exit(1);
     18#endif
     19     } else
    1520          status = model.readMps(argv[1]);
    1621     if (status) {
     
    121126     for (iRow = 0; iRow < numberRows; iRow++) {
    122127          if (rowLower[iRow] <= -1.0e20) {
    123                assert (rowUpper[iRow] < 1.0e20);
     128               assert(rowUpper[iRow] < 1.0e20);
    124129               newObjective[kRow] = -rowUpper[iRow];
    125130               fromRowsLower[kRow] = -COIN_DBL_MAX;
  • trunk/Clp/examples/minimum.cpp

    r1552 r1559  
    44
    55#include "ClpSimplex.hpp"
    6 int main (int argc, const char *argv[])
     6int main(int argc, const char *argv[])
    77{
    88     ClpSimplex  model;
    99     int status;
    10      if (argc < 2)
    11           status = model.readMps("../../Data/Sample/p0033.mps");
    12      else
     10     if (argc < 2) {
     11#if defined(COIN_HAS_SAMPLE) && defined(SAMPLEDIR)
     12          status = model.readMps(SAMPLEDIR "/p0033.mps", true);
     13#else
     14          fprintf(stderr, "Do not know where to find sample MPS files.\n");
     15          exit(1);
     16#endif
     17     } else
    1318          status = model.readMps(argv[1]);
    1419     if (!status) {
  • trunk/Clp/examples/modify.cpp

    r1552 r1559  
    88#include "ClpSimplex.hpp"
    99#include "CoinHelperFunctions.hpp"
    10 int main (int argc, const char *argv[])
     10int main(int argc, const char *argv[])
    1111{
    1212     ClpSimplex  model;
  • trunk/Clp/examples/myPdco.cpp

    r1552 r1559  
    2121// Default Constructor
    2222//-------------------------------------------------------------------
    23 myPdco::myPdco ()
     23myPdco::myPdco()
    2424     : ClpPdcoBase(),
    2525       rowIndex_(NULL),
     
    4545// Copy constructor
    4646//-------------------------------------------------------------------
    47 myPdco::myPdco (const myPdco & rhs)
     47myPdco::myPdco(const myPdco & rhs)
    4848     : ClpPdcoBase(rhs),
    4949       numlinks_(rhs.numlinks_),
     
    5656// Destructor
    5757//-------------------------------------------------------------------
    58 myPdco::~myPdco ()
     58myPdco::~myPdco()
    5959{
    6060     delete [] rowIndex_;
     
    6565//-------------------------------------------------------------------
    6666myPdco &
    67 myPdco::operator=(const myPdco& rhs)
     67myPdco::operator= (const myPdco & rhs)
    6868{
    6969     if (this != &rhs) {
    70           ClpPdcoBase::operator=(rhs);
     70          ClpPdcoBase::operator= (rhs);
    7171          numlinks_ = rhs.numlinks_;
    7272          numnodes_ = rhs.numnodes_;
     
    9191               y_sum += y_elts[k];
    9292               int i1 = rowIndex_[2*k];
    93                assert (i1 >= 0);
     93               assert(i1 >= 0);
    9494               x_elts[i1] += y_elts[k];
    9595               int i2 = rowIndex_[2*k+1];
    96                assert (i2 >= 0);
     96               assert(i2 >= 0);
    9797               x_elts[i2] -= y_elts[k];
    9898          }
     
    216216     int nonzpt = 0;
    217217     numlinks_ = 0;
    218      while(fscanf(fpData, "%d %d", ifrom, ito) && kct++ < maxlinks) {
     218     while (fscanf(fpData, "%d %d", ifrom, ito) && kct++ < maxlinks) {
    219219          //  while(fread(ipair, 4,2, fpData) && kct++ < maxlinks){
    220220          if ((*ifrom) < 0) {
     
    240240     fclose(fpData);
    241241     fclose(fpParam);
    242      printf ("imax %d  imin %d\n", imax, imin);
     242     printf("imax %d  imin %d\n", imax, imin);
    243243     // Set model size
    244244     numnodes_ = imax + 1;
  • trunk/Clp/examples/network.cpp

    r1552 r1559  
    1818#include <cmath>
    1919
    20 int main (int argc, const char *argv[])
     20int main(int argc, const char *argv[])
    2121{
    2222     int numberColumns;
     
    2424
    2525     FILE * fp;
    26      if ( argc > 1 ) {
     26     if (argc > 1) {
    2727          fp = fopen(argv[1], "r");
    2828          if (!fp) {
     
    4141     // read and skip
    4242     fscanf(fp, "%s", temp);
    43      assert (!strcmp(temp, "BEGIN"));
     43     assert(!strcmp(temp, "BEGIN"));
    4444     fscanf(fp, "%*s %*s %d %d %*s %*s %d %*s", &problem, &numberRows,
    4545            &numberColumns);
  • trunk/Clp/examples/pdco.cpp

    r1552 r1559  
    1616#include <cmath>
    1717
    18 int main (int argc, const char *argv[])
     18int main(int argc, const char *argv[])
    1919{
    2020
     
    5757     // These are already set?
    5858     model.xsize_ = 50.0 / (model.numberColumns());
    59      model.xsize_ = CoinMin( 1.0, model.xsize_);
     59     model.xsize_ = CoinMin(1.0, model.xsize_);
    6060
    6161     /*
    6262      *     Solve the test problem
    6363      */
    64      model.pdco( &stuff, options, info, outfo);
     64     model.pdco(&stuff, options, info, outfo);
    6565
    6666     /*
  • trunk/Clp/examples/piece.cpp

    r1552 r1559  
    1111#include <iomanip>
    1212
    13 int main (int argc, const char *argv[])
     13int main(int argc, const char *argv[])
    1414{
    1515     int status;
     
    115115               double obj2 = objective1[iColumn+1];
    116116               double sol2 = oldSolution[iColumn+1];
    117                if(fabs(up1 - lo2) > 1.0e-8) {
     117               if (fabs(up1 - lo2) > 1.0e-8) {
    118118                    // try other way
    119119                    double temp;
     
    202202     // Create nonlinear objective
    203203     int returnCode = model.createPiecewiseLinearCosts(segstart, breakpt, slope);
    204      assert (!returnCode);
     204     assert(!returnCode);
    205205
    206206     // delete
  • trunk/Clp/examples/rowColumn.cpp

    r1552 r1559  
    1515#include <cassert>
    1616
    17 int main (int argc, const char *argv[])
     17int main(int argc, const char *argv[])
    1818{
    1919     ClpSimplex  modelByRow, modelByColumn;
     
    6161     modelByColumn.dual();
    6262     // check value of objective
    63      assert (fabs(modelByColumn.objectiveValue() - 76000.0) < 1.0e-7);
     63     assert(fabs(modelByColumn.objectiveValue() - 76000.0) < 1.0e-7);
    6464     // b) As two steps - first creating a CoinPackedMatrix
    6565     // NULL for column lengths indicate they are stored without gaps
     
    7575     modelByColumn.dual();
    7676     // check value of objective
    77      assert (fabs(modelByColumn.objectiveValue() - 76000.0) < 1.0e-7);
     77     assert(fabs(modelByColumn.objectiveValue() - 76000.0) < 1.0e-7);
    7878     // Now do by row
    7979     // The false says row ordered so numberRows and numberColumns swapped - see CoinPackedMatrix.hpp
    80      assert(numberElements == rowStart[numberRows]); // check same number of elements in each copy
     80     assert(numberElements == rowStart[numberRows]);    // check same number of elements in each copy
    8181     CoinPackedMatrix byRow(false, numberColumns, numberRows, numberElements,
    8282                            elementByRow, column, rowStart, NULL);
     
    8888     modelByRow.dual();
    8989     // check value of objective
    90      assert (fabs(modelByRow.objectiveValue() - 76000.0) < 1.0e-7);
     90     assert(fabs(modelByRow.objectiveValue() - 76000.0) < 1.0e-7);
    9191     // write solution
    9292     const double * solution = modelByRow.primalColumnSolution();
  • trunk/Clp/examples/sprint.cpp

    r1552 r1559  
    77#include <iomanip>
    88
    9 int main (int argc, const char *argv[])
     9int main(int argc, const char *argv[])
    1010{
    1111     ClpSimplex  model;
     
    6262          // now see what that does to row solution
    6363          double * rowSolution = model.primalRowSolution();
    64           memset (rowSolution, 0, numberRows * sizeof(double));
     64          memset(rowSolution, 0, numberRows * sizeof(double));
    6565          model.times(1.0, columnSolution, rowSolution);
    6666
     
    135135          // now see what variables left out do to row solution
    136136          double * rowSolution = model.primalRowSolution();
    137           memset (rowSolution, 0, numberRows * sizeof(double));
     137          memset(rowSolution, 0, numberRows * sizeof(double));
    138138          int iRow, iColumn;
    139139          // zero out ones in small problem
  • trunk/Clp/examples/sprint2.cpp

    r1552 r1559  
    88#include <iomanip>
    99
    10 int main (int argc, const char *argv[])
     10int main(int argc, const char *argv[])
    1111{
    1212     ClpSimplex  model;
     
    8484          if (iPass) {
    8585               double ratio = ((double) smallNumberRows) / ((double) model2->numberRows());
    86                smallNumberColumns = (int) (smallNumberColumns * ratio);
     86               smallNumberColumns = (int)(smallNumberColumns * ratio);
    8787          }
    8888          delete model2;
  • trunk/Clp/examples/testBarrier.cpp

    r1552 r1559  
    77#include "ClpCholeskyWssmp.hpp"
    88#include "ClpCholeskyDense.hpp"
    9 int main (int argc, const char *argv[])
     9int main(int argc, const char *argv[])
    1010{
    1111     ClpInterior  model;
    1212     int status;
    13      if (argc < 2)
    14           status = model.readMps("../../Data/Sample/p0033.mps");
    15      else
     13     if (argc < 2) {
     14#if defined(COIN_HAS_SAMPLE) && defined(SAMPLEDIR)
     15          status = model.readMps(SAMPLEDIR "/p0033.mps", true);
     16#else
     17          fprintf(stderr, "Do not know where to find sample MPS files.\n");
     18          exit(1);
     19#endif
     20     } else
    1621          status = model.readMps(argv[1]);
    1722     if (status) {
  • trunk/Clp/examples/testBasis.cpp

    r1552 r1559  
    88#include <cassert>
    99
    10 int main (int argc, const char *argv[])
     10int main(int argc, const char *argv[])
    1111{
    1212     ClpSimplex  model;
  • trunk/Clp/examples/testGub.cpp

    r1552 r1559  
    33// Corporation and others.  All Rights Reserved.
    44
     5#include "ClpConfig.h"
    56#include "ClpSimplex.hpp"
    67#include "ClpDynamicExampleMatrix.hpp"
     
    1011#include "CoinTime.hpp"
    1112#include "CoinMpsIO.hpp"
    12 int main (int argc, const char *argv[])
     13int main(int argc, const char *argv[])
    1314{
    1415     ClpSimplex  model;
     
    1617     int maxFactor = 100;
    1718     if (argc < 2) {
    18           status = model.readMps("../../Data/Netlib/czprob.mps");
     19#if defined(COIN_HAS_NETLIB) && defined(NETLIBDIR)
     20          status = model.readMps(NETLIBDIR "/czprob.mps");
    1921          if (status) {
    2022               printf("Unable to read matrix - trying gzipped version\n");
    21                status = model.readMps("../../Data/Netlib/czprob.mps.gz");
    22           }
     23               status = model.readMps(NETLIBDIR "/czprob.mps.gz");
     24          }
     25#else
     26          fprintf(stderr, "Do not know where to find sample MPS files.\n");
     27          exit(1);
     28#endif
    2329     } else {
    2430          status = model.readMps(argv[1]);
     
    245251          printf("** While after adding matrix there are %d rows and %d columns\n",
    246252                 model2.numberRows(), model2.numberColumns());
    247           model2.setSpecialOptions(4); // exactly to bound
     253          model2.setSpecialOptions(4);    // exactly to bound
    248254          // For now scaling off
    249255          model2.scaling(0);
     
    261267               ClpDynamicMatrix * oldMatrix =
    262268                    dynamic_cast< ClpDynamicMatrix*>(model2.clpMatrix());
    263                assert (oldMatrix);
     269               assert(oldMatrix);
    264270               ClpDynamicMatrix * newMatrix = new
    265271               ClpDynamicMatrix(&model3, numberGub,
     
    272278               // and ordinary status (but only NON gub rows)
    273279               memcpy(model3.statusArray(), model2.statusArray(),
    274                       (newMatrix->numberStaticRows() + model3.numberColumns())*sizeof(unsigned char));
     280                      (newMatrix->numberStaticRows() + model3.numberColumns()) *sizeof(unsigned char));
    275281               newMatrix->switchOffCheck();
    276282               newMatrix->setRefreshFrequency(1000);
     
    278284               ClpDynamicExampleMatrix * oldMatrix =
    279285                    dynamic_cast< ClpDynamicExampleMatrix*>(model2.clpMatrix());
    280                assert (oldMatrix);
     286               assert(oldMatrix);
    281287               ClpDynamicExampleMatrix * newMatrix = new
    282288               ClpDynamicExampleMatrix(&model3, numberGub,
     
    290296               // and ordinary status (but only NON gub rows)
    291297               memcpy(model3.statusArray(), model2.statusArray(),
    292                       (newMatrix->numberStaticRows() + model3.numberColumns())*sizeof(unsigned char));
     298                      (newMatrix->numberStaticRows() + model3.numberColumns()) *sizeof(unsigned char));
    293299               newMatrix->switchOffCheck();
    294300               newMatrix->setRefreshFrequency(1000);
    295301          }
    296           model3.setSpecialOptions(4); // exactly to bound
     302          model3.setSpecialOptions(4);    // exactly to bound
    297303          // For now scaling off
    298304          model3.scaling(0);
     
    313319          ClpDynamicMatrix * gubMatrix =
    314320               dynamic_cast< ClpDynamicMatrix*>(model2.clpMatrix());
    315           assert (gubMatrix);
     321          assert(gubMatrix);
    316322          ClpDynamicExampleMatrix * gubMatrix2 =
    317323               dynamic_cast< ClpDynamicExampleMatrix*>(model2.clpMatrix());
     
    330336               const int * id = gubMatrix->id();
    331337               int i;
    332                const float * columnLower = gubMatrix->columnLower();
    333                const float * columnUpper = gubMatrix->columnUpper();
     338               const double * columnLower = gubMatrix->columnLower();
     339               const double * columnUpper = gubMatrix->columnUpper();
    334340               for (i = 0; i < numberGubColumns; i++) {
    335341                    if (gubMatrix->getDynamicStatus(i) == ClpDynamicMatrix::atUpperBound) {
     
    409415               }
    410416               // Coding below may not work if gub rows not at end
    411                FILE * fp = fopen ("xx.sol", "w");
     417               FILE * fp = fopen("xx.sol", "w");
    412418               fwrite(gubSolution, sizeof(double), numberTotalColumns, fp);
    413419               fwrite(status, sizeof(char), numberTotalColumns, fp);
     
    417423               model.times(1.0, gubSolution, rowsol2);
    418424               for (i = 0; i < numberStaticRows; i++)
    419                     assert (fabs(rowsol[i] - rowsol2[i]) < 1.0e-3);
     425                    assert(fabs(rowsol[i] - rowsol2[i]) < 1.0e-3);
    420426               for (; i < originalNumberRows; i++)
    421                     assert (rowsol2[i] > lower[i-numberStaticRows] - 1.0e-3 &&
    422                             rowsol2[i] < upper[i-numberStaticRows] + 1.0e-3);
     427                    assert(rowsol2[i] > lower[i-numberStaticRows] - 1.0e-3 &&
     428                           rowsol2[i] < upper[i-numberStaticRows] + 1.0e-3);
    423429               //for (;i<originalNumberRows;i++)
    424430               //printf("%d %g\n",i,rowsol2[i]);
  • trunk/Clp/examples/testGub2.cpp

    r1552 r1559  
    1010#include "CoinTime.hpp"
    1111#include "CoinMpsIO.hpp"
    12 int main (int argc, const char *argv[])
     12int main(int argc, const char *argv[])
    1313{
    1414     ClpSimplex  model;
     
    1616     int maxIts = 0;
    1717     int maxFactor = 100;
    18      if (argc < 2)
    19           status = model.readMps("../../Data/Sample/p0033.mps");
    20      else
     18     if (argc < 2) {
     19#if defined(COIN_HAS_SAMPLE) && defined(SAMPLEDIR)
     20          status = model.readMps(SAMPLEDIR "/p0033.mps", true);
     21#else
     22          fprintf(stderr, "Do not know where to find sample MPS files.\n");
     23          exit(1);
     24#endif
     25     } else
    2126          status = model.readMps(argv[1]);
    2227     if (status) {
     
    259264               ClpGubDynamicMatrix * gubMatrix =
    260265                    dynamic_cast< ClpGubDynamicMatrix*>(model2.clpMatrix());
    261                assert (gubMatrix);
     266               assert(gubMatrix);
    262267               const double * solution = model2.primalColumnSolution();
    263268               int numberGubColumns = gubMatrix->numberGubColumns();
     
    271276               const int * id = gubMatrix->id();
    272277               int i;
    273                const float * lowerColumn = gubMatrix->lowerColumn();
    274                const float * upperColumn = gubMatrix->upperColumn();
     278               const double * lowerColumn = gubMatrix->lowerColumn();
     279               const double * upperColumn = gubMatrix->upperColumn();
    275280               for (i = 0; i < numberGubColumns; i++) {
    276281                    if (gubMatrix->getDynamicStatus(i) == ClpGubDynamicMatrix::atUpperBound) {
     
    350355                         abort();
    351356               }
    352                FILE * fp = fopen ("xx.sol", "w");
     357               FILE * fp = fopen("xx.sol", "w");
    353358               fwrite(gubSolution, sizeof(double), numberTotalColumns, fp);
    354359               fwrite(status, sizeof(char), numberTotalColumns, fp);
     
    359364               model.times(1.0, gubSolution, rowsol2);
    360365               for (i = 0; i < numberRows; i++)
    361                     assert (fabs(rowsol[i] - rowsol2[i]) < 1.0e-3);
     366                    assert(fabs(rowsol[i] - rowsol2[i]) < 1.0e-3);
    362367               //for (;i<originalNumberRows;i++)
    363368               //printf("%d %g\n",i,rowsol2[i]);
  • trunk/Clp/examples/testQP.cpp

    r1552 r1559  
    99#include "ClpQuadraticObjective.hpp"
    1010#include <cassert>
    11 int main (int argc, const char *argv[])
     11int main(int argc, const char *argv[])
    1212{
    1313     /* Read quadratic model in two stages to test loadQuadraticObjective.
     
    2222     if (argc < 2) {
    2323          CoinMpsIO  m;
    24           int status = m.readMps("../../Data/Sample/share2qp", "mps");
     24#if defined(COIN_HAS_SAMPLE) && defined(SAMPLEDIR)
     25          int status = m.readMps(SAMPLEDIR "/share2qp", "mps");
     26#else
     27          fprintf(stderr, "Do not know where to find sample MPS files.\n");
     28          exit(1);
     29#endif
    2530          if (status) {
    2631               printf("errors on input\n");
     
    6166          int numberColumns = model.numberColumns();
    6267          int numberRows = model.numberRows();
    63           for ( i = 0; i < numberColumns; i++) {
     68          for (i = 0; i < numberColumns; i++) {
    6469               if (fabs(primal[i]) > 1.0e-8)
    6570                    printf("%d primal %g\n", i, primal[i]);
    6671          }
    67           for ( i = 0; i < numberRows; i++) {
     72          for (i = 0; i < numberRows; i++) {
    6873               if (fabs(dual[i]) > 1.0e-8)
    6974                    printf("%d dual %g\n", i, dual[i]);
     
    103108               const ClpQuadraticObjective * quadraticObj =
    104109                    (dynamic_cast<const ClpQuadraticObjective*>(model.objectiveAsObject()));
    105                assert (quadraticObj);
     110               assert(quadraticObj);
    106111               CoinPackedMatrix * quad = quadraticObj->quadraticObjective();
    107112               const int * columnQuadratic = quad->getIndices();
     
    115120               memcpy(gradient, quadraticObj->linearObjective(), numberColumns * sizeof(double));
    116121               int iColumn;
    117                for ( iColumn = 0; iColumn < numberColumns; iColumn++) {
     122               for (iColumn = 0; iColumn < numberColumns; iColumn++) {
    118123                    double valueI = primal[iColumn];
    119124                    CoinBigIndex j;
     
    149154               const int * columnLength = matrix->getVectorLengths();
    150155               const double * element = matrix->getElements();
    151                for ( iColumn = 0; iColumn < numberColumns; iColumn++) {
     156               for (iColumn = 0; iColumn < numberColumns; iColumn++) {
    152157                    double dj = gradient[iColumn];
    153158                    CoinBigIndex j;
     
    158163                    }
    159164                    if (model.getColumnStatus(iColumn) == ClpSimplex::basic) {
    160                          assert (fabs(dj) < 1.0e-5);
     165                         assert(fabs(dj) < 1.0e-5);
    161166                    } else {
    162                          assert (dj > -1.0e-5);
     167                         assert(dj > -1.0e-5);
    163168                    }
    164169               }
  • trunk/Clp/examples/useVolume.cpp

    r1552 r1559  
    1212private:
    1313     lpHook(const lpHook&);
    14      lpHook& operator=(const lpHook&);
     14     lpHook& operator= (const lpHook&);
    1515private:
    1616     /// Pointer to dense vector of structural variable upper bounds
     
    157157//#############################################################################
    158158
    159 int main (int argc, const char *argv[])
     159int main(int argc, const char *argv[])
    160160{
    161161     ClpSimplex  model;
    162162     int status;
    163163
    164      if (argc < 2)
    165           status = model.readMps("../../Data/Sample/p0033.mps", true);
    166      else
     164     if (argc < 2) {
     165#if defined(COIN_HAS_SAMPLE) && defined(SAMPLEDIR)
     166          status = model.readMps(SAMPLEDIR "/p0033.mps", true);
     167#else
     168          fprintf(stderr, "Do not know where to find sample MPS files.\n");
     169          exit(1);
     170#endif
     171     } else
    167172          status = model.readMps(argv[1], true);
    168173     /*
  • trunk/Clp/inc/config_clp.h.in

    r1554 r1559  
    1010#undef COIN_CLP_VERBOSITY
    1111
    12 /* Define to 1 if the Clp package is used */
    13 #undef COIN_HAS_CLP
     12/* Define to 1 if the CoinUtils module is available */
     13#undef COIN_HAS_COINUTILS
    1414
    15 /* Define to 1 if the CoinUtils package is used */
    16 #undef COIN_HAS_COINUTILS
     15/* Define to 1 if the Netlib module is available */
     16#undef COIN_HAS_NETLIB
     17
     18/* Define to 1 if the Osi module is available */
     19#undef COIN_HAS_OSI
     20
     21/* Define to 1 if the OsiTests module is available */
     22#undef COIN_HAS_OSITESTS
    1723
    1824/* Define to 1 if readline is available */
    1925#undef COIN_HAS_READLINE
     26
     27/* Define to 1 if the Sample module is available */
     28#undef COIN_HAS_SAMPLE
    2029
    2130/* Define to 1 if you have the <dlfcn.h> header file. */
     
    7887/* Define to 2 if wssmp_ is available, and to 3 if wssmp is available */
    7988#undef WSSMP_BARRIER
     89
     90/* SVN revision number of project */
     91#undef _SVN_REV
     92
     93/* Version number of project */
     94#undef _VERSION
  • trunk/Clp/src

  • trunk/Clp/src/Makefile.am

    r1344 r1559  
    99AUTOMAKE_OPTIONS = foreign
    1010
     11if COIN_HAS_OSI
     12  SUBDIRS = OsiClp
     13endif
     14
    1115########################################################################
    1216#                               libClp                                 #
     
    1519# Name of the library compiled in this directory.  We want it to be installed
    1620# in the 'lib' directory
    17 lib_LTLIBRARIES = libClp.la
     21coinlibdir = ${libdir}/coin
     22coinlib_LTLIBRARIES = libClp.la
    1823
    1924# List all source files for this library, including headers
     
    9297
    9398# List all additionally required COIN libraries
    94 clp_LDADD = libClp.la \
    95         $(COINUTILSOBJDIR)/src/libCoinUtils.la
    96 
    97 # Here we add additional libraries
    98 LIBS += $(ADDLIBS) `cat $(COINUTILSOBJDIR)/coinutils_addlibs.txt`
     99clp_LDADD = libClp.la $(COINUTILS_LIBS) $(ADDLIBS)
    99100
    100101# Finally, the -rpath flag is used by libtool to make sure that the shared
    101102# library is found (in the lib install directory) when we are using dynamic
    102103# libraries.
    103 clp_LDFLAGS = -rpath $(libdir)
     104clp_LDFLAGS = -rpath $(libdir)/coin
    104105
    105106########################################################################
     
    107108########################################################################
    108109
    109 # Here list all include flags, relative to this "srcdir" directory.  This
    110 # "cygpath" stuff is necessary to compile with native compilers on Windows.
    111 AM_CPPFLAGS = \
    112         -I`$(CYGPATH_W) $(COINUTILSSRCDIR)/src` \
    113         -I`$(CYGPATH_W) $(COINUTILSOBJDIR)/inc`
     110# CbcOrClpParam seem to require COIN_HAS_CLP so that it knows that it is build within Clp
     111AM_CPPFLAGS = $(COINUTILS_CFLAGS) -DCOIN_HAS_CLP
    114112
    115113# This line is necessary to allow VPATH compilation with MS compilers
     
    169167        Idiot.hpp
    170168
     169# needed by Cbc
     170includecoin_HEADERS += CbcOrClpParam.cpp
     171
    171172#############################################################################
    172173# Create the Config.h file that always defines HAVE_CONFIG_H and install it #
  • trunk/Clp/src/Makefile.in

    r1344 r1559  
    6363  esac;
    6464am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
    65 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
     65am__installdirs = "$(DESTDIR)$(coinlibdir)" "$(DESTDIR)$(bindir)" \
    6666        "$(DESTDIR)$(includecoindir)"
    67 libLTLIBRARIES_INSTALL = $(INSTALL)
    68 LTLIBRARIES = $(lib_LTLIBRARIES)
     67coinlibLTLIBRARIES_INSTALL = $(INSTALL)
     68LTLIBRARIES = $(coinlib_LTLIBRARIES)
    6969libClp_la_LIBADD =
    7070am_libClp_la_OBJECTS = ClpCholeskyBase.lo ClpCholeskyDense.lo \
     
    9393        unitTest.$(OBJEXT)
    9494clp_OBJECTS = $(am_clp_OBJECTS)
    95 clp_DEPENDENCIES = libClp.la $(COINUTILSOBJDIR)/src/libCoinUtils.la
     95am__DEPENDENCIES_1 =
     96clp_DEPENDENCIES = libClp.la $(am__DEPENDENCIES_1) \
     97        $(am__DEPENDENCIES_1)
    9698depcomp = $(SHELL) $(top_srcdir)/../depcomp
    9799am__depfiles_maybe = depfiles
     
    114116SOURCES = $(libClp_la_SOURCES) $(clp_SOURCES)
    115117DIST_SOURCES = $(libClp_la_SOURCES) $(clp_SOURCES)
     118RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
     119        html-recursive info-recursive install-data-recursive \
     120        install-exec-recursive install-info-recursive \
     121        install-recursive installcheck-recursive installdirs-recursive \
     122        pdf-recursive ps-recursive uninstall-info-recursive \
     123        uninstall-recursive
    116124includecoinHEADERS_INSTALL = $(INSTALL_HEADER)
    117125HEADERS = $(includecoin_HEADERS)
    118126ETAGS = etags
    119127CTAGS = ctags
     128DIST_SUBDIRS = OsiClp
    120129DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
     130ABSBUILDDIR = @ABSBUILDDIR@
    121131ACLOCAL = @ACLOCAL@
    122132ADDLIBS = @ADDLIBS@
     
    139149CDEFS = @CDEFS@
    140150CFLAGS = @CFLAGS@
    141 CLPDOCDIR = @CLPDOCDIR@
    142 CLPOBJDIR = @CLPOBJDIR@
    143 CLPSRCDIR = @CLPSRCDIR@
    144 COINUTILSDOCDIR = @COINUTILSDOCDIR@
    145 COINUTILSOBJDIR = @COINUTILSOBJDIR@
    146 COINUTILSSRCDIR = @COINUTILSSRCDIR@
    147 COIN_HAS_CLP_FALSE = @COIN_HAS_CLP_FALSE@
    148 COIN_HAS_CLP_TRUE = @COIN_HAS_CLP_TRUE@
     151COINUTILS_CFLAGS = @COINUTILS_CFLAGS@
     152COINUTILS_DATA = @COINUTILS_DATA@
     153COINUTILS_LIBS = @COINUTILS_LIBS@
    149154COIN_HAS_COINUTILS_FALSE = @COIN_HAS_COINUTILS_FALSE@
    150155COIN_HAS_COINUTILS_TRUE = @COIN_HAS_COINUTILS_TRUE@
     156COIN_HAS_NETLIB_FALSE = @COIN_HAS_NETLIB_FALSE@
     157COIN_HAS_NETLIB_TRUE = @COIN_HAS_NETLIB_TRUE@
     158COIN_HAS_OSITESTS_FALSE = @COIN_HAS_OSITESTS_FALSE@
     159COIN_HAS_OSITESTS_TRUE = @COIN_HAS_OSITESTS_TRUE@
     160COIN_HAS_OSI_FALSE = @COIN_HAS_OSI_FALSE@
     161COIN_HAS_OSI_TRUE = @COIN_HAS_OSI_TRUE@
     162COIN_HAS_PKGCONFIG_FALSE = @COIN_HAS_PKGCONFIG_FALSE@
     163COIN_HAS_PKGCONFIG_TRUE = @COIN_HAS_PKGCONFIG_TRUE@
     164COIN_HAS_SAMPLE_FALSE = @COIN_HAS_SAMPLE_FALSE@
     165COIN_HAS_SAMPLE_TRUE = @COIN_HAS_SAMPLE_TRUE@
     166COIN_PKG_CONFIG_PATH = @COIN_PKG_CONFIG_PATH@
    151167CPP = @CPP@
    152168CPPFLAGS = @CPPFLAGS@
     
    179195LIBEXT = @LIBEXT@
    180196LIBOBJS = @LIBOBJS@
    181 
    182 # Here we add additional libraries
    183 LIBS = @LIBS@ $(ADDLIBS) `cat \
    184         $(COINUTILSOBJDIR)/coinutils_addlibs.txt`
     197LIBS = @LIBS@
    185198LIBTOOL = @LIBTOOL@
    186199LIBTOOLM4 = @LIBTOOLM4@
     
    194207MPICC = @MPICC@
    195208MPICXX = @MPICXX@
     209NETLIB_CFLAGS = @NETLIB_CFLAGS@
     210NETLIB_DATA = @NETLIB_DATA@
     211NETLIB_LIBS = @NETLIB_LIBS@
    196212OBJEXT = @OBJEXT@
    197213OPT_CFLAGS = @OPT_CFLAGS@
    198214OPT_CXXFLAGS = @OPT_CXXFLAGS@
     215OSITESTS_CFLAGS = @OSITESTS_CFLAGS@
     216OSITESTS_DATA = @OSITESTS_DATA@
     217OSITESTS_LIBS = @OSITESTS_LIBS@
     218OSI_CFLAGS = @OSI_CFLAGS@
     219OSI_DATA = @OSI_DATA@
     220OSI_LIBS = @OSI_LIBS@
    199221PACKAGE = @PACKAGE@
    200222PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    204226PACKAGE_VERSION = @PACKAGE_VERSION@
    205227PATH_SEPARATOR = @PATH_SEPARATOR@
     228PKG_CONFIG = @PKG_CONFIG@
    206229RANLIB = @RANLIB@
     230REQUIREDPACKAGES = @REQUIREDPACKAGES@
    207231RPATH_FLAGS = @RPATH_FLAGS@
     232SAMPLE_CFLAGS = @SAMPLE_CFLAGS@
     233SAMPLE_DATA = @SAMPLE_DATA@
     234SAMPLE_LIBS = @SAMPLE_LIBS@
    208235SET_MAKE = @SET_MAKE@
    209236SHELL = @SHELL@
     
    211238VERSION = @VERSION@
    212239VPATH_DISTCLEANFILES = @VPATH_DISTCLEANFILES@
     240_SVN_REV = @_SVN_REV@
    213241abs_bin_dir = @abs_bin_dir@
    214242abs_include_dir = @abs_include_dir@
     
    223251ac_ct_STRIP = @ac_ct_STRIP@
    224252ac_cxx_preproc_warn_flag = @ac_cxx_preproc_warn_flag@
     253ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
    225254am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
    226255am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
     
    243272have_automake = @have_automake@
    244273have_svn = @have_svn@
     274have_svnversion = @have_svnversion@
    245275host = @host@
    246276host_alias = @host_alias@
     
    265295target_alias = @target_alias@
    266296AUTOMAKE_OPTIONS = foreign
     297@COIN_HAS_OSI_TRUE@SUBDIRS = OsiClp
    267298
    268299########################################################################
     
    272303# Name of the library compiled in this directory.  We want it to be installed
    273304# in the 'lib' directory
    274 lib_LTLIBRARIES = libClp.la
     305coinlibdir = ${libdir}/coin
     306coinlib_LTLIBRARIES = libClp.la
    275307
    276308# List all source files for this library, including headers
     
    343375
    344376# List all additionally required COIN libraries
    345 clp_LDADD = libClp.la \
    346         $(COINUTILSOBJDIR)/src/libCoinUtils.la
    347 
     377clp_LDADD = libClp.la $(COINUTILS_LIBS) $(ADDLIBS)
    348378
    349379# Finally, the -rpath flag is used by libtool to make sure that the shared
    350380# library is found (in the lib install directory) when we are using dynamic
    351381# libraries.
    352 clp_LDFLAGS = -rpath $(libdir)
     382clp_LDFLAGS = -rpath $(libdir)/coin
    353383
    354384########################################################################
     
    356386########################################################################
    357387
    358 # Here list all include flags, relative to this "srcdir" directory.  This
    359 # "cygpath" stuff is necessary to compile with native compilers on Windows.
    360 AM_CPPFLAGS = \
    361         -I`$(CYGPATH_W) $(COINUTILSSRCDIR)/src` \
    362         -I`$(CYGPATH_W) $(COINUTILSOBJDIR)/inc`
    363 
     388# CbcOrClpParam seem to require COIN_HAS_CLP so that it knows that it is build within Clp
     389AM_CPPFLAGS = $(COINUTILS_CFLAGS) -DCOIN_HAS_CLP
    364390
    365391# This line is necessary to allow VPATH compilation with MS compilers
     
    374400# and that therefore should be installed in 'install/coin'
    375401includecoindir = $(includedir)/coin
    376 includecoin_HEADERS = \
    377         ../inc/config_clp.h \
    378         Clp_C_Interface.h \
    379         ClpCholeskyBase.hpp \
    380         ClpCholeskyDense.hpp \
    381         ClpCholeskyWssmp.hpp \
    382         ClpConstraint.hpp \
    383         ClpConstraintLinear.hpp \
    384         ClpConstraintQuadratic.hpp \
    385         ClpDualRowDantzig.hpp \
    386         ClpDualRowPivot.hpp \
    387         ClpDualRowSteepest.hpp \
    388         ClpDummyMatrix.hpp \
    389         ClpDynamicExampleMatrix.hpp \
    390         ClpDynamicMatrix.hpp \
    391         ClpEventHandler.hpp \
    392         ClpFactorization.hpp \
    393         ClpGubDynamicMatrix.hpp \
    394         ClpGubMatrix.hpp \
    395         ClpInterior.hpp \
    396         ClpLinearObjective.hpp \
    397         ClpMatrixBase.hpp \
    398         ClpMessage.hpp \
    399         ClpModel.hpp \
    400         ClpNetworkMatrix.hpp \
    401         ClpNonLinearCost.hpp \
    402         ClpNode.hpp \
    403         ClpObjective.hpp \
    404         ClpPackedMatrix.hpp \
    405         ClpPdcoBase.hpp \
    406         ClpPlusMinusOneMatrix.hpp \
    407         ClpParameters.hpp \
    408         ClpPresolve.hpp \
    409         ClpPrimalColumnDantzig.hpp \
    410         ClpPrimalColumnPivot.hpp \
    411         ClpPrimalColumnSteepest.hpp \
    412         ClpQuadraticObjective.hpp \
    413         ClpSimplex.hpp \
    414         ClpSimplexNonlinear.hpp \
    415         ClpSimplexOther.hpp \
    416         ClpSimplexPrimal.hpp \
    417         ClpSolve.hpp \
    418         CbcOrClpParam.hpp \
    419         Idiot.hpp
    420 
     402
     403# needed by Cbc
     404includecoin_HEADERS = ../inc/config_clp.h Clp_C_Interface.h \
     405        ClpCholeskyBase.hpp ClpCholeskyDense.hpp ClpCholeskyWssmp.hpp \
     406        ClpConstraint.hpp ClpConstraintLinear.hpp \
     407        ClpConstraintQuadratic.hpp ClpDualRowDantzig.hpp \
     408        ClpDualRowPivot.hpp ClpDualRowSteepest.hpp ClpDummyMatrix.hpp \
     409        ClpDynamicExampleMatrix.hpp ClpDynamicMatrix.hpp \
     410        ClpEventHandler.hpp ClpFactorization.hpp \
     411        ClpGubDynamicMatrix.hpp ClpGubMatrix.hpp ClpInterior.hpp \
     412        ClpLinearObjective.hpp ClpMatrixBase.hpp ClpMessage.hpp \
     413        ClpModel.hpp ClpNetworkMatrix.hpp ClpNonLinearCost.hpp \
     414        ClpNode.hpp ClpObjective.hpp ClpPackedMatrix.hpp \
     415        ClpPdcoBase.hpp ClpPlusMinusOneMatrix.hpp ClpParameters.hpp \
     416        ClpPresolve.hpp ClpPrimalColumnDantzig.hpp \
     417        ClpPrimalColumnPivot.hpp ClpPrimalColumnSteepest.hpp \
     418        ClpQuadraticObjective.hpp ClpSimplex.hpp \
     419        ClpSimplexNonlinear.hpp ClpSimplexOther.hpp \
     420        ClpSimplexPrimal.hpp ClpSolve.hpp CbcOrClpParam.hpp Idiot.hpp \
     421        CbcOrClpParam.cpp
    421422
    422423#############################################################################
     
    426427# You only need to adapt the following line
    427428ConfigHeader = ClpConfig.h
    428 all: all-am
     429all: all-recursive
    429430
    430431.SUFFIXES:
     
    459460$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
    460461        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    461 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
     462install-coinlibLTLIBRARIES: $(coinlib_LTLIBRARIES)
    462463        @$(NORMAL_INSTALL)
    463         test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
    464         @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
     464        test -z "$(coinlibdir)" || $(mkdir_p) "$(DESTDIR)$(coinlibdir)"
     465        @list='$(coinlib_LTLIBRARIES)'; for p in $$list; do \
    465466          if test -f $$p; then \
    466467            f=$(am__strip_dir) \
    467             echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
    468             $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
     468            echo " $(LIBTOOL) --mode=install $(coinlibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(coinlibdir)/$$f'"; \
     469            $(LIBTOOL) --mode=install $(coinlibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(coinlibdir)/$$f"; \
    469470          else :; fi; \
    470471        done
    471472
    472 uninstall-libLTLIBRARIES:
     473uninstall-coinlibLTLIBRARIES:
    473474        @$(NORMAL_UNINSTALL)
    474         @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
     475        @set -x; list='$(coinlib_LTLIBRARIES)'; for p in $$list; do \
    475476          p=$(am__strip_dir) \
    476           echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
    477           $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
    478         done
    479 
    480 clean-libLTLIBRARIES:
    481         -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
    482         @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
     477          echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(coinlibdir)/$$p'"; \
     478          $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(coinlibdir)/$$p"; \
     479        done
     480
     481clean-coinlibLTLIBRARIES:
     482        -test -z "$(coinlib_LTLIBRARIES)" || rm -f $(coinlib_LTLIBRARIES)
     483        @list='$(coinlib_LTLIBRARIES)'; for p in $$list; do \
    483484          dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
    484485          test "$$dir" != "$$p" || dir=.; \
     
    487488        done
    488489libClp.la: $(libClp_la_OBJECTS) $(libClp_la_DEPENDENCIES)
    489         $(CXXLINK) -rpath $(libdir) $(libClp_la_LDFLAGS) $(libClp_la_OBJECTS) $(libClp_la_LIBADD) $(LIBS)
     490        $(CXXLINK) -rpath $(coinlibdir) $(libClp_la_LDFLAGS) $(libClp_la_OBJECTS) $(libClp_la_LIBADD) $(LIBS)
    490491install-binPROGRAMS: $(bin_PROGRAMS)
    491492        @$(NORMAL_INSTALL)
     
    630631        done
    631632
     633# This directory's subdirectories are mostly independent; you can cd
     634# into them and run `make' without going through this Makefile.
     635# To change the values of `make' variables: instead of editing Makefiles,
     636# (1) if the variable is set in `config.status', edit `config.status'
     637#     (which will cause the Makefiles to be regenerated when you run `make');
     638# (2) otherwise, pass the desired values on the `make' command line.
     639$(RECURSIVE_TARGETS):
     640        @failcom='exit 1'; \
     641        for f in x $$MAKEFLAGS; do \
     642          case $$f in \
     643            *=* | --[!k]*);; \
     644            *k*) failcom='fail=yes';; \
     645          esac; \
     646        done; \
     647        dot_seen=no; \
     648        target=`echo $@ | sed s/-recursive//`; \
     649        list='$(SUBDIRS)'; for subdir in $$list; do \
     650          echo "Making $$target in $$subdir"; \
     651          if test "$$subdir" = "."; then \
     652            dot_seen=yes; \
     653            local_target="$$target-am"; \
     654          else \
     655            local_target="$$target"; \
     656          fi; \
     657          (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
     658          || eval $$failcom; \
     659        done; \
     660        if test "$$dot_seen" = "no"; then \
     661          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
     662        fi; test -z "$$fail"
     663
     664mostlyclean-recursive clean-recursive distclean-recursive \
     665maintainer-clean-recursive:
     666        @failcom='exit 1'; \
     667        for f in x $$MAKEFLAGS; do \
     668          case $$f in \
     669            *=* | --[!k]*);; \
     670            *k*) failcom='fail=yes';; \
     671          esac; \
     672        done; \
     673        dot_seen=no; \
     674        case "$@" in \
     675          distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
     676          *) list='$(SUBDIRS)' ;; \
     677        esac; \
     678        rev=''; for subdir in $$list; do \
     679          if test "$$subdir" = "."; then :; else \
     680            rev="$$subdir $$rev"; \
     681          fi; \
     682        done; \
     683        rev="$$rev ."; \
     684        target=`echo $@ | sed s/-recursive//`; \
     685        for subdir in $$rev; do \
     686          echo "Making $$target in $$subdir"; \
     687          if test "$$subdir" = "."; then \
     688            local_target="$$target-am"; \
     689          else \
     690            local_target="$$target"; \
     691          fi; \
     692          (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
     693          || eval $$failcom; \
     694        done && test -z "$$fail"
     695tags-recursive:
     696        list='$(SUBDIRS)'; for subdir in $$list; do \
     697          test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
     698        done
     699ctags-recursive:
     700        list='$(SUBDIRS)'; for subdir in $$list; do \
     701          test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
     702        done
     703
    632704ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
    633705        list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
     
    640712tags: TAGS
    641713
    642 TAGS: $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
     714TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
    643715                $(TAGS_FILES) $(LISP)
    644716        tags=; \
    645717        here=`pwd`; \
     718        if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
     719          include_option=--etags-include; \
     720          empty_fix=.; \
     721        else \
     722          include_option=--include; \
     723          empty_fix=; \
     724        fi; \
     725        list='$(SUBDIRS)'; for subdir in $$list; do \
     726          if test "$$subdir" = .; then :; else \
     727            test ! -f $$subdir/TAGS || \
     728              tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
     729          fi; \
     730        done; \
    646731        list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
    647732        unique=`for i in $$list; do \
     
    656741        fi
    657742ctags: CTAGS
    658 CTAGS: $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
     743CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
    659744                $(TAGS_FILES) $(LISP)
    660745        tags=; \
     
    706791          fi; \
    707792        done
     793        list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
     794          if test "$$subdir" = .; then :; else \
     795            test -d "$(distdir)/$$subdir" \
     796            || $(mkdir_p) "$(distdir)/$$subdir" \
     797            || exit 1; \
     798            distdir=`$(am__cd) $(distdir) && pwd`; \
     799            top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
     800            (cd $$subdir && \
     801              $(MAKE) $(AM_MAKEFLAGS) \
     802                top_distdir="$$top_distdir" \
     803                distdir="$$distdir/$$subdir" \
     804                distdir) \
     805              || exit 1; \
     806          fi; \
     807        done
    708808check-am: all-am
    709 check: check-am
     809check: check-recursive
    710810all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS)
    711 install-binPROGRAMS: install-libLTLIBRARIES
    712 
    713 installdirs:
    714         for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(includecoindir)"; do \
     811installdirs: installdirs-recursive
     812installdirs-am:
     813        for dir in "$(DESTDIR)$(coinlibdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(includecoindir)"; do \
    715814          test -z "$$dir" || $(mkdir_p) "$$dir"; \
    716815        done
    717 install: install-am
    718 install-exec: install-exec-am
    719 install-data: install-data-am
    720 uninstall: uninstall-am
     816install: install-recursive
     817install-exec: install-exec-recursive
     818install-data: install-data-recursive
     819uninstall: uninstall-recursive
    721820
    722821install-am: all-am
    723822        @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
    724823
    725 installcheck: installcheck-am
     824installcheck: installcheck-recursive
    726825install-strip:
    727826        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
     
    739838        @echo "This command is intended for maintainers to use"
    740839        @echo "it deletes files that may require special tools to rebuild."
    741 clean: clean-am
    742 
    743 clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
     840clean: clean-recursive
     841
     842clean-am: clean-binPROGRAMS clean-coinlibLTLIBRARIES clean-generic \
    744843        clean-libtool mostlyclean-am
    745844
    746 distclean: distclean-am
     845distclean: distclean-recursive
    747846        -rm -rf ./$(DEPDIR)
    748847        -rm -f Makefile
     
    750849        distclean-libtool distclean-tags
    751850
    752 dvi: dvi-am
     851dvi: dvi-recursive
    753852
    754853dvi-am:
    755854
    756 html: html-am
    757 
    758 info: info-am
     855html: html-recursive
     856
     857info: info-recursive
    759858
    760859info-am:
    761860
    762 install-data-am: install-includecoinHEADERS
    763 
    764 install-exec-am: install-binPROGRAMS install-exec-local \
    765         install-libLTLIBRARIES
    766 
    767 install-info: install-info-am
     861install-data-am: install-coinlibLTLIBRARIES install-includecoinHEADERS
     862
     863install-exec-am: install-binPROGRAMS install-exec-local
     864
     865install-info: install-info-recursive
    768866
    769867install-man:
     
    771869installcheck-am:
    772870
    773 maintainer-clean: maintainer-clean-am
     871maintainer-clean: maintainer-clean-recursive
    774872        -rm -rf ./$(DEPDIR)
    775873        -rm -f Makefile
    776874maintainer-clean-am: distclean-am maintainer-clean-generic
    777875
    778 mostlyclean: mostlyclean-am
     876mostlyclean: mostlyclean-recursive
    779877
    780878mostlyclean-am: mostlyclean-compile mostlyclean-generic \
    781879        mostlyclean-libtool
    782880
    783 pdf: pdf-am
     881pdf: pdf-recursive
    784882
    785883pdf-am:
    786884
    787 ps: ps-am
     885ps: ps-recursive
    788886
    789887ps-am:
    790888
    791 uninstall-am: uninstall-binPROGRAMS uninstall-includecoinHEADERS \
    792         uninstall-info-am uninstall-libLTLIBRARIES uninstall-local
    793 
    794 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
    795         clean-generic clean-libLTLIBRARIES clean-libtool ctags \
    796         distclean distclean-compile distclean-generic \
    797         distclean-libtool distclean-tags distdir dvi dvi-am html \
     889uninstall-am: uninstall-binPROGRAMS uninstall-coinlibLTLIBRARIES \
     890        uninstall-includecoinHEADERS uninstall-info-am uninstall-local
     891
     892uninstall-info: uninstall-info-recursive
     893
     894.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
     895        clean clean-binPROGRAMS clean-coinlibLTLIBRARIES clean-generic \
     896        clean-libtool clean-recursive ctags ctags-recursive distclean \
     897        distclean-compile distclean-generic distclean-libtool \
     898        distclean-recursive distclean-tags distdir dvi dvi-am html \
    798899        html-am info info-am install install-am install-binPROGRAMS \
    799         install-data install-data-am install-exec install-exec-am \
    800         install-exec-local install-includecoinHEADERS install-info \
    801         install-info-am install-libLTLIBRARIES install-man \
    802         install-strip installcheck installcheck-am installdirs \
    803         maintainer-clean maintainer-clean-generic mostlyclean \
    804         mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
    805         pdf pdf-am ps ps-am tags uninstall uninstall-am \
    806         uninstall-binPROGRAMS uninstall-includecoinHEADERS \
    807         uninstall-info-am uninstall-libLTLIBRARIES uninstall-local
     900        install-coinlibLTLIBRARIES install-data install-data-am \
     901        install-exec install-exec-am install-exec-local \
     902        install-includecoinHEADERS install-info install-info-am \
     903        install-man install-strip installcheck installcheck-am \
     904        installdirs installdirs-am maintainer-clean \
     905        maintainer-clean-generic maintainer-clean-recursive \
     906        mostlyclean mostlyclean-compile mostlyclean-generic \
     907        mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
     908        tags tags-recursive uninstall uninstall-am \
     909        uninstall-binPROGRAMS uninstall-coinlibLTLIBRARIES \
     910        uninstall-includecoinHEADERS uninstall-info-am uninstall-local
    808911
    809912
  • trunk/Clp/src/unitTest.cpp

    r1525 r1559  
    13131313          CoinMpsIO m;
    13141314          std::string fn = dirSample + "exmip1";
    1315           m.readMps(fn.c_str(), "mps");
    1316           ClpSimplex solution;
    1317           solution.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
    1318                                m.getObjCoefficients(),
    1319                                m.getRowLower(), m.getRowUpper());
    1320           solution.dual();
    1321           // Test event handling
    1322           MyEventHandler handler;
    1323           solution.passInEventHandler(&handler);
    1324           int numberRows = solution.numberRows();
    1325           // make sure values pass has something to do
    1326           for (int i = 0; i < numberRows; i++)
    1327                solution.setRowStatus(i, ClpSimplex::basic);
    1328           solution.primal(1);
    1329           assert (solution.secondaryStatus() == 102); // Came out at end of pass
     1315          if (m.readMps(fn.c_str(), "mps") == 0) {
     1316               ClpSimplex solution;
     1317               solution.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
     1318                                    m.getObjCoefficients(),
     1319                                    m.getRowLower(), m.getRowUpper());
     1320               solution.dual();
     1321               // Test event handling
     1322               MyEventHandler handler;
     1323               solution.passInEventHandler(&handler);
     1324               int numberRows = solution.numberRows();
     1325               // make sure values pass has something to do
     1326               for (int i = 0; i < numberRows; i++)
     1327                    solution.setRowStatus(i, ClpSimplex::basic);
     1328               solution.primal(1);
     1329               assert (solution.secondaryStatus() == 102); // Came out at end of pass
     1330          } else {
     1331               std::cerr << "Error reading exmip1 from sample data. Skipping test." << std::endl;
     1332          }
    13301333     }
    13311334     // Test Message handler
     
    13341337          std::string fn = dirSample + "exmip1";
    13351338          //fn = "Test/subGams4";
    1336           m.readMps(fn.c_str(), "mps");
    1337           ClpSimplex model;
    1338           model.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
    1339                             m.getObjCoefficients(),
    1340                             m.getRowLower(), m.getRowUpper());
    1341           // Message handler
    1342           MyMessageHandler messageHandler(&model);
    1343           std::cout << "Testing derived message handler" << std::endl;
    1344           model.passInMessageHandler(&messageHandler);
    1345           model.messagesPointer()->setDetailMessage(1, 102);
    1346           model.setFactorizationFrequency(10);
    1347           model.primal();
    1348           model.primal(0, 3);
    1349           model.setObjCoeff(3, -2.9473684210526314);
    1350           model.primal(0, 3);
    1351           // Write saved solutions
    1352           int nc = model.getNumCols();
    1353           int s;
    1354           std::deque<StdVectorDouble> fep = messageHandler.getFeasibleExtremePoints();
    1355           int numSavedSolutions = fep.size();
    1356           for ( s = 0; s < numSavedSolutions; ++s ) {
    1357                const StdVectorDouble & solnVec = fep[s];
    1358                for ( int c = 0; c < nc; ++c ) {
    1359                     if (fabs(solnVec[c]) > 1.0e-8)
    1360                          std::cout << "Saved Solution: " << s << " ColNum: " << c << " Value: " << solnVec[c] << std::endl;
    1361                }
    1362           }
    1363           // Solve again without scaling
    1364           // and maximize then minimize
    1365           messageHandler.clearFeasibleExtremePoints();
    1366           model.scaling(0);
    1367           model.setOptimizationDirection(-1);
    1368           model.primal();
    1369           model.setOptimizationDirection(1);
    1370           model.primal();
    1371           fep = messageHandler.getFeasibleExtremePoints();
    1372           numSavedSolutions = fep.size();
    1373           for ( s = 0; s < numSavedSolutions; ++s ) {
    1374                const StdVectorDouble & solnVec = fep[s];
    1375                for ( int c = 0; c < nc; ++c ) {
    1376                     if (fabs(solnVec[c]) > 1.0e-8)
    1377                          std::cout << "Saved Solution: " << s << " ColNum: " << c << " Value: " << solnVec[c] << std::endl;
    1378                }
     1339          if (m.readMps(fn.c_str(), "mps") == 0) {
     1340               ClpSimplex model;
     1341               model.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
     1342                                 m.getObjCoefficients(),
     1343                                 m.getRowLower(), m.getRowUpper());
     1344               // Message handler
     1345               MyMessageHandler messageHandler(&model);
     1346               std::cout << "Testing derived message handler" << std::endl;
     1347               model.passInMessageHandler(&messageHandler);
     1348               model.messagesPointer()->setDetailMessage(1, 102);
     1349               model.setFactorizationFrequency(10);
     1350               model.primal();
     1351               model.primal(0, 3);
     1352               model.setObjCoeff(3, -2.9473684210526314);
     1353               model.primal(0, 3);
     1354               // Write saved solutions
     1355               int nc = model.getNumCols();
     1356               int s;
     1357               std::deque<StdVectorDouble> fep = messageHandler.getFeasibleExtremePoints();
     1358               int numSavedSolutions = fep.size();
     1359               for ( s = 0; s < numSavedSolutions; ++s ) {
     1360                    const StdVectorDouble & solnVec = fep[s];
     1361                    for ( int c = 0; c < nc; ++c ) {
     1362                         if (fabs(solnVec[c]) > 1.0e-8)
     1363                              std::cout << "Saved Solution: " << s << " ColNum: " << c << " Value: " << solnVec[c] << std::endl;
     1364                    }
     1365               }
     1366               // Solve again without scaling
     1367               // and maximize then minimize
     1368               messageHandler.clearFeasibleExtremePoints();
     1369               model.scaling(0);
     1370               model.setOptimizationDirection(-1);
     1371               model.primal();
     1372               model.setOptimizationDirection(1);
     1373               model.primal();
     1374               fep = messageHandler.getFeasibleExtremePoints();
     1375               numSavedSolutions = fep.size();
     1376               for ( s = 0; s < numSavedSolutions; ++s ) {
     1377                    const StdVectorDouble & solnVec = fep[s];
     1378                    for ( int c = 0; c < nc; ++c ) {
     1379                         if (fabs(solnVec[c]) > 1.0e-8)
     1380                              std::cout << "Saved Solution: " << s << " ColNum: " << c << " Value: " << solnVec[c] << std::endl;
     1381                    }
     1382               }
     1383          } else {
     1384               std::cerr << "Error reading exmip1 from sample data. Skipping test." << std::endl;
    13791385          }
    13801386     }
     
    13841390          CoinMpsIO m;
    13851391          std::string fn = dirSample + "exmip1";
    1386           m.readMps(fn.c_str(), "mps");
    1387           ClpSimplex model;
    1388           model.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
    1389                             m.getObjCoefficients(),
    1390                             m.getRowLower(), m.getRowUpper());
    1391           model.primal();
    1392           int which[13] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
    1393           double costIncrease[13];
    1394           int sequenceIncrease[13];
    1395           double costDecrease[13];
    1396           int sequenceDecrease[13];
    1397           // ranging
    1398           model.dualRanging(13, which, costIncrease, sequenceIncrease,
    1399                             costDecrease, sequenceDecrease);
    1400           int i;
    1401           for ( i = 0; i < 13; i++)
    1402                printf("%d increase %g %d, decrease %g %d\n",
    1403                       i, costIncrease[i], sequenceIncrease[i],
    1404                       costDecrease[i], sequenceDecrease[i]);
    1405           assert (fabs(costDecrease[3]) < 1.0e-4);
    1406           assert (fabs(costIncrease[7] - 1.0) < 1.0e-4);
    1407           model.setOptimizationDirection(-1);
    1408           {
    1409                int j;
    1410                double * obj = model.objective();
    1411                int n = model.numberColumns();
    1412                for (j = 0; j < n; j++)
    1413                     obj[j] *= -1.0;
    1414           }
    1415           double costIncrease2[13];
    1416           int sequenceIncrease2[13];
    1417           double costDecrease2[13];
    1418           int sequenceDecrease2[13];
    1419           // ranging
    1420           model.dualRanging(13, which, costIncrease2, sequenceIncrease2,
    1421                             costDecrease2, sequenceDecrease2);
    1422           for (i = 0; i < 13; i++) {
    1423                assert (fabs(costIncrease[i] - costDecrease2[i]) < 1.0e-6);
    1424                assert (fabs(costDecrease[i] - costIncrease2[i]) < 1.0e-6);
    1425                assert (sequenceIncrease[i] == sequenceDecrease2[i]);
    1426                assert (sequenceDecrease[i] == sequenceIncrease2[i]);
    1427           }
    1428           // Now delete all rows and see what happens
    1429           model.deleteRows(model.numberRows(), which);
    1430           model.primal();
    1431           // ranging
    1432           if (!model.dualRanging(8, which, costIncrease, sequenceIncrease,
    1433                                  costDecrease, sequenceDecrease)) {
    1434                for (i = 0; i < 8; i++) {
     1392          if (m.readMps(fn.c_str(), "mps") == 0) {
     1393               ClpSimplex model;
     1394               model.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
     1395                                 m.getObjCoefficients(),
     1396                                 m.getRowLower(), m.getRowUpper());
     1397               model.primal();
     1398               int which[13] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
     1399               double costIncrease[13];
     1400               int sequenceIncrease[13];
     1401               double costDecrease[13];
     1402               int sequenceDecrease[13];
     1403               // ranging
     1404               model.dualRanging(13, which, costIncrease, sequenceIncrease,
     1405                                 costDecrease, sequenceDecrease);
     1406               int i;
     1407               for ( i = 0; i < 13; i++)
    14351408                    printf("%d increase %g %d, decrease %g %d\n",
    14361409                           i, costIncrease[i], sequenceIncrease[i],
    14371410                           costDecrease[i], sequenceDecrease[i]);
    1438                }
     1411               assert (fabs(costDecrease[3]) < 1.0e-4);
     1412               assert (fabs(costIncrease[7] - 1.0) < 1.0e-4);
     1413               model.setOptimizationDirection(-1);
     1414               {
     1415                    int j;
     1416                    double * obj = model.objective();
     1417                    int n = model.numberColumns();
     1418                    for (j = 0; j < n; j++)
     1419                         obj[j] *= -1.0;
     1420               }
     1421               double costIncrease2[13];
     1422               int sequenceIncrease2[13];
     1423               double costDecrease2[13];
     1424               int sequenceDecrease2[13];
     1425               // ranging
     1426               model.dualRanging(13, which, costIncrease2, sequenceIncrease2,
     1427                                 costDecrease2, sequenceDecrease2);
     1428               for (i = 0; i < 13; i++) {
     1429                    assert (fabs(costIncrease[i] - costDecrease2[i]) < 1.0e-6);
     1430                    assert (fabs(costDecrease[i] - costIncrease2[i]) < 1.0e-6);
     1431                    assert (sequenceIncrease[i] == sequenceDecrease2[i]);
     1432                    assert (sequenceDecrease[i] == sequenceIncrease2[i]);
     1433               }
     1434               // Now delete all rows and see what happens
     1435               model.deleteRows(model.numberRows(), which);
     1436               model.primal();
     1437               // ranging
     1438               if (!model.dualRanging(8, which, costIncrease, sequenceIncrease,
     1439                                      costDecrease, sequenceDecrease)) {
     1440                    for (i = 0; i < 8; i++) {
     1441                         printf("%d increase %g %d, decrease %g %d\n",
     1442                                i, costIncrease[i], sequenceIncrease[i],
     1443                                costDecrease[i], sequenceDecrease[i]);
     1444                    }
     1445               }
     1446          } else {
     1447               std::cerr << "Error reading exmip1 from sample data. Skipping test." << std::endl;
    14391448          }
    14401449     }
     
    14431452          CoinMpsIO m;
    14441453          std::string fn = dirSample + "exmip1";
    1445           m.readMps(fn.c_str(), "mps");
    1446           ClpSimplex model;
    1447           model.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
    1448                             m.getObjCoefficients(),
    1449                             m.getRowLower(), m.getRowUpper());
    1450           model.primal();
    1451           int which[13] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
    1452           double valueIncrease[13];
    1453           int sequenceIncrease[13];
    1454           double valueDecrease[13];
    1455           int sequenceDecrease[13];
    1456           // ranging
    1457           model.primalRanging(13, which, valueIncrease, sequenceIncrease,
    1458                               valueDecrease, sequenceDecrease);
    1459           int i;
    1460           for ( i = 0; i < 13; i++)
    1461                printf("%d increase %g %d, decrease %g %d\n",
    1462                       i, valueIncrease[i], sequenceIncrease[i],
    1463                       valueDecrease[i], sequenceDecrease[i]);
    1464           assert (fabs(valueIncrease[3] - 0.642857) < 1.0e-4);
    1465           assert (fabs(valueIncrease[8] - 2.95113) < 1.0e-4);
     1454          if (m.readMps(fn.c_str(), "mps") == 0) {
     1455               ClpSimplex model;
     1456               model.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
     1457                                 m.getObjCoefficients(),
     1458                                 m.getRowLower(), m.getRowUpper());
     1459               model.primal();
     1460               int which[13] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
     1461               double valueIncrease[13];
     1462               int sequenceIncrease[13];
     1463               double valueDecrease[13];
     1464               int sequenceDecrease[13];
     1465               // ranging
     1466               model.primalRanging(13, which, valueIncrease, sequenceIncrease,
     1467                                   valueDecrease, sequenceDecrease);
     1468               int i;
     1469               for ( i = 0; i < 13; i++)
     1470                    printf("%d increase %g %d, decrease %g %d\n",
     1471                           i, valueIncrease[i], sequenceIncrease[i],
     1472                           valueDecrease[i], sequenceDecrease[i]);
     1473               assert (fabs(valueIncrease[3] - 0.642857) < 1.0e-4);
     1474               assert (fabs(valueIncrease[8] - 2.95113) < 1.0e-4);
     1475          } else {
     1476               std::cerr << "Error reading exmip1 from sample data. Skipping test." << std::endl;
     1477          }
    14661478#if 0
    14671479          // out until I find optimization bug
     
    16401652               // probable cause is that gz not there
    16411653               fprintf(stderr, "Unable to open finnis.mps in %s\n", dirSample.c_str());
    1642                fprintf(stderr, "Most probable cause is finnis.mps is gzipped i.e. finnis.mps.gz and libz has not been activated\n");
     1654               fprintf(stderr, "Most probable cause is that sample data is not available, or finnis.mps is gzipped i.e. finnis.mps.gz and libz has not been activated\n");
    16431655               fprintf(stderr, "Either gunzip files or edit Makefiles/Makefile.location to get libz\n");
    1644                exit(999);
    1645           }
    1646           ClpModel model;
    1647           model.loadProblem(*m.getMatrixByCol(), m.getColLower(),
    1648                             m.getColUpper(),
    1649                             m.getObjCoefficients(),
    1650                             m.getRowLower(), m.getRowUpper());
    1651           ClpSimplex solution(model);
    1652 
    1653           solution.scaling(1);
    1654           solution.setDualBound(1.0e8);
    1655           //solution.factorization()->maximumPivots(1);
    1656           //solution.setLogLevel(3);
    1657           solution.setDualTolerance(1.0e-7);
    1658           // set objective sense,
    1659           ClpDualRowSteepest steep;
    1660           solution.setDualRowPivotAlgorithm(steep);
    1661           solution.setDblParam(ClpObjOffset, m.objectiveOffset());
    1662           solution.dual();
     1656          } else {
     1657               ClpModel model;
     1658               model.loadProblem(*m.getMatrixByCol(), m.getColLower(),
     1659                                 m.getColUpper(),
     1660                                 m.getObjCoefficients(),
     1661                                 m.getRowLower(), m.getRowUpper());
     1662               ClpSimplex solution(model);
     1663
     1664               solution.scaling(1);
     1665               solution.setDualBound(1.0e8);
     1666               //solution.factorization()->maximumPivots(1);
     1667               //solution.setLogLevel(3);
     1668               solution.setDualTolerance(1.0e-7);
     1669               // set objective sense,
     1670               ClpDualRowSteepest steep;
     1671               solution.setDualRowPivotAlgorithm(steep);
     1672               solution.setDblParam(ClpObjOffset, m.objectiveOffset());
     1673               solution.dual();
     1674          }
    16631675     }
    16641676     // test normal solution
     
    16661678          CoinMpsIO m;
    16671679          std::string fn = dirSample + "afiro";
    1668           m.readMps(fn.c_str(), "mps");
    1669           ClpSimplex solution;
    1670           ClpModel model;
    1671           // do twice - without and with scaling
    1672           int iPass;
    1673           for (iPass = 0; iPass < 2; iPass++) {
    1674                // explicit row objective for testing
    1675                int nr = m.getNumRows();
    1676                double * rowObj = new double[nr];
    1677                CoinFillN(rowObj, nr, 0.0);
    1678                model.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
    1679                                  m.getObjCoefficients(),
    1680                                  m.getRowLower(), m.getRowUpper(), rowObj);
    1681                delete [] rowObj;
    1682                solution = ClpSimplex(model);
    1683                if (iPass) {
    1684                     solution.scaling();
    1685                }
    1686                solution.dual();
    1687                solution.dual();
    1688                // test optimal
    1689                assert (solution.status() == 0);
    1690                int numberColumns = solution.numberColumns();
    1691                int numberRows = solution.numberRows();
    1692                CoinPackedVector colsol(numberColumns, solution.primalColumnSolution());
    1693                double * objective = solution.objective();
     1680          if (m.readMps(fn.c_str(), "mps") == 0) {
     1681               ClpSimplex solution;
     1682               ClpModel model;
     1683               // do twice - without and with scaling
     1684               int iPass;
     1685               for (iPass = 0; iPass < 2; iPass++) {
     1686                    // explicit row objective for testing
     1687                    int nr = m.getNumRows();
     1688                    double * rowObj = new double[nr];
     1689                    CoinFillN(rowObj, nr, 0.0);
     1690                    model.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
     1691                                      m.getObjCoefficients(),
     1692                                      m.getRowLower(), m.getRowUpper(), rowObj);
     1693                    delete [] rowObj;
     1694                    solution = ClpSimplex(model);
     1695                    if (iPass) {
     1696                         solution.scaling();
     1697                    }
     1698                    solution.dual();
     1699                    solution.dual();
     1700                    // test optimal
     1701                    assert (solution.status() == 0);
     1702                    int numberColumns = solution.numberColumns();
     1703                    int numberRows = solution.numberRows();
     1704                    CoinPackedVector colsol(numberColumns, solution.primalColumnSolution());
     1705                    double * objective = solution.objective();
    16941706#ifndef NDEBUG
    1695                double objValue = colsol.dotProduct(objective);
     1707                    double objValue = colsol.dotProduct(objective);
    16961708#endif
    1697                CoinRelFltEq eq(1.0e-8);
    1698                assert(eq(objValue, -4.6475314286e+02));
    1699                solution.dual();
    1700                assert(eq(solution.objectiveValue(), -4.6475314286e+02));
    1701                double * lower = solution.columnLower();
    1702                double * upper = solution.columnUpper();
    1703                double * sol = solution.primalColumnSolution();
    1704                double * result = new double[numberColumns];
    1705                CoinFillN ( result, numberColumns, 0.0);
    1706                solution.matrix()->transposeTimes(solution.dualRowSolution(), result);
    1707                int iRow , iColumn;
    1708                // see if feasible and dual feasible
    1709                for (iColumn = 0; iColumn < numberColumns; iColumn++) {
    1710                     double value = sol[iColumn];
    1711                     assert(value < upper[iColumn] + 1.0e-8);
    1712                     assert(value > lower[iColumn] - 1.0e-8);
    1713                     value = objective[iColumn] - result[iColumn];
    1714                     assert (value > -1.0e-5);
    1715                     if (sol[iColumn] > 1.0e-5)
    1716                          assert (value < 1.0e-5);
    1717                }
    1718                delete [] result;
    1719                result = new double[numberRows];
    1720                CoinFillN ( result, numberRows, 0.0);
    1721                solution.matrix()->times(colsol, result);
    1722                lower = solution.rowLower();
    1723                upper = solution.rowUpper();
    1724                sol = solution.primalRowSolution();
     1709                    CoinRelFltEq eq(1.0e-8);
     1710                    assert(eq(objValue, -4.6475314286e+02));
     1711                    solution.dual();
     1712                    assert(eq(solution.objectiveValue(), -4.6475314286e+02));
     1713                    double * lower = solution.columnLower();
     1714                    double * upper = solution.columnUpper();
     1715                    double * sol = solution.primalColumnSolution();
     1716                    double * result = new double[numberColumns];
     1717                    CoinFillN ( result, numberColumns, 0.0);
     1718                    solution.matrix()->transposeTimes(solution.dualRowSolution(), result);
     1719                    int iRow , iColumn;
     1720                    // see if feasible and dual feasible
     1721                    for (iColumn = 0; iColumn < numberColumns; iColumn++) {
     1722                         double value = sol[iColumn];
     1723                         assert(value < upper[iColumn] + 1.0e-8);
     1724                         assert(value > lower[iColumn] - 1.0e-8);
     1725                         value = objective[iColumn] - result[iColumn];
     1726                         assert (value > -1.0e-5);
     1727                         if (sol[iColumn] > 1.0e-5)
     1728                              assert (value < 1.0e-5);
     1729                    }
     1730                    delete [] result;
     1731                    result = new double[numberRows];
     1732                    CoinFillN ( result, numberRows, 0.0);
     1733                    solution.matrix()->times(colsol, result);
     1734                    lower = solution.rowLower();
     1735                    upper = solution.rowUpper();
     1736                    sol = solution.primalRowSolution();
    17251737#ifndef NDEBUG
    1726                for (iRow = 0; iRow < numberRows; iRow++) {
    1727                     double value = result[iRow];
    1728                     assert(eq(value, sol[iRow]));
    1729                     assert(value < upper[iRow] + 1.0e-8);
    1730                     assert(value > lower[iRow] - 1.0e-8);
    1731                }
     1738                    for (iRow = 0; iRow < numberRows; iRow++) {
     1739                         double value = result[iRow];
     1740                         assert(eq(value, sol[iRow]));
     1741                         assert(value < upper[iRow] + 1.0e-8);
     1742                         assert(value > lower[iRow] - 1.0e-8);
     1743                    }
    17321744#endif
    1733                delete [] result;
    1734                // test row objective
    1735                double * rowObjective = solution.rowObjective();
    1736                CoinDisjointCopyN(solution.dualRowSolution(), numberRows, rowObjective);
    1737                CoinDisjointCopyN(solution.dualColumnSolution(), numberColumns, objective);
    1738                // this sets up all slack basis
    1739                solution.createStatus();
    1740                solution.dual();
    1741                CoinFillN(rowObjective, numberRows, 0.0);
    1742                CoinDisjointCopyN(m.getObjCoefficients(), numberColumns, objective);
    1743                solution.dual();
     1745                    delete [] result;
     1746                    // test row objective
     1747                    double * rowObjective = solution.rowObjective();
     1748                    CoinDisjointCopyN(solution.dualRowSolution(), numberRows, rowObjective);
     1749                    CoinDisjointCopyN(solution.dualColumnSolution(), numberColumns, objective);
     1750                    // this sets up all slack basis
     1751                    solution.createStatus();
     1752                    solution.dual();
     1753                    CoinFillN(rowObjective, numberRows, 0.0);
     1754                    CoinDisjointCopyN(m.getObjCoefficients(), numberColumns, objective);
     1755                    solution.dual();
     1756               }
     1757          } else {
     1758               std::cerr << "Error reading afiro from sample data. Skipping test." << std::endl;
    17441759          }
    17451760     }
     
    17481763          CoinMpsIO m;
    17491764          std::string fn = dirSample + "brandy";
    1750           m.readMps(fn.c_str(), "mps");
    1751           ClpSimplex solution;
    1752           // do twice - without and with scaling
    1753           int iPass;
    1754           for (iPass = 0; iPass < 2; iPass++) {
    1755                solution.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
    1756                                     m.getObjCoefficients(),
    1757                                     m.getRowLower(), m.getRowUpper());
    1758                if (iPass)
    1759                     solution.scaling();
    1760                solution.setOptimizationDirection(-1);
    1761                // test unbounded and ray
     1765          if (m.readMps(fn.c_str(), "mps") == 0) {
     1766               ClpSimplex solution;
     1767               // do twice - without and with scaling
     1768               int iPass;
     1769               for (iPass = 0; iPass < 2; iPass++) {
     1770                    solution.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
     1771                                         m.getObjCoefficients(),
     1772                                         m.getRowLower(), m.getRowUpper());
     1773                    if (iPass)
     1774                         solution.scaling();
     1775                    solution.setOptimizationDirection(-1);
     1776                    // test unbounded and ray
    17621777#ifdef DUAL
    1763                solution.setDualBound(100.0);
    1764                solution.dual();
     1778                    solution.setDualBound(100.0);
     1779                    solution.dual();
    17651780#else
    1766                solution.primal();
     1781                    solution.primal();
    17671782#endif
    1768                assert (solution.status() == 2);
    1769                int numberColumns = solution.numberColumns();
    1770                int numberRows = solution.numberRows();
    1771                double * lower = solution.columnLower();
    1772                double * upper = solution.columnUpper();
    1773                double * sol = solution.primalColumnSolution();
    1774                double * ray = solution.unboundedRay();
    1775                double * objective = solution.objective();
    1776                double objChange = 0.0;
    1777                int iRow , iColumn;
    1778                // make sure feasible and columns form ray
    1779                for (iColumn = 0; iColumn < numberColumns; iColumn++) {
    1780                     double value = sol[iColumn];
    1781                     assert(value < upper[iColumn] + 1.0e-8);
    1782                     assert(value > lower[iColumn] - 1.0e-8);
    1783                     value = ray[iColumn];
    1784                     if (value > 0.0)
    1785                          assert(upper[iColumn] > 1.0e30);
    1786                     else if (value < 0.0)
    1787                          assert(lower[iColumn] < -1.0e30);
    1788                     objChange += value * objective[iColumn];
    1789                }
    1790                // make sure increasing objective
    1791                assert(objChange > 0.0);
    1792                double * result = new double[numberRows];
    1793                CoinFillN ( result, numberRows, 0.0);
    1794                solution.matrix()->times(sol, result);
    1795                lower = solution.rowLower();
    1796                upper = solution.rowUpper();
    1797                sol = solution.primalRowSolution();
     1783                    assert (solution.status() == 2);
     1784                    int numberColumns = solution.numberColumns();
     1785                    int numberRows = solution.numberRows();
     1786                    double * lower = solution.columnLower();
     1787                    double * upper = solution.columnUpper();
     1788                    double * sol = solution.primalColumnSolution();
     1789                    double * ray = solution.unboundedRay();
     1790                    double * objective = solution.objective();
     1791                    double objChange = 0.0;
     1792                    int iRow , iColumn;
     1793                    // make sure feasible and columns form ray
     1794                    for (iColumn = 0; iColumn < numberColumns; iColumn++) {
     1795                         double value = sol[iColumn];
     1796                         assert(value < upper[iColumn] + 1.0e-8);
     1797                         assert(value > lower[iColumn] - 1.0e-8);
     1798                         value = ray[iColumn];
     1799                         if (value > 0.0)
     1800                              assert(upper[iColumn] > 1.0e30);
     1801                         else if (value < 0.0)
     1802                              assert(lower[iColumn] < -1.0e30);
     1803                         objChange += value * objective[iColumn];
     1804                    }
     1805                    // make sure increasing objective
     1806                    assert(objChange > 0.0);
     1807                    double * result = new double[numberRows];
     1808                    CoinFillN ( result, numberRows, 0.0);
     1809                    solution.matrix()->times(sol, result);
     1810                    lower = solution.rowLower();
     1811                    upper = solution.rowUpper();
     1812                    sol = solution.primalRowSolution();
    17981813#ifndef NDEBUG
    1799                for (iRow = 0; iRow < numberRows; iRow++) {
    1800                     double value = result[iRow];
    1801                     assert(eq(value, sol[iRow]));
    1802                     assert(value < upper[iRow] + 2.0e-8);
    1803                     assert(value > lower[iRow] - 2.0e-8);
    1804                }
     1814                    for (iRow = 0; iRow < numberRows; iRow++) {
     1815                         double value = result[iRow];
     1816                         assert(eq(value, sol[iRow]));
     1817                         assert(value < upper[iRow] + 2.0e-8);
     1818                         assert(value > lower[iRow] - 2.0e-8);
     1819                    }
    18051820#endif
    1806                CoinFillN ( result, numberRows, 0.0);
    1807                solution.matrix()->times(ray, result);
    1808                // there may be small differences (especially if scaled)
    1809                for (iRow = 0; iRow < numberRows; iRow++) {
    1810                     double value = result[iRow];
    1811                     if (value > 1.0e-8)
    1812                          assert(upper[iRow] > 1.0e30);
    1813                     else if (value < -1.0e-8)
    1814                          assert(lower[iRow] < -1.0e30);
    1815                }
    1816                delete [] result;
    1817                delete [] ray;
     1821                    CoinFillN ( result, numberRows, 0.0);
     1822                    solution.matrix()->times(ray, result);
     1823                    // there may be small differences (especially if scaled)
     1824                    for (iRow = 0; iRow < numberRows; iRow++) {
     1825                         double value = result[iRow];
     1826                         if (value > 1.0e-8)
     1827                              assert(upper[iRow] > 1.0e30);
     1828                         else if (value < -1.0e-8)
     1829                              assert(lower[iRow] < -1.0e30);
     1830                    }
     1831                    delete [] result;
     1832                    delete [] ray;
     1833               }
     1834          } else {
     1835               std::cerr << "Error reading brandy from sample data. Skipping test." << std::endl;
    18181836          }
    18191837     }
     
    18221840          CoinMpsIO m;
    18231841          std::string fn = dirSample + "brandy";
    1824           m.readMps(fn.c_str(), "mps");
    1825           ClpSimplex solution;
    1826           // do twice - without and with scaling
    1827           int iPass;
    1828           for (iPass = 0; iPass < 2; iPass++) {
    1829                solution.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
    1830                                     m.getObjCoefficients(),
    1831                                     m.getRowLower(), m.getRowUpper());
    1832                if (iPass)
    1833                     solution.scaling();
    1834                // test infeasible and ray
    1835                solution.columnUpper()[0] = 0.0;
     1842          if (m.readMps(fn.c_str(), "mps") == 0) {
     1843               ClpSimplex solution;
     1844               // do twice - without and with scaling
     1845               int iPass;
     1846               for (iPass = 0; iPass < 2; iPass++) {
     1847                    solution.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
     1848                                         m.getObjCoefficients(),
     1849                                         m.getRowLower(), m.getRowUpper());
     1850                    if (iPass)
     1851                         solution.scaling();
     1852                    // test infeasible and ray
     1853                    solution.columnUpper()[0] = 0.0;
    18361854#ifdef DUAL
    1837                solution.setDualBound(100.0);
    1838                solution.dual();
     1855                    solution.setDualBound(100.0);
     1856                    solution.dual();
    18391857#else
    1840                solution.primal();
     1858                    solution.primal();
    18411859#endif
    1842                assert (solution.status() == 1);
    1843                int numberColumns = solution.numberColumns();
    1844                int numberRows = solution.numberRows();
    1845                double * lower = solution.rowLower();
    1846                double * upper = solution.rowUpper();
    1847                double * ray = solution.infeasibilityRay();
    1848                assert(ray);
    1849                // construct proof of infeasibility
    1850                int iRow , iColumn;
    1851                double lo = 0.0, up = 0.0;
    1852                int nl = 0, nu = 0;
    1853                for (iRow = 0; iRow < numberRows; iRow++) {
    1854                     if (lower[iRow] > -1.0e20) {
    1855                          lo += ray[iRow] * lower[iRow];
    1856                     } else {
    1857                          if (ray[iRow] > 1.0e-8)
    1858                               nl++;
    1859                     }
    1860                     if (upper[iRow] < 1.0e20) {
    1861                          up += ray[iRow] * upper[iRow];
    1862                     } else {
    1863                          if (ray[iRow] > 1.0e-8)
    1864                               nu++;
    1865                     }
    1866                }
    1867                if (nl)
    1868                     lo = -1.0e100;
    1869                if (nu)
    1870                     up = 1.0e100;
    1871                double * result = new double[numberColumns];
    1872                double lo2 = 0.0, up2 = 0.0;
    1873                CoinFillN ( result, numberColumns, 0.0);
    1874                solution.matrix()->transposeTimes(ray, result);
    1875                lower = solution.columnLower();
    1876                upper = solution.columnUpper();
    1877                nl = nu = 0;
    1878                for (iColumn = 0; iColumn < numberColumns; iColumn++) {
    1879                     if (result[iColumn] > 1.0e-8) {
    1880                          if (lower[iColumn] > -1.0e20)
    1881                               lo2 += result[iColumn] * lower[iColumn];
    1882                          else
    1883                               nl++;
    1884                          if (upper[iColumn] < 1.0e20)
    1885                               up2 += result[iColumn] * upper[iColumn];
    1886                          else
    1887                               nu++;
    1888                     } else if (result[iColumn] < -1.0e-8) {
    1889                          if (lower[iColumn] > -1.0e20)
    1890                               up2 += result[iColumn] * lower[iColumn];
    1891                          else
    1892                               nu++;
    1893                          if (upper[iColumn] < 1.0e20)
    1894                               lo2 += result[iColumn] * upper[iColumn];
    1895                          else
    1896                               nl++;
    1897                     }
    1898                }
    1899                if (nl)
    1900                     lo2 = -1.0e100;
    1901                if (nu)
    1902                     up2 = 1.0e100;
    1903                // make sure inconsistency
    1904                assert(lo2 > up || up2 < lo);
    1905                delete [] result;
    1906                delete [] ray;
     1860                    assert (solution.status() == 1);
     1861                    int numberColumns = solution.numberColumns();
     1862                    int numberRows = solution.numberRows();
     1863                    double * lower = solution.rowLower();
     1864                    double * upper = solution.rowUpper();
     1865                    double * ray = solution.infeasibilityRay();
     1866                    assert(ray);
     1867                    // construct proof of infeasibility
     1868                    int iRow , iColumn;
     1869                    double lo = 0.0, up = 0.0;
     1870                    int nl = 0, nu = 0;
     1871                    for (iRow = 0; iRow < numberRows; iRow++) {
     1872                         if (lower[iRow] > -1.0e20) {
     1873                              lo += ray[iRow] * lower[iRow];
     1874                         } else {
     1875                              if (ray[iRow] > 1.0e-8)
     1876                                   nl++;
     1877                         }
     1878                         if (upper[iRow] < 1.0e20) {
     1879                              up += ray[iRow] * upper[iRow];
     1880                         } else {
     1881                              if (ray[iRow] > 1.0e-8)
     1882                                   nu++;
     1883                         }
     1884                    }
     1885                    if (nl)
     1886                         lo = -1.0e100;
     1887                    if (nu)
     1888                         up = 1.0e100;
     1889                    double * result = new double[numberColumns];
     1890                    double lo2 = 0.0, up2 = 0.0;
     1891                    CoinFillN ( result, numberColumns, 0.0);
     1892                    solution.matrix()->transposeTimes(ray, result);
     1893                    lower = solution.columnLower();
     1894                    upper = solution.columnUpper();
     1895                    nl = nu = 0;
     1896                    for (iColumn = 0; iColumn < numberColumns; iColumn++) {
     1897                         if (result[iColumn] > 1.0e-8) {
     1898                              if (lower[iColumn] > -1.0e20)
     1899                                   lo2 += result[iColumn] * lower[iColumn];
     1900                              else
     1901                                   nl++;
     1902                              if (upper[iColumn] < 1.0e20)
     1903                                   up2 += result[iColumn] * upper[iColumn];
     1904                              else
     1905                                   nu++;
     1906                         } else if (result[iColumn] < -1.0e-8) {
     1907                              if (lower[iColumn] > -1.0e20)
     1908                                   up2 += result[iColumn] * lower[iColumn];
     1909                              else
     1910                                   nu++;
     1911                              if (upper[iColumn] < 1.0e20)
     1912                                   lo2 += result[iColumn] * upper[iColumn];
     1913                              else
     1914                                   nl++;
     1915                         }
     1916                    }
     1917                    if (nl)
     1918                         lo2 = -1.0e100;
     1919                    if (nu)
     1920                         up2 = 1.0e100;
     1921                    // make sure inconsistency
     1922                    assert(lo2 > up || up2 < lo);
     1923                    delete [] result;
     1924                    delete [] ray;
     1925               }
     1926          } else {
     1927               std::cerr << "Error reading brandy from sample data. Skipping test." << std::endl;
    19071928          }
    19081929     }
     
    19111932          CoinMpsIO m;
    19121933          std::string fn = dirSample + "brandy";
    1913           m.readMps(fn.c_str(), "mps");
    1914           ClpSimplex solution;
    1915           solution.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
    1916                                m.getObjCoefficients(),
    1917                                m.getRowLower(), m.getRowUpper());
    1918           solution.dual();
    1919           CoinRelFltEq eq(1.0e-8);
    1920           assert(eq(solution.objectiveValue(), 1.5185098965e+03));
    1921 
    1922           int numberColumns = solution.numberColumns();
    1923           int numberRows = solution.numberRows();
    1924           double * saveObj = new double [numberColumns];
    1925           double * saveLower = new double[numberRows+numberColumns];
    1926           double * saveUpper = new double[numberRows+numberColumns];
    1927           int * which = new int [numberRows+numberColumns];
    1928 
    1929           int numberElements = m.getMatrixByCol()->getNumElements();
    1930           int * starts = new int[numberRows+numberColumns];
    1931           int * index = new int[numberElements];
    1932           double * element = new double[numberElements];
    1933 
    1934           const CoinBigIndex * startM;
    1935           const int * lengthM;
    1936           const int * indexM;
    1937           const double * elementM;
    1938 
    1939           int n, nel;
    1940 
    1941           // delete non basic columns
    1942           n = 0;
    1943           nel = 0;
    1944           int iRow , iColumn;
    1945           const double * lower = m.getColLower();
    1946           const double * upper = m.getColUpper();
    1947           const double * objective = m.getObjCoefficients();
    1948           startM = m.getMatrixByCol()->getVectorStarts();
    1949           lengthM = m.getMatrixByCol()->getVectorLengths();
    1950           indexM = m.getMatrixByCol()->getIndices();
    1951           elementM = m.getMatrixByCol()->getElements();
    1952           starts[0] = 0;
    1953           for (iColumn = 0; iColumn < numberColumns; iColumn++) {
    1954                if (solution.getColumnStatus(iColumn) != ClpSimplex::basic) {
     1934          if (m.readMps(fn.c_str(), "mps") == 0) {
     1935               ClpSimplex solution;
     1936               solution.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
     1937                                    m.getObjCoefficients(),
     1938                                    m.getRowLower(), m.getRowUpper());
     1939               solution.dual();
     1940               CoinRelFltEq eq(1.0e-8);
     1941               assert(eq(solution.objectiveValue(), 1.5185098965e+03));
     1942
     1943               int numberColumns = solution.numberColumns();
     1944               int numberRows = solution.numberRows();
     1945               double * saveObj = new double [numberColumns];
     1946               double * saveLower = new double[numberRows+numberColumns];
     1947               double * saveUpper = new double[numberRows+numberColumns];
     1948               int * which = new int [numberRows+numberColumns];
     1949
     1950               int numberElements = m.getMatrixByCol()->getNumElements();
     1951               int * starts = new int[numberRows+numberColumns];
     1952               int * index = new int[numberElements];
     1953               double * element = new double[numberElements];
     1954
     1955               const CoinBigIndex * startM;
     1956               const int * lengthM;
     1957               const int * indexM;
     1958               const double * elementM;
     1959
     1960               int n, nel;
     1961
     1962               // delete non basic columns
     1963               n = 0;
     1964               nel = 0;
     1965               int iRow , iColumn;
     1966               const double * lower = m.getColLower();
     1967               const double * upper = m.getColUpper();
     1968               const double * objective = m.getObjCoefficients();
     1969               startM = m.getMatrixByCol()->getVectorStarts();
     1970               lengthM = m.getMatrixByCol()->getVectorLengths();
     1971               indexM = m.getMatrixByCol()->getIndices();
     1972               elementM = m.getMatrixByCol()->getElements();
     1973               starts[0] = 0;
     1974               for (iColumn = 0; iColumn < numberColumns; iColumn++) {
     1975                    if (solution.getColumnStatus(iColumn) != ClpSimplex::basic) {
     1976                         saveObj[n] = objective[iColumn];
     1977                         saveLower[n] = lower[iColumn];
     1978                         saveUpper[n] = upper[iColumn];
     1979                         int j;
     1980                         for (j = startM[iColumn]; j < startM[iColumn] + lengthM[iColumn]; j++) {
     1981                              index[nel] = indexM[j];
     1982                              element[nel++] = elementM[j];
     1983                         }
     1984                         which[n++] = iColumn;
     1985                         starts[n] = nel;
     1986                    }
     1987               }
     1988               solution.deleteColumns(n, which);
     1989               solution.dual();
     1990               // Put back
     1991               solution.addColumns(n, saveLower, saveUpper, saveObj,
     1992                                   starts, index, element);
     1993               solution.dual();
     1994               assert(eq(solution.objectiveValue(), 1.5185098965e+03));
     1995               // Delete all columns and add back
     1996               n = 0;
     1997               nel = 0;
     1998               starts[0] = 0;
     1999               lower = m.getColLower();
     2000               upper = m.getColUpper();
     2001               objective = m.getObjCoefficients();
     2002               for (iColumn = 0; iColumn < numberColumns; iColumn++) {
    19552003                    saveObj[n] = objective[iColumn];
    19562004                    saveLower[n] = lower[iColumn];
     
    19642012                    starts[n] = nel;
    19652013               }
    1966           }
    1967           solution.deleteColumns(n, which);
    1968           solution.dual();
    1969           // Put back
    1970           solution.addColumns(n, saveLower, saveUpper, saveObj,
    1971                               starts, index, element);
    1972           solution.dual();
    1973           assert(eq(solution.objectiveValue(), 1.5185098965e+03));
    1974           // Delete all columns and add back
    1975           n = 0;
    1976           nel = 0;
    1977           starts[0] = 0;
    1978           lower = m.getColLower();
    1979           upper = m.getColUpper();
    1980           objective = m.getObjCoefficients();
    1981           for (iColumn = 0; iColumn < numberColumns; iColumn++) {
    1982                saveObj[n] = objective[iColumn];
    1983                saveLower[n] = lower[iColumn];
    1984                saveUpper[n] = upper[iColumn];
    1985                int j;
    1986                for (j = startM[iColumn]; j < startM[iColumn] + lengthM[iColumn]; j++) {
    1987                     index[nel] = indexM[j];
    1988                     element[nel++] = elementM[j];
    1989                }
    1990                which[n++] = iColumn;
    1991                starts[n] = nel;
    1992           }
    1993           solution.deleteColumns(n, which);
    1994           solution.dual();
    1995           // Put back
    1996           solution.addColumns(n, saveLower, saveUpper, saveObj,
    1997                               starts, index, element);
    1998           solution.dual();
    1999           assert(eq(solution.objectiveValue(), 1.5185098965e+03));
    2000 
    2001           // reload with original
    2002           solution.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
    2003                                m.getObjCoefficients(),
    2004                                m.getRowLower(), m.getRowUpper());
    2005           // delete half rows
    2006           n = 0;
    2007           nel = 0;
    2008           lower = m.getRowLower();
    2009           upper = m.getRowUpper();
    2010           startM = m.getMatrixByRow()->getVectorStarts();
    2011           lengthM = m.getMatrixByRow()->getVectorLengths();
    2012           indexM = m.getMatrixByRow()->getIndices();
    2013           elementM = m.getMatrixByRow()->getElements();
    2014           starts[0] = 0;
    2015           for (iRow = 0; iRow < numberRows; iRow++) {
    2016                if ((iRow & 1) == 0) {
     2014               solution.deleteColumns(n, which);
     2015               solution.dual();
     2016               // Put back
     2017               solution.addColumns(n, saveLower, saveUpper, saveObj,
     2018                                   starts, index, element);
     2019               solution.dual();
     2020               assert(eq(solution.objectiveValue(), 1.5185098965e+03));
     2021
     2022               // reload with original
     2023               solution.loadProblem(*m.getMatrixByCol(), m.getColLower(), m.getColUpper(),
     2024                                    m.getObjCoefficients(),
     2025                                    m.getRowLower(), m.getRowUpper());
     2026               // delete half rows
     2027               n = 0;
     2028               nel = 0;
     2029               lower = m.getRowLower();
     2030               upper = m.getRowUpper();
     2031               startM = m.getMatrixByRow()->getVectorStarts();
     2032               lengthM = m.getMatrixByRow()->getVectorLengths();
     2033               indexM = m.getMatrixByRow()->getIndices();
     2034               elementM = m.getMatrixByRow()->getElements();
     2035               starts[0] = 0;
     2036               for (iRow = 0; iRow < numberRows; iRow++) {
     2037                    if ((iRow & 1) == 0) {
     2038                         saveLower[n] = lower[iRow];
     2039                         saveUpper[n] = upper[iRow];
     2040                         int j;
     2041                         for (j = startM[iRow]; j < startM[iRow] + lengthM[iRow]; j++) {
     2042                              index[nel] = indexM[j];
     2043                              element[nel++] = elementM[j];
     2044                         }
     2045                         which[n++] = iRow;
     2046                         starts[n] = nel;
     2047                    }
     2048               }
     2049               solution.deleteRows(n, which);
     2050               solution.dual();
     2051               // Put back
     2052               solution.addRows(n, saveLower, saveUpper,
     2053                                starts, index, element);
     2054               solution.dual();
     2055               assert(eq(solution.objectiveValue(), 1.5185098965e+03));
     2056               solution.writeMps("yy.mps");
     2057               // Delete all rows
     2058               n = 0;
     2059               nel = 0;
     2060               lower = m.getRowLower();
     2061               upper = m.getRowUpper();
     2062               starts[0] = 0;
     2063               for (iRow = 0; iRow < numberRows; iRow++) {
    20172064                    saveLower[n] = lower[iRow];
    20182065                    saveUpper[n] = upper[iRow];
     
    20252072                    starts[n] = nel;
    20262073               }
    2027           }
    2028           solution.deleteRows(n, which);
    2029           solution.dual();
    2030           // Put back
    2031           solution.addRows(n, saveLower, saveUpper,
    2032                            starts, index, element);
    2033           solution.dual();
    2034           assert(eq(solution.objectiveValue(), 1.5185098965e+03));
    2035           solution.writeMps("yy.mps");
    2036           // Delete all rows
    2037           n = 0;
    2038           nel = 0;
    2039           lower = m.getRowLower();
    2040           upper = m.getRowUpper();
    2041           starts[0] = 0;
    2042           for (iRow = 0; iRow < numberRows; iRow++) {
    2043                saveLower[n] = lower[iRow];
    2044                saveUpper[n] = upper[iRow];
    2045                int j;
    2046                for (j = startM[iRow]; j < startM[iRow] + lengthM[iRow]; j++) {
    2047                     index[nel] = indexM[j];
    2048                     element[nel++] = elementM[j];
    2049                }
    2050                which[n++] = iRow;
    2051                starts[n] = nel;
    2052           }
    2053           solution.deleteRows(n, which);
    2054           solution.dual();
    2055           // Put back