Changeset 1559
- Timestamp:
- Jun 5, 2010 3:42:36 PM (10 years ago)
- 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 1 BuildTools https://projects.coin-or.org/svn/BuildTools/trunk 2 ThirdParty/Blas https://projects.coin-or.org/svn/BuildTools/ThirdParty/Blas/trunk 3 ThirdParty/Lapack https://projects.coin-or.org/svn/BuildTools/ThirdParty/Lapack/trunk 4 #Data/Netlib https://projects.coin-or.org/svn/Data/trunk/Netlib 5 Data/Sample https://projects.coin-or.org/svn/Data/trunk/Sample 6 CoinUtils https://projects.coin-or.org/svn/CoinUtils/trunk/CoinUtils
-
- Property svn:mergeinfo changed
/branches/split (added) merged: 1522,1527-1531,1542-1550,1558
- Property svn:externals
-
trunk/Clp/Makefile.am
r1162 r1559 89 89 if test -r test/Makefile; then cd test; $(MAKE) distclean; fi 90 90 91 install-exec-local: install-doc 92 93 uninstall-local: uninstall-doc 94 91 95 .PHONY: test unitTest 92 96 … … 95 99 ######################################################################## 96 100 97 addlibsfile = clp_addlibs.txt 98 addlibsdir = $(prefix)/share/doc/coin/$(PACKAGE_NAME)/ 101 if COIN_HAS_PKGCONFIG 102 addlibsdir = $(datadir)/coin/doc/Clp 103 addlibs_DATA = clp_addlibs.txt 99 104 100 install-exec-local: install-doc 101 $(install_sh_DATA) $(addlibsfile) $(DESTDIR)$(addlibsdir)/$(addlibsfile) 105 clp_addlibs.txt : clp.pc 106 PKG_CONFIG_PATH=.:@COIN_PKG_CONFIG_PATH@ $(PKG_CONFIG) --libs clp > clp_addlibs.txt 107 endif 102 108 103 uninstall-local: uninstall-doc 104 rm -f $(DESTDIR)$(addlibsdir)/$(addlibsfile) 109 pkgconfiglibdir = $(libdir)/pkgconfig 110 pkgconfiglib_DATA = clp.pc 105 111 106 112 ######################################################################## … … 108 114 ######################################################################## 109 115 116 CLEANFILES = clp_addlibs.txt 117 110 118 # Files that are generated and should be cleaned with make distclean 111 119 DISTCLEANFILES = -
trunk/Clp/Makefile.in
r1162 r1559 30 30 # Documentation installation # 31 31 ######################################################################## 32 32 33 srcdir = @srcdir@ 33 34 top_srcdir = @top_srcdir@ … … 62 63 $(srcdir)/../ltmain.sh $(srcdir)/../missing \ 63 64 $(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 67 69 @HAVE_EXTERNALS_TRUE@am__append_2 = Externals 68 70 @HAVE_EXTERNALS_TRUE@am__append_3 = .Externals-stamp … … 77 79 mkinstalldirs = $(install_sh) -d 78 80 CONFIG_HEADER = $(top_builddir)/inc/config_clp.h 79 CONFIG_CLEAN_FILES = examples/Makefile clp_addlibs.txt 81 CONFIG_CLEAN_FILES = examples/Makefile clp.pc clp-uninstalled.pc \ 82 osi-clp-uninstalled.pc 80 83 SOURCES = 81 84 DIST_SOURCES = … … 86 89 pdf-recursive ps-recursive uninstall-info-recursive \ 87 90 uninstall-recursive 91 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; 92 am__vpath_adj = case $$p in \ 93 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ 94 *) f=$$p;; \ 95 esac; 96 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; 97 am__installdirs = "$(DESTDIR)$(addlibsdir)" \ 98 "$(DESTDIR)$(pkgconfiglibdir)" 99 addlibsDATA_INSTALL = $(INSTALL_DATA) 100 pkgconfiglibDATA_INSTALL = $(INSTALL_DATA) 101 DATA = $(addlibs_DATA) $(pkgconfiglib_DATA) 88 102 ETAGS = etags 89 103 CTAGS = ctags … … 100 114 distuninstallcheck_listfiles = find . -type f -print 101 115 distcleancheck_listfiles = find . -type f -print 116 ABSBUILDDIR = @ABSBUILDDIR@ 102 117 ACLOCAL = @ACLOCAL@ 103 118 ADDLIBS = @ADDLIBS@ … … 120 135 CDEFS = @CDEFS@ 121 136 CFLAGS = @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@ 137 COINUTILS_CFLAGS = @COINUTILS_CFLAGS@ 138 COINUTILS_DATA = @COINUTILS_DATA@ 139 COINUTILS_LIBS = @COINUTILS_LIBS@ 130 140 COIN_HAS_COINUTILS_FALSE = @COIN_HAS_COINUTILS_FALSE@ 131 141 COIN_HAS_COINUTILS_TRUE = @COIN_HAS_COINUTILS_TRUE@ 142 COIN_HAS_NETLIB_FALSE = @COIN_HAS_NETLIB_FALSE@ 143 COIN_HAS_NETLIB_TRUE = @COIN_HAS_NETLIB_TRUE@ 144 COIN_HAS_OSITESTS_FALSE = @COIN_HAS_OSITESTS_FALSE@ 145 COIN_HAS_OSITESTS_TRUE = @COIN_HAS_OSITESTS_TRUE@ 146 COIN_HAS_OSI_FALSE = @COIN_HAS_OSI_FALSE@ 147 COIN_HAS_OSI_TRUE = @COIN_HAS_OSI_TRUE@ 148 COIN_HAS_PKGCONFIG_FALSE = @COIN_HAS_PKGCONFIG_FALSE@ 149 COIN_HAS_PKGCONFIG_TRUE = @COIN_HAS_PKGCONFIG_TRUE@ 150 COIN_HAS_SAMPLE_FALSE = @COIN_HAS_SAMPLE_FALSE@ 151 COIN_HAS_SAMPLE_TRUE = @COIN_HAS_SAMPLE_TRUE@ 152 COIN_PKG_CONFIG_PATH = @COIN_PKG_CONFIG_PATH@ 132 153 CPP = @CPP@ 133 154 CPPFLAGS = @CPPFLAGS@ … … 172 193 MPICC = @MPICC@ 173 194 MPICXX = @MPICXX@ 195 NETLIB_CFLAGS = @NETLIB_CFLAGS@ 196 NETLIB_DATA = @NETLIB_DATA@ 197 NETLIB_LIBS = @NETLIB_LIBS@ 174 198 OBJEXT = @OBJEXT@ 175 199 OPT_CFLAGS = @OPT_CFLAGS@ 176 200 OPT_CXXFLAGS = @OPT_CXXFLAGS@ 201 OSITESTS_CFLAGS = @OSITESTS_CFLAGS@ 202 OSITESTS_DATA = @OSITESTS_DATA@ 203 OSITESTS_LIBS = @OSITESTS_LIBS@ 204 OSI_CFLAGS = @OSI_CFLAGS@ 205 OSI_DATA = @OSI_DATA@ 206 OSI_LIBS = @OSI_LIBS@ 177 207 PACKAGE = @PACKAGE@ 178 208 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 182 212 PACKAGE_VERSION = @PACKAGE_VERSION@ 183 213 PATH_SEPARATOR = @PATH_SEPARATOR@ 214 PKG_CONFIG = @PKG_CONFIG@ 184 215 RANLIB = @RANLIB@ 216 REQUIREDPACKAGES = @REQUIREDPACKAGES@ 185 217 RPATH_FLAGS = @RPATH_FLAGS@ 218 SAMPLE_CFLAGS = @SAMPLE_CFLAGS@ 219 SAMPLE_DATA = @SAMPLE_DATA@ 220 SAMPLE_LIBS = @SAMPLE_LIBS@ 186 221 SET_MAKE = @SET_MAKE@ 187 222 SHELL = @SHELL@ … … 189 224 VERSION = @VERSION@ 190 225 VPATH_DISTCLEANFILES = @VPATH_DISTCLEANFILES@ 226 _SVN_REV = @_SVN_REV@ 191 227 abs_bin_dir = @abs_bin_dir@ 192 228 abs_include_dir = @abs_include_dir@ … … 201 237 ac_ct_STRIP = @ac_ct_STRIP@ 202 238 ac_cxx_preproc_warn_flag = @ac_cxx_preproc_warn_flag@ 239 ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@ 203 240 am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ 204 241 am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ … … 221 258 have_automake = @have_automake@ 222 259 have_svn = @have_svn@ 260 have_svnversion = @have_svnversion@ 223 261 host = @host@ 224 262 host_alias = @host_alias@ … … 276 314 # Installation of the addlibs file # 277 315 ######################################################################## 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 318 pkgconfiglibdir = $(libdir)/pkgconfig 319 pkgconfiglib_DATA = clp.pc 280 320 281 321 ######################################################################## 282 322 # Maintainer Stuff # 283 323 ######################################################################## 324 CLEANFILES = clp_addlibs.txt 284 325 285 326 # Files that are generated and should be cleaned with make distclean 286 327 DISTCLEANFILES = $(am__append_3) $(VPATH_DISTCLEANFILES) 287 328 DocFiles = README AUTHORS LICENSE 288 DocInstallDir = $( prefix)/share/doc/coin/$(PACKAGE_NAME)329 DocInstallDir = $(datadir)/coin/doc/$(PACKAGE_NAME) 289 330 all: all-recursive 290 331 … … 342 383 examples/Makefile: $(top_builddir)/config.status $(top_srcdir)/examples/Makefile.in 343 384 cd $(top_builddir) && $(SHELL) ./config.status $@ 344 clp_addlibs.txt: $(top_builddir)/config.status $(srcdir)/clp_addlibs.txt.in 385 clp.pc: $(top_builddir)/config.status $(srcdir)/clp.pc.in 386 cd $(top_builddir) && $(SHELL) ./config.status $@ 387 clp-uninstalled.pc: $(top_builddir)/config.status $(srcdir)/clp-uninstalled.pc.in 388 cd $(top_builddir) && $(SHELL) ./config.status $@ 389 osi-clp-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/OsiClp/osi-clp-uninstalled.pc.in 345 390 cd $(top_builddir) && $(SHELL) ./config.status $@ 346 391 … … 354 399 -rm -f libtool 355 400 uninstall-info-am: 401 install-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 411 uninstall-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 418 install-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 428 uninstall-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 356 435 357 436 # This directory's subdirectories are mostly independent; you can cd … … 490 569 $(am__remove_distdir) 491 570 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 493 572 @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ 494 573 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ … … 631 710 check-am: all-am 632 711 check: check-recursive 633 all-am: Makefile 712 all-am: Makefile $(DATA) 634 713 installdirs: installdirs-recursive 635 714 installdirs-am: 715 for dir in "$(DESTDIR)$(addlibsdir)" "$(DESTDIR)$(pkgconfiglibdir)"; do \ 716 test -z "$$dir" || $(mkdir_p) "$$dir"; \ 717 done 636 718 install: install-recursive 637 719 install-exec: install-exec-recursive … … 651 733 652 734 clean-generic: 735 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) 653 736 654 737 distclean-generic: … … 679 762 info-am: 680 763 681 install-data-am: 764 install-data-am: install-addlibsDATA install-pkgconfiglibDATA 682 765 683 766 install-exec-am: install-exec-local … … 707 790 ps-am: 708 791 709 uninstall-am: uninstall-info-am uninstall-local 792 uninstall-am: uninstall-addlibsDATA uninstall-info-am uninstall-local \ 793 uninstall-pkgconfiglibDATA 710 794 711 795 uninstall-info: uninstall-info-recursive … … 718 802 distclean-local distclean-recursive distclean-tags \ 719 803 distcleancheck distdir distuninstallcheck dvi dvi-am html \ 720 html-am info info-am install install-a m 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 \ 722 806 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 729 814 730 815 … … 744 829 if test -r test/Makefile; then cd test; $(MAKE) distclean; fi 745 830 831 install-exec-local: install-doc 832 833 uninstall-local: uninstall-doc 834 746 835 .PHONY: test unitTest 747 836 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 753 839 754 840 install-doc: $(DocFiles) -
trunk/Clp/clp-uninstalled.pc.in
r1522 r1559 1 1 prefix=@prefix@ 2 2 libdir=@ABSBUILDDIR@/src 3 includedir=@abs_source_dir@/src4 3 5 4 Name: CLP … … 7 6 Version: @PACKAGE_VERSION@ 8 7 Libs: -L${libdir} -lClp @ADDLIBS@ 9 Cflags: -I ${includedir}-I@ABSBUILDDIR@/inc8 Cflags: -I@abs_source_dir@/src -I@ABSBUILDDIR@/inc 10 9 Requires: @REQUIREDPACKAGES@ -
trunk/Clp/configure
r1557 r1559 3 3 # Generated by GNU Autoconf 2.59 for Clp trunk. 4 4 # 5 # Report bugs to <c oin-clp@list.coin-or.org>.5 # Report bugs to <clp@list.coin-or.org>. 6 6 # 7 7 # Copyright (C) 2003 Free Software Foundation, Inc. … … 432 432 PACKAGE_VERSION='trunk' 433 433 PACKAGE_STRING='Clp trunk' 434 PACKAGE_BUGREPORT='c oin-clp@list.coin-or.org'435 436 ac_unique_file="src/Clp CholeskyBase.cpp"434 PACKAGE_BUGREPORT='clp@list.coin-or.org' 435 436 ac_unique_file="src/ClpSimplex.cpp" 437 437 ac_default_prefix=`pwd` 438 438 # Factoring default headers for most tests. … … 473 473 #endif" 474 474 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_DISTCLEANFILESLIBOBJS LTLIBOBJS'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 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' 476 476 ac_subst_files='' 477 477 … … 994 994 ac_cv_env_FFLAGS_set=${FFLAGS+set} 995 995 ac_cv_env_FFLAGS_value=$FFLAGS 996 ac_env_PKG_CONFIG_set=${PKG_CONFIG+set} 997 ac_env_PKG_CONFIG_value=$PKG_CONFIG 998 ac_cv_env_PKG_CONFIG_set=${PKG_CONFIG+set} 999 ac_cv_env_PKG_CONFIG_value=$PKG_CONFIG 996 1000 997 1001 # … … 1093 1097 optimize for fast installation [default=yes] 1094 1098 --disable-libtool-lock avoid locking (might break parallel builds) 1099 --enable-pkg-config use pkg-config if available (default is yes) 1095 1100 --enable-gnu-packages compile with GNU packages (disabled by default) 1096 1101 … … 1105 1110 --with-tags[=TAGS] 1106 1111 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 1107 1131 --with-wsmp specify WSMP library 1108 1132 … … 1133 1157 F77 Fortran 77 compiler command 1134 1158 FFLAGS Fortran 77 compiler flags 1159 PKG_CONFIG path to pkg-config utility 1135 1160 1136 1161 Use these variables to override the choices made by `configure' or to help 1137 1162 it to find libraries and programs with nonstandard names/locations. 1138 1163 1139 Report bugs to <c oin-clp@list.coin-or.org>.1164 Report bugs to <clp@list.coin-or.org>. 1140 1165 _ACEOF 1141 1166 fi … … 1693 1718 fi 1694 1719 1720 1721 #Set the project's version number 1722 if test "x" != x; then 1723 1724 cat >>confdefs.h <<_ACEOF 1725 #define _VERSION "$PACKAGE_VERSION" 1726 _ACEOF 1727 1728 fi 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. 1732 set dummy svnversion; ac_word=$2 1733 echo "$as_me:$LINENO: checking for $ac_word" >&5 1734 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 1735 if test "${ac_cv_prog_have_svnversion+set}" = set; then 1736 echo $ECHO_N "(cached) $ECHO_C" >&6 1737 else 1738 if test -n "$have_svnversion"; then 1739 ac_cv_prog_have_svnversion="$have_svnversion" # Let the user override the test. 1740 else 1741 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 1742 for as_dir in $PATH 1743 do 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 1752 done 1753 done 1754 1755 test -z "$ac_cv_prog_have_svnversion" && ac_cv_prog_have_svnversion="no" 1756 fi 1757 fi 1758 have_svnversion=$ac_cv_prog_have_svnversion 1759 if test -n "$have_svnversion"; then 1760 echo "$as_me:$LINENO: result: $have_svnversion" >&5 1761 echo "${ECHO_T}$have_svnversion" >&6 1762 else 1763 echo "$as_me:$LINENO: result: no" >&5 1764 echo "${ECHO_T}no" >&6 1765 fi 1766 1767 if 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 1772 cat >>confdefs.h <<_ACEOF 1773 #define _SVN_REV "$_SVN_REV" 1774 _ACEOF 1775 1776 fi 1777 fi 1695 1778 1696 1779 # We set the following variable so that we know later in AC_COIN_FINALIZE … … 5786 5869 *-*-irix6*) 5787 5870 # Find out which ABI we are using. 5788 echo '#line 5 788"configure"' > conftest.$ac_ext5871 echo '#line 5871 "configure"' > conftest.$ac_ext 5789 5872 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 5790 5873 (eval $ac_compile) 2>&5 … … 6563 6646 ( 6564 6647 cat <<\_ASBOX 6565 ## ----------------------------------- -----##6566 ## Report this to c oin-clp@list.coin-or.org ##6567 ## ----------------------------------- -----##6648 ## ----------------------------------- ## 6649 ## Report this to clp@list.coin-or.org ## 6650 ## ----------------------------------- ## 6568 6651 _ASBOX 6569 6652 ) | … … 6920 7003 6921 7004 # Provide some information about the compiler. 6922 echo "$as_me: 6922:" \7005 echo "$as_me:7005:" \ 6923 7006 "checking for Fortran 77 compiler version" >&5 6924 7007 ac_compiler=`set X $ac_compile; echo $2` … … 7987 8070 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 7988 8071 -e 's:$: $lt_compiler_flag:'` 7989 (eval echo "\"\$as_me: 7989: $lt_compile\"" >&5)8072 (eval echo "\"\$as_me:8072: $lt_compile\"" >&5) 7990 8073 (eval "$lt_compile" 2>conftest.err) 7991 8074 ac_status=$? 7992 8075 cat conftest.err >&5 7993 echo "$as_me: 7993: \$? = $ac_status" >&58076 echo "$as_me:8076: \$? = $ac_status" >&5 7994 8077 if (exit $ac_status) && test -s "$ac_outfile"; then 7995 8078 # The compiler can only warn and ignore the option if not recognized … … 8255 8338 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 8256 8339 -e 's:$: $lt_compiler_flag:'` 8257 (eval echo "\"\$as_me:8 257: $lt_compile\"" >&5)8340 (eval echo "\"\$as_me:8340: $lt_compile\"" >&5) 8258 8341 (eval "$lt_compile" 2>conftest.err) 8259 8342 ac_status=$? 8260 8343 cat conftest.err >&5 8261 echo "$as_me:8 261: \$? = $ac_status" >&58344 echo "$as_me:8344: \$? = $ac_status" >&5 8262 8345 if (exit $ac_status) && test -s "$ac_outfile"; then 8263 8346 # The compiler can only warn and ignore the option if not recognized … … 8359 8442 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 8360 8443 -e 's:$: $lt_compiler_flag:'` 8361 (eval echo "\"\$as_me:8 361: $lt_compile\"" >&5)8444 (eval echo "\"\$as_me:8444: $lt_compile\"" >&5) 8362 8445 (eval "$lt_compile" 2>out/conftest.err) 8363 8446 ac_status=$? 8364 8447 cat out/conftest.err >&5 8365 echo "$as_me:8 365: \$? = $ac_status" >&58448 echo "$as_me:8448: \$? = $ac_status" >&5 8366 8449 if (exit $ac_status) && test -s out/conftest2.$ac_objext 8367 8450 then … … 10704 10787 lt_status=$lt_dlunknown 10705 10788 cat > conftest.$ac_ext <<EOF 10706 #line 107 06"configure"10789 #line 10789 "configure" 10707 10790 #include "confdefs.h" 10708 10791 … … 10804 10887 lt_status=$lt_dlunknown 10805 10888 cat > conftest.$ac_ext <<EOF 10806 #line 108 06"configure"10889 #line 10889 "configure" 10807 10890 #include "confdefs.h" 10808 10891 … … 13148 13231 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 13149 13232 -e 's:$: $lt_compiler_flag:'` 13150 (eval echo "\"\$as_me:13 150: $lt_compile\"" >&5)13233 (eval echo "\"\$as_me:13233: $lt_compile\"" >&5) 13151 13234 (eval "$lt_compile" 2>conftest.err) 13152 13235 ac_status=$? 13153 13236 cat conftest.err >&5 13154 echo "$as_me:13 154: \$? = $ac_status" >&513237 echo "$as_me:13237: \$? = $ac_status" >&5 13155 13238 if (exit $ac_status) && test -s "$ac_outfile"; then 13156 13239 # The compiler can only warn and ignore the option if not recognized … … 13252 13335 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 13253 13336 -e 's:$: $lt_compiler_flag:'` 13254 (eval echo "\"\$as_me:13 254: $lt_compile\"" >&5)13337 (eval echo "\"\$as_me:13337: $lt_compile\"" >&5) 13255 13338 (eval "$lt_compile" 2>out/conftest.err) 13256 13339 ac_status=$? 13257 13340 cat out/conftest.err >&5 13258 echo "$as_me:13 258: \$? = $ac_status" >&513341 echo "$as_me:13341: \$? = $ac_status" >&5 13259 13342 if (exit $ac_status) && test -s out/conftest2.$ac_objext 13260 13343 then … … 14822 14905 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 14823 14906 -e 's:$: $lt_compiler_flag:'` 14824 (eval echo "\"\$as_me:14 824: $lt_compile\"" >&5)14907 (eval echo "\"\$as_me:14907: $lt_compile\"" >&5) 14825 14908 (eval "$lt_compile" 2>conftest.err) 14826 14909 ac_status=$? 14827 14910 cat conftest.err >&5 14828 echo "$as_me:14 828: \$? = $ac_status" >&514911 echo "$as_me:14911: \$? = $ac_status" >&5 14829 14912 if (exit $ac_status) && test -s "$ac_outfile"; then 14830 14913 # The compiler can only warn and ignore the option if not recognized … … 14926 15009 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 14927 15010 -e 's:$: $lt_compiler_flag:'` 14928 (eval echo "\"\$as_me:1 4928: $lt_compile\"" >&5)15011 (eval echo "\"\$as_me:15011: $lt_compile\"" >&5) 14929 15012 (eval "$lt_compile" 2>out/conftest.err) 14930 15013 ac_status=$? 14931 15014 cat out/conftest.err >&5 14932 echo "$as_me:1 4932: \$? = $ac_status" >&515015 echo "$as_me:15015: \$? = $ac_status" >&5 14933 15016 if (exit $ac_status) && test -s out/conftest2.$ac_objext 14934 15017 then … … 17133 17216 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 17134 17217 -e 's:$: $lt_compiler_flag:'` 17135 (eval echo "\"\$as_me:17 135: $lt_compile\"" >&5)17218 (eval echo "\"\$as_me:17218: $lt_compile\"" >&5) 17136 17219 (eval "$lt_compile" 2>conftest.err) 17137 17220 ac_status=$? 17138 17221 cat conftest.err >&5 17139 echo "$as_me:17 139: \$? = $ac_status" >&517222 echo "$as_me:17222: \$? = $ac_status" >&5 17140 17223 if (exit $ac_status) && test -s "$ac_outfile"; then 17141 17224 # The compiler can only warn and ignore the option if not recognized … … 17401 17484 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 17402 17485 -e 's:$: $lt_compiler_flag:'` 17403 (eval echo "\"\$as_me:174 03: $lt_compile\"" >&5)17486 (eval echo "\"\$as_me:17486: $lt_compile\"" >&5) 17404 17487 (eval "$lt_compile" 2>conftest.err) 17405 17488 ac_status=$? 17406 17489 cat conftest.err >&5 17407 echo "$as_me:174 07: \$? = $ac_status" >&517490 echo "$as_me:17490: \$? = $ac_status" >&5 17408 17491 if (exit $ac_status) && test -s "$ac_outfile"; then 17409 17492 # The compiler can only warn and ignore the option if not recognized … … 17505 17588 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 17506 17589 -e 's:$: $lt_compiler_flag:'` 17507 (eval echo "\"\$as_me:175 07: $lt_compile\"" >&5)17590 (eval echo "\"\$as_me:17590: $lt_compile\"" >&5) 17508 17591 (eval "$lt_compile" 2>out/conftest.err) 17509 17592 ac_status=$? 17510 17593 cat out/conftest.err >&5 17511 echo "$as_me:175 11: \$? = $ac_status" >&517594 echo "$as_me:17594: \$? = $ac_status" >&5 17512 17595 if (exit $ac_status) && test -s out/conftest2.$ac_objext 17513 17596 then … … 20408 20491 20409 20492 ############################################################################# 20410 # COIN components#20493 # COIN-OR components # 20411 20494 ############################################################################# 20412 20495 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. 20499 if test "${enable_pkg_config+set}" = set; then 20500 enableval="$enable_pkg_config" 20501 use_pkgconfig="$enableval" 20502 else 20503 use_pkgconfig=yes 20504 fi; 20505 20506 if 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. 20510 set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 20511 echo "$as_me:$LINENO: checking for $ac_word" >&5 20512 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 20513 if test "${ac_cv_path_PKG_CONFIG+set}" = set; then 20514 echo $ECHO_N "(cached) $ECHO_C" >&6 20515 else 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 20522 for as_dir in $PATH 20523 do 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 20532 done 20533 done 20534 20535 ;; 20536 esac 20537 fi 20538 PKG_CONFIG=$ac_cv_path_PKG_CONFIG 20539 20540 if test -n "$PKG_CONFIG"; then 20541 echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 20542 echo "${ECHO_T}$PKG_CONFIG" >&6 20543 else 20544 echo "$as_me:$LINENO: result: no" >&5 20545 echo "${ECHO_T}no" >&6 20546 fi 20547 20548 fi 20549 if 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. 20552 set dummy pkg-config; ac_word=$2 20553 echo "$as_me:$LINENO: checking for $ac_word" >&5 20554 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 20555 if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then 20556 echo $ECHO_N "(cached) $ECHO_C" >&6 20557 else 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 20564 for as_dir in $PATH 20565 do 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 20574 done 20575 done 20576 20577 ;; 20578 esac 20579 fi 20580 ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG 20581 20582 if test -n "$ac_pt_PKG_CONFIG"; then 20583 echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 20584 echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6 20585 else 20586 echo "$as_me:$LINENO: result: no" >&5 20587 echo "${ECHO_T}no" >&6 20588 fi 20589 20590 PKG_CONFIG=$ac_pt_PKG_CONFIG 20591 else 20592 PKG_CONFIG="$ac_cv_path_PKG_CONFIG" 20593 fi 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 20599 echo $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 20602 echo "${ECHO_T}yes" >&6 20603 else 20604 echo "$as_me:$LINENO: result: no" >&5 20605 echo "${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 20617 fi 20618 20619 20620 20621 if test -n "$PKG_CONFIG"; then 20622 COIN_HAS_PKGCONFIG_TRUE= 20623 COIN_HAS_PKGCONFIG_FALSE='#' 20624 else 20625 COIN_HAS_PKGCONFIG_TRUE='#' 20626 COIN_HAS_PKGCONFIG_FALSE= 20627 fi 20628 20629 20630 20631 # assemble search path for pkg-config, if we are in a project setup 20632 if 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. 20644 if 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 20648 echo "$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 20653 fi; 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 20676 fi 20677 20678 20679 20680 echo "$as_me:$LINENO: checking for COIN-OR module CoinUtils" >&5 20681 echo $ECHO_N "checking for COIN-OR module CoinUtils... $ECHO_C" >&6 20682 20683 coin_has_coinutils=notGiven 20684 20685 # check if user wants to skip module in any case 20420 20686 if test x"$COIN_SKIP_PROJECTS" != x; then 20421 20687 for dir in $COIN_SKIP_PROJECTS; do 20422 if test $dir = CoinUtils; then20688 if test $dir = "CoinUtils"; then 20423 20689 coin_has_coinutils=skipping 20424 20690 fi … … 20426 20692 fi 20427 20693 20694 COINUTILS_LIBS= 20695 COINUTILS_CFLAGS= 20696 COINUTILS_DATA= 20697 20698 20699 20700 20701 20702 #check if user provided LIBS, CFLAGS, and DATA for module 20428 20703 if 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. 20707 if 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 20713 fi; 20714 20715 20716 # Check whether --with-m4_tolower(CoinUtils)-incdir or --without-m4_tolower(CoinUtils)-incdir was given. 20717 if test "${with_coinutils_incdir+set}" = set; then 20718 withval="$with_coinutils_incdir" 20719 coin_has_coinutils=yes 20720 COINUTILS_CFLAGS="-I`${CYGPATH_W} $withval`" 20721 fi; 20722 20723 20724 # Check whether --with-m4_tolower(CoinUtils)-datadir or --without-m4_tolower(CoinUtils)-datadir was given. 20725 if test "${with_coinutils_datadir+set}" = set; then 20726 withval="$with_coinutils_datadir" 20727 coin_has_coinutils=yes 20728 COINUTILS_DATA="$withval" 20729 fi; 20730 fi 20731 20732 if 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 20744 if 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 20760 echo "${ECHO_T}yes: $COINUTILS_VERSIONS" >&6 20761 REQUIREDPACKAGES="$REQUIREDPACKAGES coinutils = trunk" 20762 20763 20431 20764 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 20768 echo "${ECHO_T}not given: $COINUTILS_PKG_ERRORS" >&6 20769 20770 fi 20771 else 20772 { { echo "$as_me:$LINENO: error: \"Cannot check for existance of module CoinUtils without pkg-config\"" >&5 20773 echo "$as_me: error: \"Cannot check for existance of module CoinUtils without pkg-config\"" >&2;} 20774 { (exit 1); exit 1; }; } 20775 fi 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 20785 echo "${ECHO_T}skipped check via pkg-config" >&6 20786 20787 fi 20788 20789 else 20790 echo "$as_me:$LINENO: result: $coin_has_coinutils" >&5 20791 echo "${ECHO_T}$coin_has_coinutils" >&6 20792 fi 20793 20794 if 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 20799 echo "$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 20803 echo "$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 20807 echo "$as_me: CoinUtils DATA is $COINUTILS_DATA" >&6;} 20808 fi 20809 fi 20441 20810 20442 20811 cat >>confdefs.h <<\_ACEOF … … 20444 20813 _ACEOF 20445 20814 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 && 20815 fi 20816 20817 # Define the Makefile conditional 20818 20819 20820 if test $coin_has_coinutils != notGiven && 20460 20821 test $coin_has_coinutils != skipping; then 20461 20822 COIN_HAS_COINUTILS_TRUE= … … 20466 20827 fi 20467 20828 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 20831 if 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 20836 if test x$coin_has_blas != "xyes" ; then 20837 20838 echo "$as_me:$LINENO: checking for COIN-OR module Blas (fallback)" >&5 20839 echo $ECHO_N "checking for COIN-OR module Blas (fallback)... $ECHO_C" >&6 20840 20841 coin_has_blas=notGiven 20842 20843 # check if user wants to skip module in any case 20478 20844 if test x"$COIN_SKIP_PROJECTS" != x; then 20479 20845 for dir in $COIN_SKIP_PROJECTS; do 20480 if test $dir = Clp; then20481 coin_has_ clp=skipping20846 if test $dir = "Blas"; then 20847 coin_has_blas=skipping 20482 20848 fi 20483 20849 done 20484 20850 fi 20485 20851 20486 if test $coin_has_clp != skipping; then 20487 if test $PACKAGE_TARNAME = clp; then 20488 coin_has_clp=. 20852 BLAS_LIBS= 20853 BLAS_CFLAGS= 20854 BLAS_DATA= 20855 20856 20857 if 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 20883 echo "${ECHO_T}../ThirdParty/Blas" >&6 20489 20884 else 20490 if test -d $srcdir/../Clp; then 20491 coin_has_clp=../Clp 20885 echo "$as_me:$LINENO: result: $coin_has_blas" >&5 20886 echo "${ECHO_T}$coin_has_blas" >&6 20887 fi 20888 else 20889 echo "$as_me:$LINENO: result: skipping" >&5 20890 echo "${ECHO_T}skipping" >&6 20891 fi 20892 20893 #if user did not disable setting of makefile conditional, do it 20894 20895 fi 20896 20897 20898 if test x$coin_has_lapack != "xyes" ; then 20899 20900 echo "$as_me:$LINENO: checking for COIN-OR module Lapack (fallback)" >&5 20901 echo $ECHO_N "checking for COIN-OR module Lapack (fallback)... $ECHO_C" >&6 20902 20903 coin_has_lapack=notGiven 20904 20905 # check if user wants to skip module in any case 20906 if 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 20492 20910 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 20912 fi 20913 20914 LAPACK_LIBS= 20915 LAPACK_CFLAGS= 20916 LAPACK_DATA= 20917 20918 20919 if 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 20945 echo "${ECHO_T}../ThirdParty/Lapack" >&6 20946 else 20947 echo "$as_me:$LINENO: result: $coin_has_lapack" >&5 20948 echo "${ECHO_T}$coin_has_lapack" >&6 20949 fi 20950 else 20951 echo "$as_me:$LINENO: result: skipping" >&5 20952 echo "${ECHO_T}skipping" >&6 20953 fi 20954 20955 #if user did not disable setting of makefile conditional, do it 20956 20957 fi 20958 20959 fi 20960 20961 if test x$coin_has_coinutils != "xyes" ; then 20962 20963 echo "$as_me:$LINENO: checking for COIN-OR module CoinUtils (fallback)" >&5 20964 echo $ECHO_N "checking for COIN-OR module CoinUtils (fallback)... $ECHO_C" >&6 20965 20966 coin_has_coinutils=notGiven 20967 20968 # check if user wants to skip module in any case 20969 if 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 20975 fi 20976 20977 COINUTILS_LIBS= 20978 COINUTILS_CFLAGS= 20979 COINUTILS_DATA= 20980 20981 20982 if 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 20499 21006 20500 21007 cat >>confdefs.h <<\_ACEOF 20501 #define COIN_HAS_C LP121008 #define COIN_HAS_COINUTILS 1 20502 21009 _ACEOF 20503 21010 20504 21011 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 21015 echo "${ECHO_T}../CoinUtils" >&6 21016 else 21017 echo "$as_me:$LINENO: result: $coin_has_coinutils" >&5 21018 echo "${ECHO_T}$coin_has_coinutils" >&6 21019 fi 21020 else 21021 echo "$as_me:$LINENO: result: skipping" >&5 21022 echo "${ECHO_T}skipping" >&6 21023 fi 21024 21025 #if user did not disable setting of makefile conditional, do it 21026 21027 21028 if test $coin_has_coinutils != notGiven && 21029 test $coin_has_coinutils != skipping; then 21030 COIN_HAS_COINUTILS_TRUE= 21031 COIN_HAS_COINUTILS_FALSE='#' 21032 else 21033 COIN_HAS_COINUTILS_TRUE='#' 21034 COIN_HAS_COINUTILS_FALSE= 21035 fi 21036 21037 21038 fi 21039 21040 if test $coin_has_coinutils != yes ; then 21041 { { echo "$as_me:$LINENO: error: Required package CoinUtils not available." >&5 21042 echo "$as_me: error: Required package CoinUtils not available." >&2;} 21043 { (exit 1); exit 1; }; } 21044 fi 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 21047 COINUTILS_LIBS="$COINUTILS_LIBS $BLAS_LIBS $LAPACK_LIBS" 21048 21049 21050 echo "$as_me:$LINENO: checking for COIN-OR module Osi" >&5 21051 echo $ECHO_N "checking for COIN-OR module Osi... $ECHO_C" >&6 21052 21053 coin_has_osi=notGiven 21054 21055 # check if user wants to skip module in any case 21056 if 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 21062 fi 21063 21064 OSI_LIBS= 21065 OSI_CFLAGS= 21066 OSI_DATA= 21067 21068 21069 21070 21071 21072 #check if user provided LIBS, CFLAGS, and DATA for module 21073 if test $coin_has_osi != skipping; then 21074 21075 21076 # Check whether --with-m4_tolower(Osi)-lib or --without-m4_tolower(Osi)-lib was given. 21077 if test "${with_osi_lib+set}" = set; then 21078 withval="$with_osi_lib" 21079 coin_has_osi=yes 21080 OSI_LIBS="$withval" 21081 21082 21083 fi; 21084 21085 21086 # Check whether --with-m4_tolower(Osi)-incdir or --without-m4_tolower(Osi)-incdir was given. 21087 if test "${with_osi_incdir+set}" = set; then 21088 withval="$with_osi_incdir" 21089 coin_has_osi=yes 21090 OSI_CFLAGS="-I`${CYGPATH_W} $withval`" 21091 fi; 21092 21093 21094 # Check whether --with-m4_tolower(Osi)-datadir or --without-m4_tolower(Osi)-datadir was given. 21095 if test "${with_osi_datadir+set}" = set; then 21096 withval="$with_osi_datadir" 21097 coin_has_osi=yes 21098 OSI_DATA="$withval" 21099 fi; 21100 fi 21101 21102 if 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 21114 if 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 21130 echo "${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 21138 echo "${ECHO_T}not given: $OSI_PKG_ERRORS" >&6 21139 21140 fi 21141 else 21142 { { echo "$as_me:$LINENO: error: \"Cannot check for existance of module Osi without pkg-config\"" >&5 21143 echo "$as_me: error: \"Cannot check for existance of module Osi without pkg-config\"" >&2;} 21144 { (exit 1); exit 1; }; } 21145 fi 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 21155 if test x$coin_has_osi != "xyes" ; then 21156 21157 21158 21159 coin_has_osi=notGiven 21160 21161 # check if user wants to skip module in any case 21162 if 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 21168 fi 21169 21170 OSI_LIBS= 21171 OSI_CFLAGS= 21172 OSI_DATA= 21173 21174 21175 if 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 21198 cat >>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 21206 echo "${ECHO_T}../Osi" >&6 21207 else 21208 echo "$as_me:$LINENO: result: $coin_has_osi" >&5 21209 echo "${ECHO_T}$coin_has_osi" >&6 21210 fi 21211 else 21212 echo "$as_me:$LINENO: result: skipping" >&5 21213 echo "${ECHO_T}skipping" >&6 21214 fi 21215 21216 #if user did not disable setting of makefile conditional, do it 21217 21218 21219 if test $coin_has_osi != notGiven && 21220 test $coin_has_osi != skipping; then 21221 COIN_HAS_OSI_TRUE= 21222 COIN_HAS_OSI_FALSE='#' 21223 else 21224 COIN_HAS_OSI_TRUE='#' 21225 COIN_HAS_OSI_FALSE= 21226 fi 21227 21228 21229 fi 21230 21231 21232 fi 21233 21234 else 21235 echo "$as_me:$LINENO: result: $coin_has_osi" >&5 21236 echo "${ECHO_T}$coin_has_osi" >&6 21237 fi 21238 21239 if 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 21244 echo "$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 21248 echo "$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 21252 echo "$as_me: Osi DATA is $OSI_DATA" >&6;} 21253 fi 21254 fi 21255 21256 cat >>confdefs.h <<\_ACEOF 21257 #define COIN_HAS_OSI 1 21258 _ACEOF 21259 21260 fi 21261 21262 # Define the Makefile conditional 21263 21264 21265 if test $coin_has_osi != notGiven && 21266 test $coin_has_osi != skipping; then 21267 COIN_HAS_OSI_TRUE= 21268 COIN_HAS_OSI_FALSE='#' 21269 else 21270 COIN_HAS_OSI_TRUE='#' 21271 COIN_HAS_OSI_FALSE= 21272 fi 21273 21274 21275 21276 21277 echo "$as_me:$LINENO: checking for COIN-OR module OsiTests" >&5 21278 echo $ECHO_N "checking for COIN-OR module OsiTests... $ECHO_C" >&6 21279 21280 coin_has_ositests=notGiven 21281 21282 # check if user wants to skip module in any case 21283 if 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 21289 fi 21290 21291 OSITESTS_LIBS= 21292 OSITESTS_CFLAGS= 21293 OSITESTS_DATA= 21294 21295 21296 21297 21298 21299 #check if user provided LIBS, CFLAGS, and DATA for module 21300 if test $coin_has_ositests != skipping; then 21301 21302 21303 # Check whether --with-m4_tolower(OsiTests)-lib or --without-m4_tolower(OsiTests)-lib was given. 21304 if test "${with_ositests_lib+set}" = set; then 21305 withval="$with_ositests_lib" 21306 coin_has_ositests=yes 21307 OSITESTS_LIBS="$withval" 21308 21309 21310 fi; 21311 21312 21313 # Check whether --with-m4_tolower(OsiTests)-incdir or --without-m4_tolower(OsiTests)-incdir was given. 21314 if test "${with_ositests_incdir+set}" = set; then 21315 withval="$with_ositests_incdir" 21316 coin_has_ositests=yes 21317 OSITESTS_CFLAGS="-I`${CYGPATH_W} $withval`" 21318 fi; 21319 21320 21321 # Check whether --with-m4_tolower(OsiTests)-datadir or --without-m4_tolower(OsiTests)-datadir was given. 21322 if test "${with_ositests_datadir+set}" = set; then 21323 withval="$with_ositests_datadir" 21324 coin_has_ositests=yes 21325 OSITESTS_DATA="$withval" 21326 fi; 21327 fi 21328 21329 if 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 21341 if 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 21357 echo "${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 21365 echo "${ECHO_T}not given: $OSITESTS_PKG_ERRORS" >&6 21366 21367 fi 21368 else 21369 { { echo "$as_me:$LINENO: error: \"Cannot check for existance of module OsiTests without pkg-config\"" >&5 21370 echo "$as_me: error: \"Cannot check for existance of module OsiTests without pkg-config\"" >&2;} 21371 { (exit 1); exit 1; }; } 21372 fi 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 21382 if test x$coin_has_ositests != "xyes" ; then 21383 21384 21385 21386 coin_has_ositests=notGiven 21387 21388 # check if user wants to skip module in any case 21389 if 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 21395 fi 21396 21397 OSITESTS_LIBS= 21398 OSITESTS_CFLAGS= 21399 OSITESTS_DATA= 21400 21401 21402 if 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 21425 cat >>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 21433 echo "${ECHO_T}../Osi" >&6 21434 else 21435 echo "$as_me:$LINENO: result: $coin_has_ositests" >&5 21436 echo "${ECHO_T}$coin_has_ositests" >&6 21437 fi 21438 else 21439 echo "$as_me:$LINENO: result: skipping" >&5 21440 echo "${ECHO_T}skipping" >&6 21441 fi 21442 21443 #if user did not disable setting of makefile conditional, do it 21444 21445 21446 if test $coin_has_ositests != notGiven && 21447 test $coin_has_ositests != skipping; then 21448 COIN_HAS_OSITESTS_TRUE= 21449 COIN_HAS_OSITESTS_FALSE='#' 21450 else 21451 COIN_HAS_OSITESTS_TRUE='#' 21452 COIN_HAS_OSITESTS_FALSE= 21453 fi 21454 21455 21456 fi 21457 21458 21459 fi 21460 21461 else 21462 echo "$as_me:$LINENO: result: $coin_has_ositests" >&5 21463 echo "${ECHO_T}$coin_has_ositests" >&6 21464 fi 21465 21466 if 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 21471 echo "$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 21475 echo "$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 21479 echo "$as_me: OsiTests DATA is $OSITESTS_DATA" >&6;} 21480 fi 21481 fi 21482 21483 cat >>confdefs.h <<\_ACEOF 21484 #define COIN_HAS_OSITESTS 1 21485 _ACEOF 21486 21487 fi 21488 21489 # Define the Makefile conditional 21490 21491 21492 if test $coin_has_ositests != notGiven && 21493 test $coin_has_ositests != skipping; then 21494 COIN_HAS_OSITESTS_TRUE= 21495 COIN_HAS_OSITESTS_FALSE='#' 21496 else 21497 COIN_HAS_OSITESTS_TRUE='#' 21498 COIN_HAS_OSITESTS_FALSE= 21499 fi 21500 21501 21502 21503 21504 echo "$as_me:$LINENO: checking for COIN-OR module Sample" >&5 21505 echo $ECHO_N "checking for COIN-OR module Sample... $ECHO_C" >&6 21506 21507 coin_has_sample=notGiven 21508 21509 # check if user wants to skip module in any case 21510 if 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 21516 fi 21517 21518 SAMPLE_LIBS= 21519 SAMPLE_CFLAGS= 21520 SAMPLE_DATA= 21521 21522 21523 21524 21525 21526 #check if user provided LIBS, CFLAGS, and DATA for module 21527 if test $coin_has_sample != skipping; then 21528 21529 21530 # Check whether --with-m4_tolower(Sample)-lib or --without-m4_tolower(Sample)-lib was given. 21531 if test "${with_sample_lib+set}" = set; then 21532 withval="$with_sample_lib" 21533 coin_has_sample=yes 21534 SAMPLE_LIBS="$withval" 21535 21536 21537 fi; 21538 21539 21540 # Check whether --with-m4_tolower(Sample)-incdir or --without-m4_tolower(Sample)-incdir was given. 21541 if test "${with_sample_incdir+set}" = set; then 21542 withval="$with_sample_incdir" 21543 coin_has_sample=yes 21544 SAMPLE_CFLAGS="-I`${CYGPATH_W} $withval`" 21545 fi; 21546 21547 21548 # Check whether --with-m4_tolower(Sample)-datadir or --without-m4_tolower(Sample)-datadir was given. 21549 if test "${with_sample_datadir+set}" = set; then 21550 withval="$with_sample_datadir" 21551 coin_has_sample=yes 21552 SAMPLE_DATA="$withval" 21553 fi; 21554 fi 21555 21556 if 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 21568 if 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 21584 echo "${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 21592 echo "${ECHO_T}not given: $SAMPLE_PKG_ERRORS" >&6 21593 21594 fi 21595 else 21596 { { echo "$as_me:$LINENO: error: \"Cannot check for existance of module Sample without pkg-config\"" >&5 21597 echo "$as_me: error: \"Cannot check for existance of module Sample without pkg-config\"" >&2;} 21598 { (exit 1); exit 1; }; } 21599 fi 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 21609 if test x$coin_has_sample != "xyes" ; then 21610 21611 21612 21613 coin_has_sample=notGiven 21614 21615 # check if user wants to skip module in any case 21616 if 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 21622 fi 21623 21624 SAMPLE_LIBS= 21625 SAMPLE_CFLAGS= 21626 SAMPLE_DATA= 21627 21628 21629 if 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 21652 cat >>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 21660 echo "${ECHO_T}../Data/Sample" >&6 21661 else 21662 echo "$as_me:$LINENO: result: $coin_has_sample" >&5 21663 echo "${ECHO_T}$coin_has_sample" >&6 21664 fi 21665 else 21666 echo "$as_me:$LINENO: result: skipping" >&5 21667 echo "${ECHO_T}skipping" >&6 21668 fi 21669 21670 #if user did not disable setting of makefile conditional, do it 21671 21672 21673 if test $coin_has_sample != notGiven && 21674 test $coin_has_sample != skipping; then 21675 COIN_HAS_SAMPLE_TRUE= 21676 COIN_HAS_SAMPLE_FALSE='#' 21677 else 21678 COIN_HAS_SAMPLE_TRUE='#' 21679 COIN_HAS_SAMPLE_FALSE= 21680 fi 21681 21682 21683 fi 21684 21685 21686 fi 21687 21688 else 21689 echo "$as_me:$LINENO: result: $coin_has_sample" >&5 21690 echo "${ECHO_T}$coin_has_sample" >&6 21691 fi 21692 21693 if 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 21698 echo "$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 21702 echo "$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 21706 echo "$as_me: Sample DATA is $SAMPLE_DATA" >&6;} 21707 fi 21708 fi 21709 21710 cat >>confdefs.h <<\_ACEOF 21711 #define COIN_HAS_SAMPLE 1 21712 _ACEOF 21713 21714 fi 21715 21716 # Define the Makefile conditional 21717 21718 21719 if test $coin_has_sample != notGiven && 21720 test $coin_has_sample != skipping; then 21721 COIN_HAS_SAMPLE_TRUE= 21722 COIN_HAS_SAMPLE_FALSE='#' 21723 else 21724 COIN_HAS_SAMPLE_TRUE='#' 21725 COIN_HAS_SAMPLE_FALSE= 21726 fi 21727 21728 21729 21730 21731 echo "$as_me:$LINENO: checking for COIN-OR module Netlib" >&5 21732 echo $ECHO_N "checking for COIN-OR module Netlib... $ECHO_C" >&6 21733 21734 coin_has_netlib=notGiven 21735 21736 # check if user wants to skip module in any case 21737 if 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 21743 fi 21744 21745 NETLIB_LIBS= 21746 NETLIB_CFLAGS= 21747 NETLIB_DATA= 21748 21749 21750 21751 21752 21753 #check if user provided LIBS, CFLAGS, and DATA for module 21754 if test $coin_has_netlib != skipping; then 21755 21756 21757 # Check whether --with-m4_tolower(Netlib)-lib or --without-m4_tolower(Netlib)-lib was given. 21758 if test "${with_netlib_lib+set}" = set; then 21759 withval="$with_netlib_lib" 21760 coin_has_netlib=yes 21761 NETLIB_LIBS="$withval" 21762 21763 21764 fi; 21765 21766 21767 # Check whether --with-m4_tolower(Netlib)-incdir or --without-m4_tolower(Netlib)-incdir was given. 21768 if test "${with_netlib_incdir+set}" = set; then 21769 withval="$with_netlib_incdir" 21770 coin_has_netlib=yes 21771 NETLIB_CFLAGS="-I`${CYGPATH_W} $withval`" 21772 fi; 21773 21774 21775 # Check whether --with-m4_tolower(Netlib)-datadir or --without-m4_tolower(Netlib)-datadir was given. 21776 if test "${with_netlib_datadir+set}" = set; then 21777 withval="$with_netlib_datadir" 21778 coin_has_netlib=yes 21779 NETLIB_DATA="$withval" 21780 fi; 21781 fi 21782 21783 if 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 21795 if 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 21811 echo "${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 21819 echo "${ECHO_T}not given: $NETLIB_PKG_ERRORS" >&6 21820 21821 fi 21822 else 21823 { { echo "$as_me:$LINENO: error: \"Cannot check for existance of module Netlib without pkg-config\"" >&5 21824 echo "$as_me: error: \"Cannot check for existance of module Netlib without pkg-config\"" >&2;} 21825 { (exit 1); exit 1; }; } 21826 fi 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 21836 if test x$coin_has_netlib != "xyes" ; then 21837 21838 21839 21840 coin_has_netlib=notGiven 21841 21842 # check if user wants to skip module in any case 21843 if 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 21849 fi 21850 21851 NETLIB_LIBS= 21852 NETLIB_CFLAGS= 21853 NETLIB_DATA= 21854 21855 21856 if 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 21879 cat >>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 21887 echo "${ECHO_T}../Data/Netlib" >&6 21888 else 21889 echo "$as_me:$LINENO: result: $coin_has_netlib" >&5 21890 echo "${ECHO_T}$coin_has_netlib" >&6 21891 fi 21892 else 21893 echo "$as_me:$LINENO: result: skipping" >&5 21894 echo "${ECHO_T}skipping" >&6 21895 fi 21896 21897 #if user did not disable setting of makefile conditional, do it 21898 21899 21900 if test $coin_has_netlib != notGiven && 21901 test $coin_has_netlib != skipping; then 21902 COIN_HAS_NETLIB_TRUE= 21903 COIN_HAS_NETLIB_FALSE='#' 21904 else 21905 COIN_HAS_NETLIB_TRUE='#' 21906 COIN_HAS_NETLIB_FALSE= 21907 fi 21908 21909 21910 fi 21911 21912 21913 fi 21914 21915 else 21916 echo "$as_me:$LINENO: result: $coin_has_netlib" >&5 21917 echo "${ECHO_T}$coin_has_netlib" >&6 21918 fi 21919 21920 if 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 21925 echo "$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 21929 echo "$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 21933 echo "$as_me: Netlib DATA is $NETLIB_DATA" >&6;} 21934 fi 21935 fi 21936 21937 cat >>confdefs.h <<\_ACEOF 21938 #define COIN_HAS_NETLIB 1 21939 _ACEOF 21940 21941 fi 21942 21943 # Define the Makefile conditional 21944 21945 21946 if test $coin_has_netlib != notGiven && 21947 test $coin_has_netlib != skipping; then 21948 COIN_HAS_NETLIB_TRUE= 21949 COIN_HAS_NETLIB_FALSE='#' 21950 else 21951 COIN_HAS_NETLIB_TRUE='#' 21952 COIN_HAS_NETLIB_FALSE= 21953 fi 21954 21955 20528 21956 20529 21957 … … 21017 22445 # Here list all the files that configure should create (except for the 21018 22446 # 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 22450 if 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 22453 fi 21021 22454 21022 22455 # Here put the location and name of the configuration header file … … 21082 22515 fi 21083 22516 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 21084 22527 cat >confcache <<\_ACEOF 21085 22528 # This file is a shell script that caches the results of configure … … 21215 22658 { (exit 1); exit 1; }; } 21216 22659 fi 22660 if 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. 22662 Usually this means the macro was only invoked conditionally." >&5 22663 echo "$as_me: error: conditional \"COIN_HAS_PKGCONFIG\" was never defined. 22664 Usually this means the macro was only invoked conditionally." >&2;} 22665 { (exit 1); exit 1; }; } 22666 fi 21217 22667 if test -z "${COIN_HAS_COINUTILS_TRUE}" && test -z "${COIN_HAS_COINUTILS_FALSE}"; then 21218 22668 { { echo "$as_me:$LINENO: error: conditional \"COIN_HAS_COINUTILS\" was never defined. … … 21222 22672 { (exit 1); exit 1; }; } 21223 22673 fi 21224 if test -z "${COIN_HAS_C LP_TRUE}" && test -z "${COIN_HAS_CLP_FALSE}"; then21225 { { echo "$as_me:$LINENO: error: conditional \"COIN_HAS_C LP\" was never defined.22674 if 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. 21226 22676 Usually this means the macro was only invoked conditionally." >&5 21227 echo "$as_me: error: conditional \"COIN_HAS_CLP\" was never defined. 22677 echo "$as_me: error: conditional \"COIN_HAS_COINUTILS\" was never defined. 22678 Usually this means the macro was only invoked conditionally." >&2;} 22679 { (exit 1); exit 1; }; } 22680 fi 22681 if 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. 22683 Usually this means the macro was only invoked conditionally." >&5 22684 echo "$as_me: error: conditional \"COIN_HAS_OSI\" was never defined. 22685 Usually this means the macro was only invoked conditionally." >&2;} 22686 { (exit 1); exit 1; }; } 22687 fi 22688 if 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. 22690 Usually this means the macro was only invoked conditionally." >&5 22691 echo "$as_me: error: conditional \"COIN_HAS_OSI\" was never defined. 22692 Usually this means the macro was only invoked conditionally." >&2;} 22693 { (exit 1); exit 1; }; } 22694 fi 22695 if 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. 22697 Usually this means the macro was only invoked conditionally." >&5 22698 echo "$as_me: error: conditional \"COIN_HAS_OSITESTS\" was never defined. 22699 Usually this means the macro was only invoked conditionally." >&2;} 22700 { (exit 1); exit 1; }; } 22701 fi 22702 if 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. 22704 Usually this means the macro was only invoked conditionally." >&5 22705 echo "$as_me: error: conditional \"COIN_HAS_OSITESTS\" was never defined. 22706 Usually this means the macro was only invoked conditionally." >&2;} 22707 { (exit 1); exit 1; }; } 22708 fi 22709 if 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. 22711 Usually this means the macro was only invoked conditionally." >&5 22712 echo "$as_me: error: conditional \"COIN_HAS_SAMPLE\" was never defined. 22713 Usually this means the macro was only invoked conditionally." >&2;} 22714 { (exit 1); exit 1; }; } 22715 fi 22716 if 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. 22718 Usually this means the macro was only invoked conditionally." >&5 22719 echo "$as_me: error: conditional \"COIN_HAS_SAMPLE\" was never defined. 22720 Usually this means the macro was only invoked conditionally." >&2;} 22721 { (exit 1); exit 1; }; } 22722 fi 22723 if 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. 22725 Usually this means the macro was only invoked conditionally." >&5 22726 echo "$as_me: error: conditional \"COIN_HAS_NETLIB\" was never defined. 22727 Usually this means the macro was only invoked conditionally." >&2;} 22728 { (exit 1); exit 1; }; } 22729 fi 22730 if 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. 22732 Usually this means the macro was only invoked conditionally." >&5 22733 echo "$as_me: error: conditional \"COIN_HAS_NETLIB\" was never defined. 21228 22734 Usually this means the macro was only invoked conditionally." >&2;} 21229 22735 { (exit 1); exit 1; }; } … … 21676 23182 "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; 21677 23183 "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; 23184 "src/OsiClp/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/OsiClp/Makefile" ;; 21678 23185 "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" ;; 21680 23190 "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; 21681 23191 "inc/config_clp.h" ) CONFIG_HEADERS="$CONFIG_HEADERS inc/config_clp.h" ;; … … 21773 23283 s,@ALWAYS_FALSE_TRUE@,$ALWAYS_FALSE_TRUE,;t t 21774 23284 s,@ALWAYS_FALSE_FALSE@,$ALWAYS_FALSE_FALSE,;t t 23285 s,@have_svnversion@,$have_svnversion,;t t 23286 s,@_SVN_REV@,$_SVN_REV,;t t 21775 23287 s,@CDEFS@,$CDEFS,;t t 21776 23288 s,@ADD_CFLAGS@,$ADD_CFLAGS,;t t … … 21864 23376 s,@RPATH_FLAGS@,$RPATH_FLAGS,;t t 21865 23377 s,@LT_LDFLAGS@,$LT_LDFLAGS,;t t 21866 s,@COINUTILSSRCDIR@,$COINUTILSSRCDIR,;t t 21867 s,@COINUTILSOBJDIR@,$COINUTILSOBJDIR,;t t 21868 s,@COINUTILSDOCDIR@,$COINUTILSDOCDIR,;t t 23378 s,@PKG_CONFIG@,$PKG_CONFIG,;t t 23379 s,@ac_pt_PKG_CONFIG@,$ac_pt_PKG_CONFIG,;t t 23380 s,@COIN_HAS_PKGCONFIG_TRUE@,$COIN_HAS_PKGCONFIG_TRUE,;t t 23381 s,@COIN_HAS_PKGCONFIG_FALSE@,$COIN_HAS_PKGCONFIG_FALSE,;t t 23382 s,@COIN_PKG_CONFIG_PATH@,$COIN_PKG_CONFIG_PATH,;t t 23383 s,@COINUTILS_LIBS@,$COINUTILS_LIBS,;t t 23384 s,@COINUTILS_CFLAGS@,$COINUTILS_CFLAGS,;t t 23385 s,@COINUTILS_DATA@,$COINUTILS_DATA,;t t 23386 s,@REQUIREDPACKAGES@,$REQUIREDPACKAGES,;t t 21869 23387 s,@COIN_HAS_COINUTILS_TRUE@,$COIN_HAS_COINUTILS_TRUE,;t t 21870 23388 s,@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 23389 s,@OSI_LIBS@,$OSI_LIBS,;t t 23390 s,@OSI_CFLAGS@,$OSI_CFLAGS,;t t 23391 s,@OSI_DATA@,$OSI_DATA,;t t 23392 s,@COIN_HAS_OSI_TRUE@,$COIN_HAS_OSI_TRUE,;t t 23393 s,@COIN_HAS_OSI_FALSE@,$COIN_HAS_OSI_FALSE,;t t 23394 s,@OSITESTS_LIBS@,$OSITESTS_LIBS,;t t 23395 s,@OSITESTS_CFLAGS@,$OSITESTS_CFLAGS,;t t 23396 s,@OSITESTS_DATA@,$OSITESTS_DATA,;t t 23397 s,@COIN_HAS_OSITESTS_TRUE@,$COIN_HAS_OSITESTS_TRUE,;t t 23398 s,@COIN_HAS_OSITESTS_FALSE@,$COIN_HAS_OSITESTS_FALSE,;t t 23399 s,@SAMPLE_LIBS@,$SAMPLE_LIBS,;t t 23400 s,@SAMPLE_CFLAGS@,$SAMPLE_CFLAGS,;t t 23401 s,@SAMPLE_DATA@,$SAMPLE_DATA,;t t 23402 s,@COIN_HAS_SAMPLE_TRUE@,$COIN_HAS_SAMPLE_TRUE,;t t 23403 s,@COIN_HAS_SAMPLE_FALSE@,$COIN_HAS_SAMPLE_FALSE,;t t 23404 s,@NETLIB_LIBS@,$NETLIB_LIBS,;t t 23405 s,@NETLIB_CFLAGS@,$NETLIB_CFLAGS,;t t 23406 s,@NETLIB_DATA@,$NETLIB_DATA,;t t 23407 s,@COIN_HAS_NETLIB_TRUE@,$COIN_HAS_NETLIB_TRUE,;t t 23408 s,@COIN_HAS_NETLIB_FALSE@,$COIN_HAS_NETLIB_FALSE,;t t 21876 23409 s,@LIBEXT@,$LIBEXT,;t t 21877 23410 s,@VPATH_DISTCLEANFILES@,$VPATH_DISTCLEANFILES,;t t 23411 s,@ABSBUILDDIR@,$ABSBUILDDIR,;t t 21878 23412 s,@LIBOBJS@,$LIBOBJS,;t t 21879 23413 s,@LTLIBOBJS@,$LTLIBOBJS,;t t -
trunk/Clp/configure.ac
r1557 r1559 13 13 AC_PREREQ(2.59) 14 14 15 AC_INIT([Clp],[trunk],[c oin-clp@list.coin-or.org])15 AC_INIT([Clp],[trunk],[clp@list.coin-or.org]) 16 16 17 17 AC_COPYRIGHT([ … … 23 23 # List one file in the package so that the configure script can test 24 24 # whether the package is actually there 25 AC_CONFIG_SRCDIR(src/Clp CholeskyBase.cpp)25 AC_CONFIG_SRCDIR(src/ClpSimplex.cpp) 26 26 27 27 # Where should everything be installed by default? Here, we want it … … 54 54 55 55 ############################################################################# 56 # COIN components#56 # COIN-OR components # 57 57 ############################################################################# 58 58 59 AC_COIN_HAS_PROJECT(CoinUtils) 60 AC_COIN_HAS_PROJECT(Clp) 59 AC_COIN_HAS_MODULE(CoinUtils, [coinutils = trunk]) 60 if 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]) 66 fi 67 AC_COIN_HAS_MODULE_FALLBACK(CoinUtils, [coinutils], [../CoinUtils]) 68 if test $coin_has_coinutils != yes ; then 69 AC_MSG_ERROR([Required package CoinUtils not available.]) 70 fi 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 73 COINUTILS_LIBS="$COINUTILS_LIBS $BLAS_LIBS $LAPACK_LIBS" 74 75 AC_COIN_HAS_MODULE(Osi, [osi], [required=0], [../Osi]) 76 AC_COIN_HAS_MODULE(OsiTests, [osi-unittests], [required=0], [../Osi]) 77 AC_COIN_HAS_MODULE(Sample, [coindatasample], [required=0], [../Data/Sample]) 78 AC_COIN_HAS_MODULE(Netlib, [coindatanetlib], [required=0], [../Data/Netlib]) 61 79 62 80 ############################################################################# … … 126 144 examples/Makefile 127 145 src/Makefile 146 src/OsiClp/Makefile 128 147 test/Makefile 129 clp_addlibs.txt]) 148 clp.pc 149 clp-uninstalled.pc]) 150 151 if 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]) 154 fi 130 155 131 156 # Here put the location and name of the configuration header file -
trunk/Clp/examples/Makefile.in
r1265 r1559 42 42 43 43 # C++ Compiler options 44 CXXFLAGS = @CXXFLAGS@ 44 CXXFLAGS = @CXXFLAGS@ -DSAMPLEDIR=\"@SAMPLE_DATA@\" -DNETLIBDIR=\"@NETLIB_DATA@\" 45 45 46 46 # additional C++ Compiler options for linking … … 51 51 52 52 # C Compiler options 53 CFLAGS = @CFLAGS@ 53 CFLAGS = @CFLAGS@ -DSAMPLEDIR=\"@SAMPLE_DATA@\" -DNETLIBDIR=\"@NETLIB_DATA@\" 54 54 55 55 # Directory with COIN header files … … 57 57 58 58 # Directory with COIN libraries 59 COINLIBDIR = @abs_lib_dir@ 59 COINLIBDIR = @abs_lib_dir@/coin 60 60 61 61 # Libraries necessary to link with Clp 62 LIBS = -L$(COINLIBDIR) -lClp -lCoinUtils \ 63 @ADDLIBS@ `cat @COINUTILSDOCDIR@/coinutils_addlibs.txt` 62 LIBS = @COINUTILS_LIBS@ -L`$(CYGPATH_W) $(COINLIBDIR)` -lClp @ADDLIBS@ 64 63 65 64 # Necessary Include dirs (we use the CYGPATH_W variables to allow 66 65 # compilation with Windows compilers) 67 INCL = -I`$(CYGPATH_W) $(COININCDIR)` $(ADDINCFLAGS)66 INCL = @COINUTILS_CFLAGS@ -I`$(CYGPATH_W) $(COININCDIR)` $(ADDINCFLAGS) 68 67 69 68 # The following is necessary under cygwin, if native compilers are used -
trunk/Clp/examples/addBits.cpp
r1552 r1559 25 25 (you can have as many different strings as you want) 26 26 */ 27 #include "ClpConfig.h" 27 28 #include "ClpSimplex.hpp" 28 29 #include "CoinHelperFunctions.hpp" … … 32 33 #include <cassert> 33 34 34 int main 35 int main(int argc, const char *argv[]) 35 36 { 36 37 // Empty model 37 38 ClpSimplex model; 38 std::string mpsFileName = "../../Data/Netlib/25fv47.mps";39 std::string mpsFileName; 39 40 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 } 40 49 int status = model.readMps(mpsFileName.c_str(), true); 41 50 … … 160 169 int numberErrors = model2.loadProblem(build); 161 170 // should fail as we never set multiplier 162 assert 171 assert(numberErrors); 163 172 time3 = CoinCpuTime() - time2; 164 173 // subtract out unsuccessful times … … 167 176 build.associateElement("multiplier", 0.0); 168 177 numberErrors = model2.loadProblem(build); 169 assert 178 assert(!numberErrors); 170 179 time3 = CoinCpuTime(); 171 180 printf("Time for build using CoinModel is %g (%g for successful loadproblem)\n", time3 - time1, … … 176 185 build.associateElement("multiplier", multiplier); 177 186 numberErrors = model2.loadProblem(build, true); 178 assert 187 assert(!numberErrors); 179 188 model2.dual(); 180 189 } -
trunk/Clp/examples/addColumns.cpp
r1552 r1559 13 13 #include <cassert> 14 14 15 int main 15 int main(int argc, const char *argv[]) 16 16 { 17 17 { … … 61 61 double time1 = CoinCpuTime(); 62 62 int k; 63 for ( 63 for (k = 0; k < 10000; k++) { 64 64 int column2Index[] = {0, 1}; 65 65 double column2Value[] = {1.0, -5.0}; … … 73 73 CoinBuild buildObject; 74 74 time1 = CoinCpuTime(); 75 for ( 75 for (k = 0; k < 100000; k++) { 76 76 int column2Index[] = {0, 1}; 77 77 double column2Value[] = {1.0, -5.0}; … … 88 88 CoinBuild buildObject2; 89 89 time1 = CoinCpuTime(); 90 for ( 90 for (k = 0; k < 10000; k++) { 91 91 int column2Index[] = {0, 1}; 92 92 double column2Value[] = {1.0, 1.0, -1.0}; … … 103 103 CoinModel modelObject2; 104 104 time1 = CoinCpuTime(); 105 for ( 105 for (k = 0; k < 10000; k++) { 106 106 int column2Index[] = {0, 1}; 107 107 double column2Value[] = {1.0, 1.0, -1.0}; … … 118 118 CoinModel modelObject; 119 119 time1 = CoinCpuTime(); 120 for ( 120 for (k = 0; k < 100000; k++) { 121 121 int column2Index[] = {0, 1}; 122 122 double column2Value[] = {1.0, -5.0}; … … 183 183 ClpSimplex model; 184 184 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 188 193 status = model.readMps(argv[1]); 189 194 if (status) { … … 227 232 ClpSimplex model; 228 233 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 232 242 status = model.readMps(argv[1]); 233 243 if (status) { -
trunk/Clp/examples/addRows.cpp
r1552 r1559 13 13 #include <cassert> 14 14 15 int main 15 int main(int argc, const char *argv[]) 16 16 { 17 17 try { … … 67 67 double time1 = CoinCpuTime(); 68 68 int k; 69 for ( 69 for (k = 0; k < 10000; k++) { 70 70 int row2Index[] = {0, 1, 2}; 71 71 double row2Value[] = {1.0, -5.0, 1.0}; … … 79 79 CoinBuild buildObject; 80 80 time1 = CoinCpuTime(); 81 for ( 81 for (k = 0; k < 10000; k++) { 82 82 int row2Index[] = {0, 1, 2}; 83 83 double row2Value[] = {1.0, -5.0, 1.0}; … … 94 94 CoinBuild buildObject2; 95 95 time1 = CoinCpuTime(); 96 for ( 96 for (k = 0; k < 10000; k++) { 97 97 int row2Index[] = {0, 1, 2}; 98 98 double row2Value[] = {1.0, -1.0, 1.0}; … … 108 108 CoinModel modelObject2; 109 109 time1 = CoinCpuTime(); 110 for ( 110 for (k = 0; k < 10000; k++) { 111 111 int row2Index[] = {0, 1, 2}; 112 112 double row2Value[] = {1.0, -1.0, 1.0}; … … 121 121 CoinModel modelObject3; 122 122 time1 = CoinCpuTime(); 123 for ( 123 for (k = 0; k < 10000; k++) { 124 124 int row2Index[] = {0, 1, 2}; 125 125 double row2Value[] = {1.0, -1.0, 1.0}; … … 135 135 CoinModel modelObject; 136 136 time1 = CoinCpuTime(); 137 for ( 137 for (k = 0; k < 10000; k++) { 138 138 int row2Index[] = {0, 1, 2}; 139 139 double row2Value[] = {1.0, -5.0, 1.0}; … … 266 266 CoinBuild buildObject3; 267 267 time1 = CoinCpuTime(); 268 for ( 268 for (k = 0; k < 10000; k++) { 269 269 int row2Index[] = {0, 1, 2}; 270 270 double row2Value[] = {1.0, -1.0, 1.0}; -
trunk/Clp/examples/decomp2.cpp
r1552 r1559 3 3 // Corporation and others. All Rights Reserved. 4 4 5 #include "ClpConfig.h" 5 6 #include "ClpSimplex.hpp" 6 7 #include "CoinStructuredModel.hpp" 7 8 #include <iomanip> 8 9 9 int main 10 int main(int argc, const char *argv[]) 10 11 { 11 12 /* Create a structured model by reading mps file and trying … … 13 14 */ 14 15 // 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" 16 18 : 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 17 26 if (!model.numberRows()) 18 27 exit(10); -
trunk/Clp/examples/decomp3.cpp
r1552 r1559 3 3 // Corporation and others. All Rights Reserved. 4 4 5 #include "ClpConfig.h" 5 6 #include "ClpSimplex.hpp" 6 7 #include "ClpPresolve.hpp" … … 9 10 #include <iomanip> 10 11 11 int main 12 int main(int argc, const char *argv[]) 12 13 { 13 14 /* Create a structured model by reading mps file and trying … … 31 32 //#define PRESOLVE 32 33 #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" 34 36 : 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 35 44 if (!model.numberRows()) 36 45 exit(10); … … 49 58 #else 50 59 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" 52 62 : 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 53 70 if (status) { 54 71 fprintf(stdout, "Bad readMps %s\n", argv[1]); … … 76 93 return 0; 77 94 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 79 104 time1 = CoinCpuTime() ; 80 105 solver2.dual(); -
trunk/Clp/examples/decompose.cpp
r1552 r1559 3 3 // Corporation and others. All Rights Reserved. 4 4 5 #include "ClpConfig.h" 5 6 #include "ClpSimplex.hpp" 6 7 #include "CoinMpsIO.hpp" 7 8 #include <iomanip> 8 9 9 int main 10 int main(int argc, const char *argv[]) 10 11 { 11 12 ClpSimplex model; … … 13 14 // Keep names 14 15 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 17 22 } else { 18 23 status = model.readMps(argv[1], true); … … 115 120 } 116 121 } else { 117 assert 122 assert(columnBlock[iColumn] == numberBlocks - 1); 118 123 } 119 124 } … … 296 301 dual = master.dualRowSolution(); 297 302 memset(master.dualRowSolution(), 298 0, (numberMasterRows + numberBlocks) *sizeof(double));303 0, (numberMasterRows + numberBlocks) *sizeof(double)); 299 304 } else { 300 305 abort(); … … 442 447 if (whichBlock[i-numberMasterColumns] == iBlock) 443 448 sol[i] = solution[i]; 444 memset(lower, 0, (numberMasterRows + numberBlocks) *sizeof(double));449 memset(lower, 0, (numberMasterRows + numberBlocks) *sizeof(double)); 445 450 master.times(1.0, sol, lower); 446 451 for (iRow = 0; iRow < numberMasterRows; iRow++) { -
trunk/Clp/examples/defaults.cpp
r1552 r1559 8 8 #include <iomanip> 9 9 10 int main 10 int main(int argc, const char *argv[]) 11 11 { 12 12 ClpSimplex model; 13 13 int status; 14 14 // 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 18 23 status = model.readMps(argv[1], true); 19 24 /* … … 70 75 model.setPrimalTolerance(value); 71 76 72 model.setDualTolerance( 77 model.setDualTolerance(model.dualTolerance()) ; 73 78 74 79 // Other Param stuff -
trunk/Clp/examples/driver.cpp
r1552 r1559 6 6 #include <iomanip> 7 7 8 int main 8 int main(int argc, const char *argv[]) 9 9 { 10 10 ClpSimplex model; 11 11 int status; 12 12 // 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 16 21 status = model.readMps(argv[1], true); 17 22 -
trunk/Clp/examples/driver2.cpp
r1552 r1559 55 55 MyMessageHandler(const CoinMessageHandler&); 56 56 57 MyMessageHandler& operator= (const MyMessageHandler&);57 MyMessageHandler& operator= (const MyMessageHandler&); 58 58 /// Clone 59 59 virtual CoinMessageHandler * clone() const ; … … 78 78 // Default Constructor 79 79 //------------------------------------------------------------------- 80 MyMessageHandler::MyMessageHandler 80 MyMessageHandler::MyMessageHandler() 81 81 : CoinMessageHandler(), 82 82 model_(NULL) … … 87 87 // Copy constructor 88 88 //------------------------------------------------------------------- 89 MyMessageHandler::MyMessageHandler 89 MyMessageHandler::MyMessageHandler(const MyMessageHandler & rhs) 90 90 : CoinMessageHandler(rhs), 91 91 model_(rhs.model_) … … 93 93 } 94 94 95 MyMessageHandler::MyMessageHandler 95 MyMessageHandler::MyMessageHandler(const CoinMessageHandler & rhs) 96 96 : CoinMessageHandler(), 97 97 model_(NULL) … … 110 110 // Destructor 111 111 //------------------------------------------------------------------- 112 MyMessageHandler::~MyMessageHandler 112 MyMessageHandler::~MyMessageHandler() 113 113 { 114 114 } … … 118 118 //------------------------------------------------------------------- 119 119 MyMessageHandler & 120 MyMessageHandler::operator= (const MyMessageHandler& rhs)120 MyMessageHandler::operator= (const MyMessageHandler & rhs) 121 121 { 122 122 if (this != &rhs) { 123 CoinMessageHandler::operator= (rhs);123 CoinMessageHandler::operator= (rhs); 124 124 model_ = rhs.model_; 125 125 } … … 174 174 } 175 175 176 int main 176 int main(int argc, const char *argv[]) 177 177 { 178 178 ClpSimplex model; … … 183 183 int status; 184 184 // 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 188 193 status = model.readMps(argv[1], true); 189 194 -
trunk/Clp/examples/driverC.c
r1552 r1559 5 5 /* This example shows the use of the "C" interface */ 6 6 7 #include "ClpConfig.h" 7 8 #include "Clp_C_Interface.h" 8 9 #include <stdio.h> … … 19 20 if (messageNumber == 1000002) { 20 21 /* Coin0002 */ 21 assert 22 assert(nString == 1 && nInt == 3); 22 23 printf("Name of problem is %s\n", vString[0]); 23 24 printf("row %d col %d el %d\n", vInt[0], vInt[1], vInt[2]); … … 25 26 /* Clp0005 */ 26 27 int i; 27 assert (nInt == 4 && nDouble == 3);/* they may not all print */28 assert(nInt == 4 && nDouble == 3); /* they may not all print */ 28 29 for (i = 0; i < 3; i++) 29 30 printf("%d %g\n", vInt[i], vDouble[i]); … … 33 34 34 35 35 int main 36 int main(int argc, const char *argv[]) 36 37 { 37 38 /* Get default model */ … … 41 42 Clp_registerCallBack(model, callBack); 42 43 /* 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 46 52 status = Clp_readMps(model, argv[1], 1, 0); 47 53 -
trunk/Clp/examples/dualCuts.cpp
r1552 r1559 20 20 #include <iomanip> 21 21 22 int main 22 int main(int argc, const char *argv[]) 23 23 { 24 24 ClpSimplex model; -
trunk/Clp/examples/ekk.cpp
r1552 r1559 49 49 #include <stdarg.h> 50 50 51 int main 51 int main(int argc, const char *argv[]) 52 52 { 53 53 const char * name; … … 62 62 EKKContext * context; 63 63 64 if ( argc > 1) {64 if (argc > 1) { 65 65 name = argv[1]; 66 66 } 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 } 69 74 70 /* initialize OSL environment */71 context = ekk_initializeContext();75 /* initialize OSL environment */ 76 context = ekk_initializeContext(); 72 77 model = ekk_newModel(context, ""); 73 78 … … 143 148 } 144 149 if (useosl == 2) 145 ekk_allSlackBasis(model); // otherwise it would be easy150 ekk_allSlackBasis(model); // otherwise it would be easy 146 151 } 147 152 if ((useosl & 2) == 0) { -
trunk/Clp/examples/ekk_interface.cpp
r1552 r1559 168 168 int numberRows = ekk_getInumrows(model); 169 169 int numberColumns = ekk_getInumcols(model); 170 int * rowStatus = 170 int * rowStatus = (int *) ekk_rowstat(model); 171 171 double * rowSolution = (double *) ekk_rowacts(model); 172 172 int i; 173 173 int * columnStatus = (int *) ekk_colstat(model); 174 double * columnSolution = 174 double * columnSolution = (double *) ekk_colsol(model); 175 175 memcpy(rowSolution, clp->primalRowSolution(), numberRows * sizeof(double)); 176 176 memcpy(rowDual, clp->dualRowSolution(), numberRows * sizeof(double)); … … 200 200 ekk_setRsumdinf(model, clp->sumDualInfeasibilities()); 201 201 delete clp; 202 if (compressInfo 202 if (compressInfo) 203 203 ekk_decompressModel(model, compressInfo); 204 204 -
trunk/Clp/examples/hello.cpp
r1552 r1559 17 17 #include "ClpSimplex.hpp" 18 18 19 int main 19 int main(int argc, const char *argv[]) 20 20 { 21 21 ClpSimplex model; -
trunk/Clp/examples/makeDual.cpp
r1552 r1559 6 6 #include "CoinHelperFunctions.hpp" 7 7 #include "CoinBuild.hpp" 8 int main 8 int main(int argc, const char *argv[]) 9 9 { 10 10 ClpSimplex model; 11 11 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 15 20 status = model.readMps(argv[1]); 16 21 if (status) { … … 121 126 for (iRow = 0; iRow < numberRows; iRow++) { 122 127 if (rowLower[iRow] <= -1.0e20) { 123 assert 128 assert(rowUpper[iRow] < 1.0e20); 124 129 newObjective[kRow] = -rowUpper[iRow]; 125 130 fromRowsLower[kRow] = -COIN_DBL_MAX; -
trunk/Clp/examples/minimum.cpp
r1552 r1559 4 4 5 5 #include "ClpSimplex.hpp" 6 int main 6 int main(int argc, const char *argv[]) 7 7 { 8 8 ClpSimplex model; 9 9 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 13 18 status = model.readMps(argv[1]); 14 19 if (!status) { -
trunk/Clp/examples/modify.cpp
r1552 r1559 8 8 #include "ClpSimplex.hpp" 9 9 #include "CoinHelperFunctions.hpp" 10 int main 10 int main(int argc, const char *argv[]) 11 11 { 12 12 ClpSimplex model; -
trunk/Clp/examples/myPdco.cpp
r1552 r1559 21 21 // Default Constructor 22 22 //------------------------------------------------------------------- 23 myPdco::myPdco 23 myPdco::myPdco() 24 24 : ClpPdcoBase(), 25 25 rowIndex_(NULL), … … 45 45 // Copy constructor 46 46 //------------------------------------------------------------------- 47 myPdco::myPdco 47 myPdco::myPdco(const myPdco & rhs) 48 48 : ClpPdcoBase(rhs), 49 49 numlinks_(rhs.numlinks_), … … 56 56 // Destructor 57 57 //------------------------------------------------------------------- 58 myPdco::~myPdco 58 myPdco::~myPdco() 59 59 { 60 60 delete [] rowIndex_; … … 65 65 //------------------------------------------------------------------- 66 66 myPdco & 67 myPdco::operator= (const myPdco& rhs)67 myPdco::operator= (const myPdco & rhs) 68 68 { 69 69 if (this != &rhs) { 70 ClpPdcoBase::operator= (rhs);70 ClpPdcoBase::operator= (rhs); 71 71 numlinks_ = rhs.numlinks_; 72 72 numnodes_ = rhs.numnodes_; … … 91 91 y_sum += y_elts[k]; 92 92 int i1 = rowIndex_[2*k]; 93 assert 93 assert(i1 >= 0); 94 94 x_elts[i1] += y_elts[k]; 95 95 int i2 = rowIndex_[2*k+1]; 96 assert 96 assert(i2 >= 0); 97 97 x_elts[i2] -= y_elts[k]; 98 98 } … … 216 216 int nonzpt = 0; 217 217 numlinks_ = 0; 218 while (fscanf(fpData, "%d %d", ifrom, ito) && kct++ < maxlinks) {218 while (fscanf(fpData, "%d %d", ifrom, ito) && kct++ < maxlinks) { 219 219 // while(fread(ipair, 4,2, fpData) && kct++ < maxlinks){ 220 220 if ((*ifrom) < 0) { … … 240 240 fclose(fpData); 241 241 fclose(fpParam); 242 printf 242 printf("imax %d imin %d\n", imax, imin); 243 243 // Set model size 244 244 numnodes_ = imax + 1; -
trunk/Clp/examples/network.cpp
r1552 r1559 18 18 #include <cmath> 19 19 20 int main 20 int main(int argc, const char *argv[]) 21 21 { 22 22 int numberColumns; … … 24 24 25 25 FILE * fp; 26 if ( argc > 1) {26 if (argc > 1) { 27 27 fp = fopen(argv[1], "r"); 28 28 if (!fp) { … … 41 41 // read and skip 42 42 fscanf(fp, "%s", temp); 43 assert 43 assert(!strcmp(temp, "BEGIN")); 44 44 fscanf(fp, "%*s %*s %d %d %*s %*s %d %*s", &problem, &numberRows, 45 45 &numberColumns); -
trunk/Clp/examples/pdco.cpp
r1552 r1559 16 16 #include <cmath> 17 17 18 int main 18 int main(int argc, const char *argv[]) 19 19 { 20 20 … … 57 57 // These are already set? 58 58 model.xsize_ = 50.0 / (model.numberColumns()); 59 model.xsize_ = CoinMin( 59 model.xsize_ = CoinMin(1.0, model.xsize_); 60 60 61 61 /* 62 62 * Solve the test problem 63 63 */ 64 model.pdco( 64 model.pdco(&stuff, options, info, outfo); 65 65 66 66 /* -
trunk/Clp/examples/piece.cpp
r1552 r1559 11 11 #include <iomanip> 12 12 13 int main 13 int main(int argc, const char *argv[]) 14 14 { 15 15 int status; … … 115 115 double obj2 = objective1[iColumn+1]; 116 116 double sol2 = oldSolution[iColumn+1]; 117 if (fabs(up1 - lo2) > 1.0e-8) {117 if (fabs(up1 - lo2) > 1.0e-8) { 118 118 // try other way 119 119 double temp; … … 202 202 // Create nonlinear objective 203 203 int returnCode = model.createPiecewiseLinearCosts(segstart, breakpt, slope); 204 assert 204 assert(!returnCode); 205 205 206 206 // delete -
trunk/Clp/examples/rowColumn.cpp
r1552 r1559 15 15 #include <cassert> 16 16 17 int main 17 int main(int argc, const char *argv[]) 18 18 { 19 19 ClpSimplex modelByRow, modelByColumn; … … 61 61 modelByColumn.dual(); 62 62 // check value of objective 63 assert 63 assert(fabs(modelByColumn.objectiveValue() - 76000.0) < 1.0e-7); 64 64 // b) As two steps - first creating a CoinPackedMatrix 65 65 // NULL for column lengths indicate they are stored without gaps … … 75 75 modelByColumn.dual(); 76 76 // check value of objective 77 assert 77 assert(fabs(modelByColumn.objectiveValue() - 76000.0) < 1.0e-7); 78 78 // Now do by row 79 79 // 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 copy80 assert(numberElements == rowStart[numberRows]); // check same number of elements in each copy 81 81 CoinPackedMatrix byRow(false, numberColumns, numberRows, numberElements, 82 82 elementByRow, column, rowStart, NULL); … … 88 88 modelByRow.dual(); 89 89 // check value of objective 90 assert 90 assert(fabs(modelByRow.objectiveValue() - 76000.0) < 1.0e-7); 91 91 // write solution 92 92 const double * solution = modelByRow.primalColumnSolution(); -
trunk/Clp/examples/sprint.cpp
r1552 r1559 7 7 #include <iomanip> 8 8 9 int main 9 int main(int argc, const char *argv[]) 10 10 { 11 11 ClpSimplex model; … … 62 62 // now see what that does to row solution 63 63 double * rowSolution = model.primalRowSolution(); 64 memset 64 memset(rowSolution, 0, numberRows * sizeof(double)); 65 65 model.times(1.0, columnSolution, rowSolution); 66 66 … … 135 135 // now see what variables left out do to row solution 136 136 double * rowSolution = model.primalRowSolution(); 137 memset 137 memset(rowSolution, 0, numberRows * sizeof(double)); 138 138 int iRow, iColumn; 139 139 // zero out ones in small problem -
trunk/Clp/examples/sprint2.cpp
r1552 r1559 8 8 #include <iomanip> 9 9 10 int main 10 int main(int argc, const char *argv[]) 11 11 { 12 12 ClpSimplex model; … … 84 84 if (iPass) { 85 85 double ratio = ((double) smallNumberRows) / ((double) model2->numberRows()); 86 smallNumberColumns = (int) 86 smallNumberColumns = (int)(smallNumberColumns * ratio); 87 87 } 88 88 delete model2; -
trunk/Clp/examples/testBarrier.cpp
r1552 r1559 7 7 #include "ClpCholeskyWssmp.hpp" 8 8 #include "ClpCholeskyDense.hpp" 9 int main 9 int main(int argc, const char *argv[]) 10 10 { 11 11 ClpInterior model; 12 12 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 16 21 status = model.readMps(argv[1]); 17 22 if (status) { -
trunk/Clp/examples/testBasis.cpp
r1552 r1559 8 8 #include <cassert> 9 9 10 int main 10 int main(int argc, const char *argv[]) 11 11 { 12 12 ClpSimplex model; -
trunk/Clp/examples/testGub.cpp
r1552 r1559 3 3 // Corporation and others. All Rights Reserved. 4 4 5 #include "ClpConfig.h" 5 6 #include "ClpSimplex.hpp" 6 7 #include "ClpDynamicExampleMatrix.hpp" … … 10 11 #include "CoinTime.hpp" 11 12 #include "CoinMpsIO.hpp" 12 int main 13 int main(int argc, const char *argv[]) 13 14 { 14 15 ClpSimplex model; … … 16 17 int maxFactor = 100; 17 18 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"); 19 21 if (status) { 20 22 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 23 29 } else { 24 30 status = model.readMps(argv[1]); … … 245 251 printf("** While after adding matrix there are %d rows and %d columns\n", 246 252 model2.numberRows(), model2.numberColumns()); 247 model2.setSpecialOptions(4); // exactly to bound253 model2.setSpecialOptions(4); // exactly to bound 248 254 // For now scaling off 249 255 model2.scaling(0); … … 261 267 ClpDynamicMatrix * oldMatrix = 262 268 dynamic_cast< ClpDynamicMatrix*>(model2.clpMatrix()); 263 assert 269 assert(oldMatrix); 264 270 ClpDynamicMatrix * newMatrix = new 265 271 ClpDynamicMatrix(&model3, numberGub, … … 272 278 // and ordinary status (but only NON gub rows) 273 279 memcpy(model3.statusArray(), model2.statusArray(), 274 (newMatrix->numberStaticRows() + model3.numberColumns()) *sizeof(unsigned char));280 (newMatrix->numberStaticRows() + model3.numberColumns()) *sizeof(unsigned char)); 275 281 newMatrix->switchOffCheck(); 276 282 newMatrix->setRefreshFrequency(1000); … … 278 284 ClpDynamicExampleMatrix * oldMatrix = 279 285 dynamic_cast< ClpDynamicExampleMatrix*>(model2.clpMatrix()); 280 assert 286 assert(oldMatrix); 281 287 ClpDynamicExampleMatrix * newMatrix = new 282 288 ClpDynamicExampleMatrix(&model3, numberGub, … … 290 296 // and ordinary status (but only NON gub rows) 291 297 memcpy(model3.statusArray(), model2.statusArray(), 292 (newMatrix->numberStaticRows() + model3.numberColumns()) *sizeof(unsigned char));298 (newMatrix->numberStaticRows() + model3.numberColumns()) *sizeof(unsigned char)); 293 299 newMatrix->switchOffCheck(); 294 300 newMatrix->setRefreshFrequency(1000); 295 301 } 296 model3.setSpecialOptions(4); // exactly to bound302 model3.setSpecialOptions(4); // exactly to bound 297 303 // For now scaling off 298 304 model3.scaling(0); … … 313 319 ClpDynamicMatrix * gubMatrix = 314 320 dynamic_cast< ClpDynamicMatrix*>(model2.clpMatrix()); 315 assert 321 assert(gubMatrix); 316 322 ClpDynamicExampleMatrix * gubMatrix2 = 317 323 dynamic_cast< ClpDynamicExampleMatrix*>(model2.clpMatrix()); … … 330 336 const int * id = gubMatrix->id(); 331 337 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(); 334 340 for (i = 0; i < numberGubColumns; i++) { 335 341 if (gubMatrix->getDynamicStatus(i) == ClpDynamicMatrix::atUpperBound) { … … 409 415 } 410 416 // Coding below may not work if gub rows not at end 411 FILE * fp = fopen 417 FILE * fp = fopen("xx.sol", "w"); 412 418 fwrite(gubSolution, sizeof(double), numberTotalColumns, fp); 413 419 fwrite(status, sizeof(char), numberTotalColumns, fp); … … 417 423 model.times(1.0, gubSolution, rowsol2); 418 424 for (i = 0; i < numberStaticRows; i++) 419 assert 425 assert(fabs(rowsol[i] - rowsol2[i]) < 1.0e-3); 420 426 for (; i < originalNumberRows; i++) 421 assert 422 427 assert(rowsol2[i] > lower[i-numberStaticRows] - 1.0e-3 && 428 rowsol2[i] < upper[i-numberStaticRows] + 1.0e-3); 423 429 //for (;i<originalNumberRows;i++) 424 430 //printf("%d %g\n",i,rowsol2[i]); -
trunk/Clp/examples/testGub2.cpp
r1552 r1559 10 10 #include "CoinTime.hpp" 11 11 #include "CoinMpsIO.hpp" 12 int main 12 int main(int argc, const char *argv[]) 13 13 { 14 14 ClpSimplex model; … … 16 16 int maxIts = 0; 17 17 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 21 26 status = model.readMps(argv[1]); 22 27 if (status) { … … 259 264 ClpGubDynamicMatrix * gubMatrix = 260 265 dynamic_cast< ClpGubDynamicMatrix*>(model2.clpMatrix()); 261 assert 266 assert(gubMatrix); 262 267 const double * solution = model2.primalColumnSolution(); 263 268 int numberGubColumns = gubMatrix->numberGubColumns(); … … 271 276 const int * id = gubMatrix->id(); 272 277 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(); 275 280 for (i = 0; i < numberGubColumns; i++) { 276 281 if (gubMatrix->getDynamicStatus(i) == ClpGubDynamicMatrix::atUpperBound) { … … 350 355 abort(); 351 356 } 352 FILE * fp = fopen 357 FILE * fp = fopen("xx.sol", "w"); 353 358 fwrite(gubSolution, sizeof(double), numberTotalColumns, fp); 354 359 fwrite(status, sizeof(char), numberTotalColumns, fp); … … 359 364 model.times(1.0, gubSolution, rowsol2); 360 365 for (i = 0; i < numberRows; i++) 361 assert 366 assert(fabs(rowsol[i] - rowsol2[i]) < 1.0e-3); 362 367 //for (;i<originalNumberRows;i++) 363 368 //printf("%d %g\n",i,rowsol2[i]); -
trunk/Clp/examples/testQP.cpp
r1552 r1559 9 9 #include "ClpQuadraticObjective.hpp" 10 10 #include <cassert> 11 int main 11 int main(int argc, const char *argv[]) 12 12 { 13 13 /* Read quadratic model in two stages to test loadQuadraticObjective. … … 22 22 if (argc < 2) { 23 23 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 25 30 if (status) { 26 31 printf("errors on input\n"); … … 61 66 int numberColumns = model.numberColumns(); 62 67 int numberRows = model.numberRows(); 63 for ( 68 for (i = 0; i < numberColumns; i++) { 64 69 if (fabs(primal[i]) > 1.0e-8) 65 70 printf("%d primal %g\n", i, primal[i]); 66 71 } 67 for ( 72 for (i = 0; i < numberRows; i++) { 68 73 if (fabs(dual[i]) > 1.0e-8) 69 74 printf("%d dual %g\n", i, dual[i]); … … 103 108 const ClpQuadraticObjective * quadraticObj = 104 109 (dynamic_cast<const ClpQuadraticObjective*>(model.objectiveAsObject())); 105 assert 110 assert(quadraticObj); 106 111 CoinPackedMatrix * quad = quadraticObj->quadraticObjective(); 107 112 const int * columnQuadratic = quad->getIndices(); … … 115 120 memcpy(gradient, quadraticObj->linearObjective(), numberColumns * sizeof(double)); 116 121 int iColumn; 117 for ( 122 for (iColumn = 0; iColumn < numberColumns; iColumn++) { 118 123 double valueI = primal[iColumn]; 119 124 CoinBigIndex j; … … 149 154 const int * columnLength = matrix->getVectorLengths(); 150 155 const double * element = matrix->getElements(); 151 for ( 156 for (iColumn = 0; iColumn < numberColumns; iColumn++) { 152 157 double dj = gradient[iColumn]; 153 158 CoinBigIndex j; … … 158 163 } 159 164 if (model.getColumnStatus(iColumn) == ClpSimplex::basic) { 160 assert 165 assert(fabs(dj) < 1.0e-5); 161 166 } else { 162 assert 167 assert(dj > -1.0e-5); 163 168 } 164 169 } -
trunk/Clp/examples/useVolume.cpp
r1552 r1559 12 12 private: 13 13 lpHook(const lpHook&); 14 lpHook& operator= (const lpHook&);14 lpHook& operator= (const lpHook&); 15 15 private: 16 16 /// Pointer to dense vector of structural variable upper bounds … … 157 157 //############################################################################# 158 158 159 int main 159 int main(int argc, const char *argv[]) 160 160 { 161 161 ClpSimplex model; 162 162 int status; 163 163 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 167 172 status = model.readMps(argv[1], true); 168 173 /* -
trunk/Clp/inc/config_clp.h.in
r1554 r1559 10 10 #undef COIN_CLP_VERBOSITY 11 11 12 /* Define to 1 if the C lp package is used*/13 #undef COIN_HAS_C LP12 /* Define to 1 if the CoinUtils module is available */ 13 #undef COIN_HAS_COINUTILS 14 14 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 17 23 18 24 /* Define to 1 if readline is available */ 19 25 #undef COIN_HAS_READLINE 26 27 /* Define to 1 if the Sample module is available */ 28 #undef COIN_HAS_SAMPLE 20 29 21 30 /* Define to 1 if you have the <dlfcn.h> header file. */ … … 78 87 /* Define to 2 if wssmp_ is available, and to 3 if wssmp is available */ 79 88 #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
- Property svn:mergeinfo changed
/branches/split/Clp/src (added) merged: 1522,1527-1530,1542,1544,1546-1547
- Property svn:mergeinfo changed
-
trunk/Clp/src/Makefile.am
r1344 r1559 9 9 AUTOMAKE_OPTIONS = foreign 10 10 11 if COIN_HAS_OSI 12 SUBDIRS = OsiClp 13 endif 14 11 15 ######################################################################## 12 16 # libClp # … … 15 19 # Name of the library compiled in this directory. We want it to be installed 16 20 # in the 'lib' directory 17 lib_LTLIBRARIES = libClp.la 21 coinlibdir = ${libdir}/coin 22 coinlib_LTLIBRARIES = libClp.la 18 23 19 24 # List all source files for this library, including headers … … 92 97 93 98 # 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` 99 clp_LDADD = libClp.la $(COINUTILS_LIBS) $(ADDLIBS) 99 100 100 101 # Finally, the -rpath flag is used by libtool to make sure that the shared 101 102 # library is found (in the lib install directory) when we are using dynamic 102 103 # libraries. 103 clp_LDFLAGS = -rpath $(libdir) 104 clp_LDFLAGS = -rpath $(libdir)/coin 104 105 105 106 ######################################################################## … … 107 108 ######################################################################## 108 109 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 111 AM_CPPFLAGS = $(COINUTILS_CFLAGS) -DCOIN_HAS_CLP 114 112 115 113 # This line is necessary to allow VPATH compilation with MS compilers … … 169 167 Idiot.hpp 170 168 169 # needed by Cbc 170 includecoin_HEADERS += CbcOrClpParam.cpp 171 171 172 ############################################################################# 172 173 # Create the Config.h file that always defines HAVE_CONFIG_H and install it # -
trunk/Clp/src/Makefile.in
r1344 r1559 63 63 esac; 64 64 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; 65 am__installdirs = "$(DESTDIR)$( libdir)" "$(DESTDIR)$(bindir)" \65 am__installdirs = "$(DESTDIR)$(coinlibdir)" "$(DESTDIR)$(bindir)" \ 66 66 "$(DESTDIR)$(includecoindir)" 67 libLTLIBRARIES_INSTALL = $(INSTALL)68 LTLIBRARIES = $( lib_LTLIBRARIES)67 coinlibLTLIBRARIES_INSTALL = $(INSTALL) 68 LTLIBRARIES = $(coinlib_LTLIBRARIES) 69 69 libClp_la_LIBADD = 70 70 am_libClp_la_OBJECTS = ClpCholeskyBase.lo ClpCholeskyDense.lo \ … … 93 93 unitTest.$(OBJEXT) 94 94 clp_OBJECTS = $(am_clp_OBJECTS) 95 clp_DEPENDENCIES = libClp.la $(COINUTILSOBJDIR)/src/libCoinUtils.la 95 am__DEPENDENCIES_1 = 96 clp_DEPENDENCIES = libClp.la $(am__DEPENDENCIES_1) \ 97 $(am__DEPENDENCIES_1) 96 98 depcomp = $(SHELL) $(top_srcdir)/../depcomp 97 99 am__depfiles_maybe = depfiles … … 114 116 SOURCES = $(libClp_la_SOURCES) $(clp_SOURCES) 115 117 DIST_SOURCES = $(libClp_la_SOURCES) $(clp_SOURCES) 118 RECURSIVE_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 116 124 includecoinHEADERS_INSTALL = $(INSTALL_HEADER) 117 125 HEADERS = $(includecoin_HEADERS) 118 126 ETAGS = etags 119 127 CTAGS = ctags 128 DIST_SUBDIRS = OsiClp 120 129 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 130 ABSBUILDDIR = @ABSBUILDDIR@ 121 131 ACLOCAL = @ACLOCAL@ 122 132 ADDLIBS = @ADDLIBS@ … … 139 149 CDEFS = @CDEFS@ 140 150 CFLAGS = @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@ 151 COINUTILS_CFLAGS = @COINUTILS_CFLAGS@ 152 COINUTILS_DATA = @COINUTILS_DATA@ 153 COINUTILS_LIBS = @COINUTILS_LIBS@ 149 154 COIN_HAS_COINUTILS_FALSE = @COIN_HAS_COINUTILS_FALSE@ 150 155 COIN_HAS_COINUTILS_TRUE = @COIN_HAS_COINUTILS_TRUE@ 156 COIN_HAS_NETLIB_FALSE = @COIN_HAS_NETLIB_FALSE@ 157 COIN_HAS_NETLIB_TRUE = @COIN_HAS_NETLIB_TRUE@ 158 COIN_HAS_OSITESTS_FALSE = @COIN_HAS_OSITESTS_FALSE@ 159 COIN_HAS_OSITESTS_TRUE = @COIN_HAS_OSITESTS_TRUE@ 160 COIN_HAS_OSI_FALSE = @COIN_HAS_OSI_FALSE@ 161 COIN_HAS_OSI_TRUE = @COIN_HAS_OSI_TRUE@ 162 COIN_HAS_PKGCONFIG_FALSE = @COIN_HAS_PKGCONFIG_FALSE@ 163 COIN_HAS_PKGCONFIG_TRUE = @COIN_HAS_PKGCONFIG_TRUE@ 164 COIN_HAS_SAMPLE_FALSE = @COIN_HAS_SAMPLE_FALSE@ 165 COIN_HAS_SAMPLE_TRUE = @COIN_HAS_SAMPLE_TRUE@ 166 COIN_PKG_CONFIG_PATH = @COIN_PKG_CONFIG_PATH@ 151 167 CPP = @CPP@ 152 168 CPPFLAGS = @CPPFLAGS@ … … 179 195 LIBEXT = @LIBEXT@ 180 196 LIBOBJS = @LIBOBJS@ 181 182 # Here we add additional libraries 183 LIBS = @LIBS@ $(ADDLIBS) `cat \ 184 $(COINUTILSOBJDIR)/coinutils_addlibs.txt` 197 LIBS = @LIBS@ 185 198 LIBTOOL = @LIBTOOL@ 186 199 LIBTOOLM4 = @LIBTOOLM4@ … … 194 207 MPICC = @MPICC@ 195 208 MPICXX = @MPICXX@ 209 NETLIB_CFLAGS = @NETLIB_CFLAGS@ 210 NETLIB_DATA = @NETLIB_DATA@ 211 NETLIB_LIBS = @NETLIB_LIBS@ 196 212 OBJEXT = @OBJEXT@ 197 213 OPT_CFLAGS = @OPT_CFLAGS@ 198 214 OPT_CXXFLAGS = @OPT_CXXFLAGS@ 215 OSITESTS_CFLAGS = @OSITESTS_CFLAGS@ 216 OSITESTS_DATA = @OSITESTS_DATA@ 217 OSITESTS_LIBS = @OSITESTS_LIBS@ 218 OSI_CFLAGS = @OSI_CFLAGS@ 219 OSI_DATA = @OSI_DATA@ 220 OSI_LIBS = @OSI_LIBS@ 199 221 PACKAGE = @PACKAGE@ 200 222 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 204 226 PACKAGE_VERSION = @PACKAGE_VERSION@ 205 227 PATH_SEPARATOR = @PATH_SEPARATOR@ 228 PKG_CONFIG = @PKG_CONFIG@ 206 229 RANLIB = @RANLIB@ 230 REQUIREDPACKAGES = @REQUIREDPACKAGES@ 207 231 RPATH_FLAGS = @RPATH_FLAGS@ 232 SAMPLE_CFLAGS = @SAMPLE_CFLAGS@ 233 SAMPLE_DATA = @SAMPLE_DATA@ 234 SAMPLE_LIBS = @SAMPLE_LIBS@ 208 235 SET_MAKE = @SET_MAKE@ 209 236 SHELL = @SHELL@ … … 211 238 VERSION = @VERSION@ 212 239 VPATH_DISTCLEANFILES = @VPATH_DISTCLEANFILES@ 240 _SVN_REV = @_SVN_REV@ 213 241 abs_bin_dir = @abs_bin_dir@ 214 242 abs_include_dir = @abs_include_dir@ … … 223 251 ac_ct_STRIP = @ac_ct_STRIP@ 224 252 ac_cxx_preproc_warn_flag = @ac_cxx_preproc_warn_flag@ 253 ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@ 225 254 am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ 226 255 am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ … … 243 272 have_automake = @have_automake@ 244 273 have_svn = @have_svn@ 274 have_svnversion = @have_svnversion@ 245 275 host = @host@ 246 276 host_alias = @host_alias@ … … 265 295 target_alias = @target_alias@ 266 296 AUTOMAKE_OPTIONS = foreign 297 @COIN_HAS_OSI_TRUE@SUBDIRS = OsiClp 267 298 268 299 ######################################################################## … … 272 303 # Name of the library compiled in this directory. We want it to be installed 273 304 # in the 'lib' directory 274 lib_LTLIBRARIES = libClp.la 305 coinlibdir = ${libdir}/coin 306 coinlib_LTLIBRARIES = libClp.la 275 307 276 308 # List all source files for this library, including headers … … 343 375 344 376 # List all additionally required COIN libraries 345 clp_LDADD = libClp.la \ 346 $(COINUTILSOBJDIR)/src/libCoinUtils.la 347 377 clp_LDADD = libClp.la $(COINUTILS_LIBS) $(ADDLIBS) 348 378 349 379 # Finally, the -rpath flag is used by libtool to make sure that the shared 350 380 # library is found (in the lib install directory) when we are using dynamic 351 381 # libraries. 352 clp_LDFLAGS = -rpath $(libdir) 382 clp_LDFLAGS = -rpath $(libdir)/coin 353 383 354 384 ######################################################################## … … 356 386 ######################################################################## 357 387 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 389 AM_CPPFLAGS = $(COINUTILS_CFLAGS) -DCOIN_HAS_CLP 364 390 365 391 # This line is necessary to allow VPATH compilation with MS compilers … … 374 400 # and that therefore should be installed in 'install/coin' 375 401 includecoindir = $(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 404 includecoin_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 421 422 422 423 ############################################################################# … … 426 427 # You only need to adapt the following line 427 428 ConfigHeader = ClpConfig.h 428 all: all- am429 all: all-recursive 429 430 430 431 .SUFFIXES: … … 459 460 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) 460 461 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 461 install- libLTLIBRARIES: $(lib_LTLIBRARIES)462 install-coinlibLTLIBRARIES: $(coinlib_LTLIBRARIES) 462 463 @$(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 \ 465 466 if test -f $$p; then \ 466 467 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"; \ 469 470 else :; fi; \ 470 471 done 471 472 472 uninstall- libLTLIBRARIES:473 uninstall-coinlibLTLIBRARIES: 473 474 @$(NORMAL_UNINSTALL) 474 @set -x; list='$( lib_LTLIBRARIES)'; for p in $$list; do \475 @set -x; list='$(coinlib_LTLIBRARIES)'; for p in $$list; do \ 475 476 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 481 clean-coinlibLTLIBRARIES: 482 -test -z "$(coinlib_LTLIBRARIES)" || rm -f $(coinlib_LTLIBRARIES) 483 @list='$(coinlib_LTLIBRARIES)'; for p in $$list; do \ 483 484 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ 484 485 test "$$dir" != "$$p" || dir=.; \ … … 487 488 done 488 489 libClp.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) 490 491 install-binPROGRAMS: $(bin_PROGRAMS) 491 492 @$(NORMAL_INSTALL) … … 630 631 done 631 632 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 664 mostlyclean-recursive clean-recursive distclean-recursive \ 665 maintainer-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" 695 tags-recursive: 696 list='$(SUBDIRS)'; for subdir in $$list; do \ 697 test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ 698 done 699 ctags-recursive: 700 list='$(SUBDIRS)'; for subdir in $$list; do \ 701 test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ 702 done 703 632 704 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) 633 705 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ … … 640 712 tags: TAGS 641 713 642 TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \714 TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ 643 715 $(TAGS_FILES) $(LISP) 644 716 tags=; \ 645 717 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; \ 646 731 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ 647 732 unique=`for i in $$list; do \ … … 656 741 fi 657 742 ctags: CTAGS 658 CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \743 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ 659 744 $(TAGS_FILES) $(LISP) 660 745 tags=; \ … … 706 791 fi; \ 707 792 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 708 808 check-am: all-am 709 check: check- am809 check: check-recursive 710 810 all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS) 711 install-binPROGRAMS: install-libLTLIBRARIES 712 713 installdirs: 714 for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(includecoindir)"; do \ 811 installdirs: installdirs-recursive 812 installdirs-am: 813 for dir in "$(DESTDIR)$(coinlibdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(includecoindir)"; do \ 715 814 test -z "$$dir" || $(mkdir_p) "$$dir"; \ 716 815 done 717 install: install- am718 install-exec: install-exec- am719 install-data: install-data- am720 uninstall: uninstall- am816 install: install-recursive 817 install-exec: install-exec-recursive 818 install-data: install-data-recursive 819 uninstall: uninstall-recursive 721 820 722 821 install-am: all-am 723 822 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am 724 823 725 installcheck: installcheck- am824 installcheck: installcheck-recursive 726 825 install-strip: 727 826 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ … … 739 838 @echo "This command is intended for maintainers to use" 740 839 @echo "it deletes files that may require special tools to rebuild." 741 clean: clean- am742 743 clean-am: clean-binPROGRAMS clean- generic clean-libLTLIBRARIES\840 clean: clean-recursive 841 842 clean-am: clean-binPROGRAMS clean-coinlibLTLIBRARIES clean-generic \ 744 843 clean-libtool mostlyclean-am 745 844 746 distclean: distclean- am845 distclean: distclean-recursive 747 846 -rm -rf ./$(DEPDIR) 748 847 -rm -f Makefile … … 750 849 distclean-libtool distclean-tags 751 850 752 dvi: dvi- am851 dvi: dvi-recursive 753 852 754 853 dvi-am: 755 854 756 html: html- am757 758 info: info- am855 html: html-recursive 856 857 info: info-recursive 759 858 760 859 info-am: 761 860 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 861 install-data-am: install-coinlibLTLIBRARIES install-includecoinHEADERS 862 863 install-exec-am: install-binPROGRAMS install-exec-local 864 865 install-info: install-info-recursive 768 866 769 867 install-man: … … 771 869 installcheck-am: 772 870 773 maintainer-clean: maintainer-clean- am871 maintainer-clean: maintainer-clean-recursive 774 872 -rm -rf ./$(DEPDIR) 775 873 -rm -f Makefile 776 874 maintainer-clean-am: distclean-am maintainer-clean-generic 777 875 778 mostlyclean: mostlyclean- am876 mostlyclean: mostlyclean-recursive 779 877 780 878 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 781 879 mostlyclean-libtool 782 880 783 pdf: pdf- am881 pdf: pdf-recursive 784 882 785 883 pdf-am: 786 884 787 ps: ps- am885 ps: ps-recursive 788 886 789 887 ps-am: 790 888 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 \ 889 uninstall-am: uninstall-binPROGRAMS uninstall-coinlibLTLIBRARIES \ 890 uninstall-includecoinHEADERS uninstall-info-am uninstall-local 891 892 uninstall-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 \ 798 899 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 808 911 809 912 -
trunk/Clp/src/unitTest.cpp
r1525 r1559 1313 1313 CoinMpsIO m; 1314 1314 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 } 1330 1333 } 1331 1334 // Test Message handler … … 1334 1337 std::string fn = dirSample + "exmip1"; 1335 1338 //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; 1379 1385 } 1380 1386 } … … 1384 1390 CoinMpsIO m; 1385 1391 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++) 1435 1408 printf("%d increase %g %d, decrease %g %d\n", 1436 1409 i, costIncrease[i], sequenceIncrease[i], 1437 1410 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; 1439 1448 } 1440 1449 } … … 1443 1452 CoinMpsIO m; 1444 1453 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 } 1466 1478 #if 0 1467 1479 // out until I find optimization bug … … 1640 1652 // probable cause is that gz not there 1641 1653 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"); 1643 1655 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 } 1663 1675 } 1664 1676 // test normal solution … … 1666 1678 CoinMpsIO m; 1667 1679 std::string fn = dirSample + "afiro"; 1668 m.readMps(fn.c_str(), "mps");1669 ClpSimplex solution;1670 ClpModel model;1671 // do twice - without and with scaling1672 int iPass;1673 for (iPass = 0; iPass < 2; iPass++) {1674 // explicit row objective for testing1675 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 optimal1689 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(); 1694 1706 #ifndef NDEBUG 1695 double objValue = colsol.dotProduct(objective);1707 double objValue = colsol.dotProduct(objective); 1696 1708 #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 feasible1709 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(); 1725 1737 #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 } 1732 1744 #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; 1744 1759 } 1745 1760 } … … 1748 1763 CoinMpsIO m; 1749 1764 std::string fn = dirSample + "brandy"; 1750 m.readMps(fn.c_str(), "mps");1751 ClpSimplex solution;1752 // do twice - without and with scaling1753 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 ray1765 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 1762 1777 #ifdef DUAL 1763 solution.setDualBound(100.0);1764 solution.dual();1778 solution.setDualBound(100.0); 1779 solution.dual(); 1765 1780 #else 1766 solution.primal();1781 solution.primal(); 1767 1782 #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 ray1779 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 objective1791 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(); 1798 1813 #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 } 1805 1820 #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; 1818 1836 } 1819 1837 } … … 1822 1840 CoinMpsIO m; 1823 1841 std::string fn = dirSample + "brandy"; 1824 m.readMps(fn.c_str(), "mps");1825 ClpSimplex solution;1826 // do twice - without and with scaling1827 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 ray1835 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; 1836 1854 #ifdef DUAL 1837 solution.setDualBound(100.0);1838 solution.dual();1855 solution.setDualBound(100.0); 1856 solution.dual(); 1839 1857 #else 1840 solution.primal();1858 solution.primal(); 1841 1859 #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; 1907 1928 } 1908 1929 } … … 1911 1932 CoinMpsIO m; 1912 1933 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++) { 1955 2003 saveObj[n] = objective[iColumn]; 1956 2004 saveLower[n] = lower[iColumn]; … … 1964 2012 starts[n] = nel; 1965 2013 } 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++) { 2017 2064 saveLower[n] = lower[iRow]; 2018 2065 saveUpper[n] = upper[iRow]; … … 2025 2072 starts[n] = nel; 2026 2073 } 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