Changeset 1693 for trunk


Ignore:
Timestamp:
Mar 5, 2011 1:55:36 PM (9 years ago)
Author:
stefan
Message:

make WSMP recoginition and use similar to Ipopt's WSMP interface

Location:
trunk/Clp
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/Clp/Makefile.in

    r1692 r1693  
    177177COIN_HAS_SAMPLE_FALSE = @COIN_HAS_SAMPLE_FALSE@
    178178COIN_HAS_SAMPLE_TRUE = @COIN_HAS_SAMPLE_TRUE@
     179COIN_HAS_WSMP_FALSE = @COIN_HAS_WSMP_FALSE@
     180COIN_HAS_WSMP_TRUE = @COIN_HAS_WSMP_TRUE@
    179181COIN_PKG_CONFIG_PATH = @COIN_PKG_CONFIG_PATH@
    180182COIN_PKG_CONFIG_PATH_UNINSTALLED = @COIN_PKG_CONFIG_PATH_UNINSTALLED@
     
    199201F77 = @F77@
    200202FFLAGS = @FFLAGS@
     203FLIBS = @FLIBS@
    201204GLPK_CFLAGS = @GLPK_CFLAGS@
    202205GLPK_CFLAGS_INSTALLED = @GLPK_CFLAGS_INSTALLED@
  • trunk/Clp/configure

    r1692 r1693  
    473473#endif"
    474474
    475 ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os ALWAYS_FALSE_TRUE ALWAYS_FALSE_FALSE have_svnversion CLP_SVN_REV COIN_CC_IS_CL_TRUE COIN_CC_IS_CL_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 COIN_CXX_IS_CL_TRUE COIN_CXX_IS_CL_FALSE MPICXX EGREP LN_S 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 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 COIN_PKG_CONFIG_PATH_UNINSTALLED COINUTILS_LIBS COINUTILS_CFLAGS COINUTILS_DATA COINUTILS_DEPENDENCIES COINUTILS_LIBS_INSTALLED COINUTILS_CFLAGS_INSTALLED COINUTILS_DATA_INSTALLED CLPLIB_CFLAGS CLPLIB_LIBS CLPLIB_PCLIBS CLPLIB_PCREQUIRES CLPLIB_DEPENDENCIES CLPLIB_CFLAGS_INSTALLED CLPLIB_LIBS_INSTALLED COIN_HAS_COINUTILS_TRUE COIN_HAS_COINUTILS_FALSE OSI_LIBS OSI_CFLAGS OSI_DATA OSI_DEPENDENCIES OSI_LIBS_INSTALLED OSI_CFLAGS_INSTALLED OSI_DATA_INSTALLED OSICLPLIB_CFLAGS OSICLPLIB_LIBS OSICLPLIB_PCLIBS OSICLPLIB_PCREQUIRES OSICLPLIB_DEPENDENCIES OSICLPLIB_CFLAGS_INSTALLED OSICLPLIB_LIBS_INSTALLED COIN_HAS_OSI_TRUE COIN_HAS_OSI_FALSE OSITESTS_LIBS OSITESTS_CFLAGS OSITESTS_DATA OSITESTS_DEPENDENCIES OSITESTS_LIBS_INSTALLED OSITESTS_CFLAGS_INSTALLED OSITESTS_DATA_INSTALLED COIN_HAS_OSITESTS_TRUE COIN_HAS_OSITESTS_FALSE SAMPLE_LIBS SAMPLE_CFLAGS SAMPLE_DATA SAMPLE_DEPENDENCIES SAMPLE_LIBS_INSTALLED SAMPLE_CFLAGS_INSTALLED SAMPLE_DATA_INSTALLED COIN_HAS_SAMPLE_TRUE COIN_HAS_SAMPLE_FALSE NETLIB_LIBS NETLIB_CFLAGS NETLIB_DATA NETLIB_DEPENDENCIES NETLIB_LIBS_INSTALLED NETLIB_CFLAGS_INSTALLED NETLIB_DATA_INSTALLED COIN_HAS_NETLIB_TRUE COIN_HAS_NETLIB_FALSE AMDINCDIR AMDLIB COIN_HAS_AMD_TRUE COIN_HAS_AMD_FALSE CHOLMODINCDIR CHOLMODLIB COIN_HAS_CHOLMOD_TRUE COIN_HAS_CHOLMOD_FALSE GLPK_LIBS GLPK_CFLAGS GLPK_DATA GLPK_DEPENDENCIES GLPK_LIBS_INSTALLED GLPK_CFLAGS_INSTALLED GLPK_DATA_INSTALLED COIN_HAS_GLPK_TRUE COIN_HAS_GLPK_FALSE MUMPS_LIBS MUMPS_CFLAGS MUMPS_DATA MUMPS_DEPENDENCIES MUMPS_LIBS_INSTALLED MUMPS_CFLAGS_INSTALLED MUMPS_DATA_INSTALLED COIN_HAS_MUMPS_TRUE COIN_HAS_MUMPS_FALSE coin_have_doxygen coin_doxy_usedot coin_doxy_tagname coin_doxy_logname coin_doxy_tagfiles coin_doxy_excludes LIBEXT VPATH_DISTCLEANFILES ABSBUILDDIR LIBOBJS LTLIBOBJS'
     475ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os ALWAYS_FALSE_TRUE ALWAYS_FALSE_FALSE have_svnversion CLP_SVN_REV COIN_CC_IS_CL_TRUE COIN_CC_IS_CL_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 COIN_CXX_IS_CL_TRUE COIN_CXX_IS_CL_FALSE MPICXX EGREP LN_S 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 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 COIN_PKG_CONFIG_PATH_UNINSTALLED COINUTILS_LIBS COINUTILS_CFLAGS COINUTILS_DATA COINUTILS_DEPENDENCIES COINUTILS_LIBS_INSTALLED COINUTILS_CFLAGS_INSTALLED COINUTILS_DATA_INSTALLED CLPLIB_CFLAGS CLPLIB_LIBS CLPLIB_PCLIBS CLPLIB_PCREQUIRES CLPLIB_DEPENDENCIES CLPLIB_CFLAGS_INSTALLED CLPLIB_LIBS_INSTALLED COIN_HAS_COINUTILS_TRUE COIN_HAS_COINUTILS_FALSE OSI_LIBS OSI_CFLAGS OSI_DATA OSI_DEPENDENCIES OSI_LIBS_INSTALLED OSI_CFLAGS_INSTALLED OSI_DATA_INSTALLED OSICLPLIB_CFLAGS OSICLPLIB_LIBS OSICLPLIB_PCLIBS OSICLPLIB_PCREQUIRES OSICLPLIB_DEPENDENCIES OSICLPLIB_CFLAGS_INSTALLED OSICLPLIB_LIBS_INSTALLED COIN_HAS_OSI_TRUE COIN_HAS_OSI_FALSE OSITESTS_LIBS OSITESTS_CFLAGS OSITESTS_DATA OSITESTS_DEPENDENCIES OSITESTS_LIBS_INSTALLED OSITESTS_CFLAGS_INSTALLED OSITESTS_DATA_INSTALLED COIN_HAS_OSITESTS_TRUE COIN_HAS_OSITESTS_FALSE SAMPLE_LIBS SAMPLE_CFLAGS SAMPLE_DATA SAMPLE_DEPENDENCIES SAMPLE_LIBS_INSTALLED SAMPLE_CFLAGS_INSTALLED SAMPLE_DATA_INSTALLED COIN_HAS_SAMPLE_TRUE COIN_HAS_SAMPLE_FALSE NETLIB_LIBS NETLIB_CFLAGS NETLIB_DATA NETLIB_DEPENDENCIES NETLIB_LIBS_INSTALLED NETLIB_CFLAGS_INSTALLED NETLIB_DATA_INSTALLED COIN_HAS_NETLIB_TRUE COIN_HAS_NETLIB_FALSE AMDINCDIR AMDLIB COIN_HAS_AMD_TRUE COIN_HAS_AMD_FALSE CHOLMODINCDIR CHOLMODLIB COIN_HAS_CHOLMOD_TRUE COIN_HAS_CHOLMOD_FALSE GLPK_LIBS GLPK_CFLAGS GLPK_DATA GLPK_DEPENDENCIES GLPK_LIBS_INSTALLED GLPK_CFLAGS_INSTALLED GLPK_DATA_INSTALLED COIN_HAS_GLPK_TRUE COIN_HAS_GLPK_FALSE MUMPS_LIBS MUMPS_CFLAGS MUMPS_DATA MUMPS_DEPENDENCIES MUMPS_LIBS_INSTALLED MUMPS_CFLAGS_INSTALLED MUMPS_DATA_INSTALLED COIN_HAS_MUMPS_TRUE COIN_HAS_MUMPS_FALSE FLIBS COIN_HAS_WSMP_TRUE COIN_HAS_WSMP_FALSE coin_have_doxygen coin_doxy_usedot coin_doxy_tagname coin_doxy_logname coin_doxy_tagfiles coin_doxy_excludes LIBEXT VPATH_DISTCLEANFILES ABSBUILDDIR LIBOBJS LTLIBOBJS'
    476476ac_subst_files=''
    477477
     
    2447824478
    2447924479if test "$use_wsmp" != "no"; then
    24480   CLPLIB_LIBS="$use_wsmp $CLPLIB_LIBS"
    24481   CLPLIB_PCLIBS="$use_wsmp $CLPLIB_PCLIBS"
    24482 
    24483   defval=
    24484   echo "$as_me:$LINENO: checking whether user-supplied WSMP library \"$use_wsmp\" works (symbol wssmp_)" >&5
    24485 echo $ECHO_N "checking whether user-supplied WSMP library \"$use_wsmp\" works (symbol wssmp_)... $ECHO_C" >&6
     24480  # Check how to link against Fortran libraries from C
     24481  ac_ext=f
     24482ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
     24483ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     24484ac_compiler_gnu=$ac_cv_f77_compiler_gnu
     24485echo "$as_me:$LINENO: checking how to get verbose linking output from $F77" >&5
     24486echo $ECHO_N "checking how to get verbose linking output from $F77... $ECHO_C" >&6
     24487if test "${ac_cv_prog_f77_v+set}" = set; then
     24488  echo $ECHO_N "(cached) $ECHO_C" >&6
     24489else
    2448624490  cat >conftest.$ac_ext <<_ACEOF
     24491      program main
     24492
     24493      end
     24494_ACEOF
     24495rm -f conftest.$ac_objext
     24496if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
     24497  (eval $ac_compile) 2>conftest.er1
     24498  ac_status=$?
     24499  grep -v '^ *+' conftest.er1 >conftest.err
     24500  rm -f conftest.er1
     24501  cat conftest.err >&5
     24502  echo "$as_me:$LINENO: \$? = $ac_status" >&5
     24503  (exit $ac_status); } &&
     24504         { ac_try='test -z "$ac_f77_werror_flag"
     24505                         || test ! -s conftest.err'
     24506  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
     24507  (eval $ac_try) 2>&5
     24508  ac_status=$?
     24509  echo "$as_me:$LINENO: \$? = $ac_status" >&5
     24510  (exit $ac_status); }; } &&
     24511         { ac_try='test -s conftest.$ac_objext'
     24512  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
     24513  (eval $ac_try) 2>&5
     24514  ac_status=$?
     24515  echo "$as_me:$LINENO: \$? = $ac_status" >&5
     24516  (exit $ac_status); }; }; then
     24517  ac_cv_prog_f77_v=
     24518# Try some options frequently used verbose output
     24519for ac_verb in -v -verbose --verbose -V -\#\#\#; do
     24520  cat >conftest.$ac_ext <<_ACEOF
     24521      program main
     24522
     24523      end
     24524_ACEOF
     24525
     24526# Compile and link our simple test program by passing a flag (argument
     24527# 1 to this macro) to the Fortran compiler in order to get
     24528# "verbose" output that we can then parse for the Fortran linker
     24529# flags.
     24530ac_save_FFLAGS=$FFLAGS
     24531FFLAGS="$FFLAGS $ac_verb"
     24532(eval echo $as_me:24532: \"$ac_link\") >&5
     24533ac_f77_v_output=`eval $ac_link 5>&1 2>&1 | grep -v 'Driving:'`
     24534echo "$ac_f77_v_output" >&5
     24535FFLAGS=$ac_save_FFLAGS
     24536
     24537rm -f conftest*
     24538
     24539# On HP/UX there is a line like: "LPATH is: /foo:/bar:/baz" where
     24540# /foo, /bar, and /baz are search directories for the Fortran linker.
     24541# Here, we change these into -L/foo -L/bar -L/baz (and put it first):
     24542ac_f77_v_output="`echo $ac_f77_v_output |
     24543        grep 'LPATH is:' |
     24544        sed 's,.*LPATH is\(: *[^ ]*\).*,\1,;s,: */, -L/,g'` $ac_f77_v_output"
     24545
     24546case $ac_f77_v_output in
     24547  # If we are using xlf then replace all the commas with spaces.
     24548  *xlfentry*)
     24549    ac_f77_v_output=`echo $ac_f77_v_output | sed 's/,/ /g'` ;;
     24550
     24551  # With Intel ifc, ignore the quoted -mGLOB_options_string stuff (quoted
     24552  # $LIBS confuse us, and the libraries appear later in the output anyway).
     24553  *mGLOB_options_string*)
     24554    ac_f77_v_output=`echo $ac_f77_v_output | sed 's/\"-mGLOB[^\"]*\"/ /g'` ;;
     24555
     24556  # If we are using Cray Fortran then delete quotes.
     24557  # Use "\"" instead of '"' for font-lock-mode.
     24558  # FIXME: a more general fix for quoted arguments with spaces?
     24559  *cft90*)
     24560    ac_f77_v_output=`echo $ac_f77_v_output | sed "s/\"//g"` ;;
     24561esac
     24562
     24563
     24564  # look for -l* and *.a constructs in the output
     24565  for ac_arg in $ac_f77_v_output; do
     24566     case $ac_arg in
     24567        [\\/]*.a | ?:[\\/]*.a | -[lLRu]*)
     24568          ac_cv_prog_f77_v=$ac_verb
     24569          break 2 ;;
     24570     esac
     24571  done
     24572done
     24573if test -z "$ac_cv_prog_f77_v"; then
     24574   { echo "$as_me:$LINENO: WARNING: cannot determine how to obtain linking information from $F77" >&5
     24575echo "$as_me: WARNING: cannot determine how to obtain linking information from $F77" >&2;}
     24576fi
     24577else
     24578  echo "$as_me: failed program was:" >&5
     24579sed 's/^/| /' conftest.$ac_ext >&5
     24580
     24581{ echo "$as_me:$LINENO: WARNING: compilation failed" >&5
     24582echo "$as_me: WARNING: compilation failed" >&2;}
     24583fi
     24584rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
     24585
     24586fi
     24587echo "$as_me:$LINENO: result: $ac_cv_prog_f77_v" >&5
     24588echo "${ECHO_T}$ac_cv_prog_f77_v" >&6
     24589echo "$as_me:$LINENO: checking for Fortran libraries of $F77" >&5
     24590echo $ECHO_N "checking for Fortran libraries of $F77... $ECHO_C" >&6
     24591if test "${ac_cv_f77_libs+set}" = set; then
     24592  echo $ECHO_N "(cached) $ECHO_C" >&6
     24593else
     24594  if test "x$FLIBS" != "x"; then
     24595  ac_cv_f77_libs="$FLIBS" # Let the user override the test.
     24596else
     24597
     24598cat >conftest.$ac_ext <<_ACEOF
     24599      program main
     24600
     24601      end
     24602_ACEOF
     24603
     24604# Compile and link our simple test program by passing a flag (argument
     24605# 1 to this macro) to the Fortran compiler in order to get
     24606# "verbose" output that we can then parse for the Fortran linker
     24607# flags.
     24608ac_save_FFLAGS=$FFLAGS
     24609FFLAGS="$FFLAGS $ac_cv_prog_f77_v"
     24610(eval echo $as_me:24610: \"$ac_link\") >&5
     24611ac_f77_v_output=`eval $ac_link 5>&1 2>&1 | grep -v 'Driving:'`
     24612echo "$ac_f77_v_output" >&5
     24613FFLAGS=$ac_save_FFLAGS
     24614
     24615rm -f conftest*
     24616
     24617# On HP/UX there is a line like: "LPATH is: /foo:/bar:/baz" where
     24618# /foo, /bar, and /baz are search directories for the Fortran linker.
     24619# Here, we change these into -L/foo -L/bar -L/baz (and put it first):
     24620ac_f77_v_output="`echo $ac_f77_v_output |
     24621        grep 'LPATH is:' |
     24622        sed 's,.*LPATH is\(: *[^ ]*\).*,\1,;s,: */, -L/,g'` $ac_f77_v_output"
     24623
     24624case $ac_f77_v_output in
     24625  # If we are using xlf then replace all the commas with spaces.
     24626  *xlfentry*)
     24627    ac_f77_v_output=`echo $ac_f77_v_output | sed 's/,/ /g'` ;;
     24628
     24629  # With Intel ifc, ignore the quoted -mGLOB_options_string stuff (quoted
     24630  # $LIBS confuse us, and the libraries appear later in the output anyway).
     24631  *mGLOB_options_string*)
     24632    ac_f77_v_output=`echo $ac_f77_v_output | sed 's/\"-mGLOB[^\"]*\"/ /g'` ;;
     24633
     24634  # If we are using Cray Fortran then delete quotes.
     24635  # Use "\"" instead of '"' for font-lock-mode.
     24636  # FIXME: a more general fix for quoted arguments with spaces?
     24637  *cft90*)
     24638    ac_f77_v_output=`echo $ac_f77_v_output | sed "s/\"//g"` ;;
     24639esac
     24640
     24641
     24642
     24643ac_cv_f77_libs=
     24644
     24645# Save positional arguments (if any)
     24646ac_save_positional="$@"
     24647
     24648set X $ac_f77_v_output
     24649while test $# != 1; do
     24650  shift
     24651  ac_arg=$1
     24652  case $ac_arg in
     24653        [\\/]*.a | ?:[\\/]*.a)
     24654            ac_exists=false
     24655  for ac_i in $ac_cv_f77_libs; do
     24656    if test x"$ac_arg" = x"$ac_i"; then
     24657      ac_exists=true
     24658      break
     24659    fi
     24660  done
     24661
     24662  if test x"$ac_exists" = xtrue; then
     24663  :
     24664else
     24665  ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg"
     24666fi
     24667
     24668          ;;
     24669        -bI:*)
     24670            ac_exists=false
     24671  for ac_i in $ac_cv_f77_libs; do
     24672    if test x"$ac_arg" = x"$ac_i"; then
     24673      ac_exists=true
     24674      break
     24675    fi
     24676  done
     24677
     24678  if test x"$ac_exists" = xtrue; then
     24679  :
     24680else
     24681  if test "$ac_compiler_gnu" = yes; then
     24682  for ac_link_opt in $ac_arg; do
     24683    ac_cv_f77_libs="$ac_cv_f77_libs -Xlinker $ac_link_opt"
     24684  done
     24685else
     24686  ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg"
     24687fi
     24688fi
     24689
     24690          ;;
     24691          # Ignore these flags.
     24692        -lang* | -lcrt[01].o | -lcrtbegin.o | -lc | -lgcc | -libmil | -LANG:=*)
     24693          ;;
     24694        -lkernel32)
     24695          test x"$CYGWIN" != xyes && ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg"
     24696          ;;
     24697        -[LRuY])
     24698          # These flags, when seen by themselves, take an argument.
     24699          # We remove the space between option and argument and re-iterate
     24700          # unless we find an empty arg or a new option (starting with -)
     24701          case $2 in
     24702             "" | -*);;
     24703             *)
     24704                ac_arg="$ac_arg$2"
     24705                shift; shift
     24706                set X $ac_arg "$@"
     24707                ;;
     24708          esac
     24709          ;;
     24710        -YP,*)
     24711          for ac_j in `echo $ac_arg | sed -e 's/-YP,/-L/;s/:/ -L/g'`; do
     24712              ac_exists=false
     24713  for ac_i in $ac_cv_f77_libs; do
     24714    if test x"$ac_j" = x"$ac_i"; then
     24715      ac_exists=true
     24716      break
     24717    fi
     24718  done
     24719
     24720  if test x"$ac_exists" = xtrue; then
     24721  :
     24722else
     24723  ac_arg="$ac_arg $ac_j"
     24724                               ac_cv_f77_libs="$ac_cv_f77_libs $ac_j"
     24725fi
     24726
     24727          done
     24728          ;;
     24729        -[lLR]*)
     24730            ac_exists=false
     24731  for ac_i in $ac_cv_f77_libs; do
     24732    if test x"$ac_arg" = x"$ac_i"; then
     24733      ac_exists=true
     24734      break
     24735    fi
     24736  done
     24737
     24738  if test x"$ac_exists" = xtrue; then
     24739  :
     24740else
     24741  ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg"
     24742fi
     24743
     24744          ;;
     24745          # Ignore everything else.
     24746  esac
     24747done
     24748# restore positional arguments
     24749set X $ac_save_positional; shift
     24750
     24751# We only consider "LD_RUN_PATH" on Solaris systems.  If this is seen,
     24752# then we insist that the "run path" must be an absolute path (i.e. it
     24753# must begin with a "/").
     24754case `(uname -sr) 2>/dev/null` in
     24755   "SunOS 5"*)
     24756      ac_ld_run_path=`echo $ac_f77_v_output |
     24757                        sed -n 's,^.*LD_RUN_PATH *= *\(/[^ ]*\).*$,-R\1,p'`
     24758      test "x$ac_ld_run_path" != x &&
     24759        if test "$ac_compiler_gnu" = yes; then
     24760  for ac_link_opt in $ac_ld_run_path; do
     24761    ac_cv_f77_libs="$ac_cv_f77_libs -Xlinker $ac_link_opt"
     24762  done
     24763else
     24764  ac_cv_f77_libs="$ac_cv_f77_libs $ac_ld_run_path"
     24765fi
     24766      ;;
     24767esac
     24768fi # test "x$[]_AC_LANG_PREFIX[]LIBS" = "x"
     24769
     24770fi
     24771echo "$as_me:$LINENO: result: $ac_cv_f77_libs" >&5
     24772echo "${ECHO_T}$ac_cv_f77_libs" >&6
     24773FLIBS="$ac_cv_f77_libs"
     24774
     24775
     24776ac_ext=f
     24777ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
     24778ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     24779ac_compiler_gnu=$ac_cv_f77_compiler_gnu
     24780
     24781ac_ext=f
     24782ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
     24783ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     24784ac_compiler_gnu=$ac_cv_f77_compiler_gnu
     24785
     24786echo "$as_me:$LINENO: checking for dummy main to link with Fortran libraries" >&5
     24787echo $ECHO_N "checking for dummy main to link with Fortran libraries... $ECHO_C" >&6
     24788if test "${ac_cv_f77_dummy_main+set}" = set; then
     24789  echo $ECHO_N "(cached) $ECHO_C" >&6
     24790else
     24791  ac_f77_dm_save_LIBS=$LIBS
     24792 LIBS="$LIBS $FLIBS"
     24793 ac_fortran_dm_var=F77_DUMMY_MAIN
     24794 ac_ext=c
     24795ac_cpp='$CPP $CPPFLAGS'
     24796ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     24797ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     24798ac_compiler_gnu=$ac_cv_c_compiler_gnu
     24799
     24800 # First, try linking without a dummy main:
     24801 cat >conftest.$ac_ext <<_ACEOF
    2448724802/* confdefs.h.  */
    2448824803_ACEOF
     
    2449124806/* end confdefs.h.  */
    2449224807
     24808#ifdef F77_DUMMY_MAIN
     24809
     24810#  ifdef __cplusplus
     24811     extern "C"
     24812#  endif
     24813   int F77_DUMMY_MAIN() { return 1; }
     24814
     24815#endif
    2449324816int
    2449424817main ()
    2449524818{
    24496 wssmp_()
     24819
    2449724820  ;
    2449824821  return 0;
     
    2452124844  echo "$as_me:$LINENO: \$? = $ac_status" >&5
    2452224845  (exit $ac_status); }; }; then
    24523   echo "$as_me:$LINENO: result: yes" >&5
    24524 echo "${ECHO_T}yes" >&6
    24525                defval=2
     24846  ac_cv_fortran_dummy_main=none
    2452624847else
    2452724848  echo "$as_me: failed program was:" >&5
    2452824849sed 's/^/| /' conftest.$ac_ext >&5
    2452924850
    24530 echo "$as_me:$LINENO: result: no" >&5
    24531 echo "${ECHO_T}no" >&6
     24851ac_cv_fortran_dummy_main=unknown
    2453224852fi
    2453324853rm -f conftest.err conftest.$ac_objext \
    2453424854      conftest$ac_exeext conftest.$ac_ext
    24535   if test "$defval" = ""; then
    24536     echo "$as_me:$LINENO: checking whether user-supplied WSMP library \"$use_wsmp\" works (symbol wssmp)" >&5
    24537 echo $ECHO_N "checking whether user-supplied WSMP library \"$use_wsmp\" works (symbol wssmp)... $ECHO_C" >&6
    24538     cat >conftest.$ac_ext <<_ACEOF
     24855
     24856 if test $ac_cv_fortran_dummy_main = unknown; then
     24857   for ac_func in MAIN__ MAIN_ __main MAIN _MAIN __MAIN main_ main__ _main; do
     24858     cat >conftest.$ac_ext <<_ACEOF
    2453924859/* confdefs.h.  */
    2454024860_ACEOF
     
    2454224862cat >>conftest.$ac_ext <<_ACEOF
    2454324863/* end confdefs.h.  */
    24544 
     24864#define $ac_fortran_dm_var $ac_func
     24865#ifdef F77_DUMMY_MAIN
     24866
     24867#  ifdef __cplusplus
     24868     extern "C"
     24869#  endif
     24870   int F77_DUMMY_MAIN() { return 1; }
     24871
     24872#endif
    2454524873int
    2454624874main ()
    2454724875{
    24548 wssmp()
     24876
    2454924877  ;
    2455024878  return 0;
     
    2457324901  echo "$as_me:$LINENO: \$? = $ac_status" >&5
    2457424902  (exit $ac_status); }; }; then
     24903  ac_cv_fortran_dummy_main=$ac_func; break
     24904else
     24905  echo "$as_me: failed program was:" >&5
     24906sed 's/^/| /' conftest.$ac_ext >&5
     24907
     24908fi
     24909rm -f conftest.err conftest.$ac_objext \
     24910      conftest$ac_exeext conftest.$ac_ext
     24911   done
     24912 fi
     24913 ac_ext=f
     24914ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
     24915ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     24916ac_compiler_gnu=$ac_cv_f77_compiler_gnu
     24917 ac_cv_f77_dummy_main=$ac_cv_fortran_dummy_main
     24918 rm -f conftest*
     24919 LIBS=$ac_f77_dm_save_LIBS
     24920
     24921fi
     24922echo "$as_me:$LINENO: result: $ac_cv_f77_dummy_main" >&5
     24923echo "${ECHO_T}$ac_cv_f77_dummy_main" >&6
     24924F77_DUMMY_MAIN=$ac_cv_f77_dummy_main
     24925if test "$F77_DUMMY_MAIN" != unknown; then
     24926  if test $F77_DUMMY_MAIN != none; then
     24927
     24928cat >>confdefs.h <<_ACEOF
     24929#define F77_DUMMY_MAIN $F77_DUMMY_MAIN
     24930_ACEOF
     24931
     24932  if test "x$ac_cv_fc_dummy_main" = "x$ac_cv_f77_dummy_main"; then
     24933
     24934cat >>confdefs.h <<\_ACEOF
     24935#define FC_DUMMY_MAIN_EQ_F77 1
     24936_ACEOF
     24937
     24938  fi
     24939fi
     24940else
     24941  { { echo "$as_me:$LINENO: error: linking to Fortran libraries from C fails
     24942See \`config.log' for more details." >&5
     24943echo "$as_me: error: linking to Fortran libraries from C fails
     24944See \`config.log' for more details." >&2;}
     24945   { (exit 1); exit 1; }; }
     24946fi
     24947
     24948
     24949ac_ext=f
     24950ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
     24951ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     24952ac_compiler_gnu=$ac_cv_f77_compiler_gnu
     24953
     24954ac_ext=f
     24955ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
     24956ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     24957ac_compiler_gnu=$ac_cv_f77_compiler_gnu
     24958echo "$as_me:$LINENO: checking for Fortran name-mangling scheme" >&5
     24959echo $ECHO_N "checking for Fortran name-mangling scheme... $ECHO_C" >&6
     24960if test "${ac_cv_f77_mangling+set}" = set; then
     24961  echo $ECHO_N "(cached) $ECHO_C" >&6
     24962else
     24963  cat >conftest.$ac_ext <<_ACEOF
     24964      subroutine foobar()
     24965      return
     24966      end
     24967      subroutine foo_bar()
     24968      return
     24969      end
     24970_ACEOF
     24971rm -f conftest.$ac_objext
     24972if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
     24973  (eval $ac_compile) 2>conftest.er1
     24974  ac_status=$?
     24975  grep -v '^ *+' conftest.er1 >conftest.err
     24976  rm -f conftest.er1
     24977  cat conftest.err >&5
     24978  echo "$as_me:$LINENO: \$? = $ac_status" >&5
     24979  (exit $ac_status); } &&
     24980         { ac_try='test -z "$ac_f77_werror_flag"
     24981                         || test ! -s conftest.err'
     24982  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
     24983  (eval $ac_try) 2>&5
     24984  ac_status=$?
     24985  echo "$as_me:$LINENO: \$? = $ac_status" >&5
     24986  (exit $ac_status); }; } &&
     24987         { ac_try='test -s conftest.$ac_objext'
     24988  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
     24989  (eval $ac_try) 2>&5
     24990  ac_status=$?
     24991  echo "$as_me:$LINENO: \$? = $ac_status" >&5
     24992  (exit $ac_status); }; }; then
     24993  mv conftest.$ac_objext cfortran_test.$ac_objext
     24994
     24995  ac_save_LIBS=$LIBS
     24996  LIBS="cfortran_test.$ac_objext $LIBS $FLIBS"
     24997
     24998  ac_ext=c
     24999ac_cpp='$CPP $CPPFLAGS'
     25000ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     25001ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     25002ac_compiler_gnu=$ac_cv_c_compiler_gnu
     25003  ac_success=no
     25004  for ac_foobar in foobar FOOBAR; do
     25005    for ac_underscore in "" "_"; do
     25006      ac_func="$ac_foobar$ac_underscore"
     25007      cat >conftest.$ac_ext <<_ACEOF
     25008/* confdefs.h.  */
     25009_ACEOF
     25010cat confdefs.h >>conftest.$ac_ext
     25011cat >>conftest.$ac_ext <<_ACEOF
     25012/* end confdefs.h.  */
     25013
     25014/* Override any gcc2 internal prototype to avoid an error.  */
     25015#ifdef __cplusplus
     25016extern "C"
     25017#endif
     25018/* We use char because int might match the return type of a gcc2
     25019   builtin and then its argument prototype would still apply.  */
     25020char $ac_func ();
     25021#ifdef F77_DUMMY_MAIN
     25022
     25023#  ifdef __cplusplus
     25024     extern "C"
     25025#  endif
     25026   int F77_DUMMY_MAIN() { return 1; }
     25027
     25028#endif
     25029int
     25030main ()
     25031{
     25032$ac_func ();
     25033  ;
     25034  return 0;
     25035}
     25036_ACEOF
     25037rm -f conftest.$ac_objext conftest$ac_exeext
     25038if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
     25039  (eval $ac_link) 2>conftest.er1
     25040  ac_status=$?
     25041  grep -v '^ *+' conftest.er1 >conftest.err
     25042  rm -f conftest.er1
     25043  cat conftest.err >&5
     25044  echo "$as_me:$LINENO: \$? = $ac_status" >&5
     25045  (exit $ac_status); } &&
     25046         { ac_try='test -z "$ac_c_werror_flag"
     25047                         || test ! -s conftest.err'
     25048  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
     25049  (eval $ac_try) 2>&5
     25050  ac_status=$?
     25051  echo "$as_me:$LINENO: \$? = $ac_status" >&5
     25052  (exit $ac_status); }; } &&
     25053         { ac_try='test -s conftest$ac_exeext'
     25054  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
     25055  (eval $ac_try) 2>&5
     25056  ac_status=$?
     25057  echo "$as_me:$LINENO: \$? = $ac_status" >&5
     25058  (exit $ac_status); }; }; then
     25059  ac_success=yes; break 2
     25060else
     25061  echo "$as_me: failed program was:" >&5
     25062sed 's/^/| /' conftest.$ac_ext >&5
     25063
     25064fi
     25065rm -f conftest.err conftest.$ac_objext \
     25066      conftest$ac_exeext conftest.$ac_ext
     25067    done
     25068  done
     25069  ac_ext=f
     25070ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
     25071ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     25072ac_compiler_gnu=$ac_cv_f77_compiler_gnu
     25073
     25074  if test "$ac_success" = "yes"; then
     25075     case $ac_foobar in
     25076        foobar)
     25077           ac_case=lower
     25078           ac_foo_bar=foo_bar
     25079           ;;
     25080        FOOBAR)
     25081           ac_case=upper
     25082           ac_foo_bar=FOO_BAR
     25083           ;;
     25084     esac
     25085
     25086     ac_ext=c
     25087ac_cpp='$CPP $CPPFLAGS'
     25088ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     25089ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     25090ac_compiler_gnu=$ac_cv_c_compiler_gnu
     25091     ac_success_extra=no
     25092     for ac_extra in "" "_"; do
     25093        ac_func="$ac_foo_bar$ac_underscore$ac_extra"
     25094        cat >conftest.$ac_ext <<_ACEOF
     25095/* confdefs.h.  */
     25096_ACEOF
     25097cat confdefs.h >>conftest.$ac_ext
     25098cat >>conftest.$ac_ext <<_ACEOF
     25099/* end confdefs.h.  */
     25100
     25101/* Override any gcc2 internal prototype to avoid an error.  */
     25102#ifdef __cplusplus
     25103extern "C"
     25104#endif
     25105/* We use char because int might match the return type of a gcc2
     25106   builtin and then its argument prototype would still apply.  */
     25107char $ac_func ();
     25108#ifdef F77_DUMMY_MAIN
     25109
     25110#  ifdef __cplusplus
     25111     extern "C"
     25112#  endif
     25113   int F77_DUMMY_MAIN() { return 1; }
     25114
     25115#endif
     25116int
     25117main ()
     25118{
     25119$ac_func ();
     25120  ;
     25121  return 0;
     25122}
     25123_ACEOF
     25124rm -f conftest.$ac_objext conftest$ac_exeext
     25125if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
     25126  (eval $ac_link) 2>conftest.er1
     25127  ac_status=$?
     25128  grep -v '^ *+' conftest.er1 >conftest.err
     25129  rm -f conftest.er1
     25130  cat conftest.err >&5
     25131  echo "$as_me:$LINENO: \$? = $ac_status" >&5
     25132  (exit $ac_status); } &&
     25133         { ac_try='test -z "$ac_c_werror_flag"
     25134                         || test ! -s conftest.err'
     25135  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
     25136  (eval $ac_try) 2>&5
     25137  ac_status=$?
     25138  echo "$as_me:$LINENO: \$? = $ac_status" >&5
     25139  (exit $ac_status); }; } &&
     25140         { ac_try='test -s conftest$ac_exeext'
     25141  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
     25142  (eval $ac_try) 2>&5
     25143  ac_status=$?
     25144  echo "$as_me:$LINENO: \$? = $ac_status" >&5
     25145  (exit $ac_status); }; }; then
     25146  ac_success_extra=yes; break
     25147else
     25148  echo "$as_me: failed program was:" >&5
     25149sed 's/^/| /' conftest.$ac_ext >&5
     25150
     25151fi
     25152rm -f conftest.err conftest.$ac_objext \
     25153      conftest$ac_exeext conftest.$ac_ext
     25154     done
     25155     ac_ext=f
     25156ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
     25157ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     25158ac_compiler_gnu=$ac_cv_f77_compiler_gnu
     25159
     25160     if test "$ac_success_extra" = "yes"; then
     25161        ac_cv_f77_mangling="$ac_case case"
     25162        if test -z "$ac_underscore"; then
     25163           ac_cv_f77_mangling="$ac_cv_f77_mangling, no underscore"
     25164        else
     25165           ac_cv_f77_mangling="$ac_cv_f77_mangling, underscore"
     25166        fi
     25167        if test -z "$ac_extra"; then
     25168           ac_cv_f77_mangling="$ac_cv_f77_mangling, no extra underscore"
     25169        else
     25170           ac_cv_f77_mangling="$ac_cv_f77_mangling, extra underscore"
     25171        fi
     25172      else
     25173        ac_cv_f77_mangling="unknown"
     25174      fi
     25175  else
     25176     ac_cv_f77_mangling="unknown"
     25177  fi
     25178
     25179  LIBS=$ac_save_LIBS
     25180  rm -f cfortran_test* conftest*
     25181else
     25182  echo "$as_me: failed program was:" >&5
     25183sed 's/^/| /' conftest.$ac_ext >&5
     25184
     25185{ { echo "$as_me:$LINENO: error: cannot compile a simple Fortran program
     25186See \`config.log' for more details." >&5
     25187echo "$as_me: error: cannot compile a simple Fortran program
     25188See \`config.log' for more details." >&2;}
     25189   { (exit 1); exit 1; }; }
     25190fi
     25191rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
     25192
     25193fi
     25194echo "$as_me:$LINENO: result: $ac_cv_f77_mangling" >&5
     25195echo "${ECHO_T}$ac_cv_f77_mangling" >&6
     25196
     25197ac_ext=f
     25198ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
     25199ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     25200ac_compiler_gnu=$ac_cv_f77_compiler_gnu
     25201
     25202
     25203ac_ext=f
     25204ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
     25205ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     25206ac_compiler_gnu=$ac_cv_f77_compiler_gnu
     25207
     25208
     25209ac_ext=f
     25210ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
     25211ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     25212ac_compiler_gnu=$ac_cv_f77_compiler_gnu
     25213
     25214
     25215case $ac_cv_f77_mangling in
     25216  "lower case, no underscore, no extra underscore")
     25217          cat >>confdefs.h <<\_ACEOF
     25218#define F77_FUNC(name,NAME) name
     25219_ACEOF
     25220
     25221          cat >>confdefs.h <<\_ACEOF
     25222#define F77_FUNC_(name,NAME) name
     25223_ACEOF
     25224 ;;
     25225  "lower case, no underscore, extra underscore")
     25226          cat >>confdefs.h <<\_ACEOF
     25227#define F77_FUNC(name,NAME) name
     25228_ACEOF
     25229
     25230          cat >>confdefs.h <<\_ACEOF
     25231#define F77_FUNC_(name,NAME) name ## _
     25232_ACEOF
     25233 ;;
     25234  "lower case, underscore, no extra underscore")
     25235          cat >>confdefs.h <<\_ACEOF
     25236#define F77_FUNC(name,NAME) name ## _
     25237_ACEOF
     25238
     25239          cat >>confdefs.h <<\_ACEOF
     25240#define F77_FUNC_(name,NAME) name ## _
     25241_ACEOF
     25242 ;;
     25243  "lower case, underscore, extra underscore")
     25244          cat >>confdefs.h <<\_ACEOF
     25245#define F77_FUNC(name,NAME) name ## _
     25246_ACEOF
     25247
     25248          cat >>confdefs.h <<\_ACEOF
     25249#define F77_FUNC_(name,NAME) name ## __
     25250_ACEOF
     25251 ;;
     25252  "upper case, no underscore, no extra underscore")
     25253          cat >>confdefs.h <<\_ACEOF
     25254#define F77_FUNC(name,NAME) NAME
     25255_ACEOF
     25256
     25257          cat >>confdefs.h <<\_ACEOF
     25258#define F77_FUNC_(name,NAME) NAME
     25259_ACEOF
     25260 ;;
     25261  "upper case, no underscore, extra underscore")
     25262          cat >>confdefs.h <<\_ACEOF
     25263#define F77_FUNC(name,NAME) NAME
     25264_ACEOF
     25265
     25266          cat >>confdefs.h <<\_ACEOF
     25267#define F77_FUNC_(name,NAME) NAME ## _
     25268_ACEOF
     25269 ;;
     25270  "upper case, underscore, no extra underscore")
     25271          cat >>confdefs.h <<\_ACEOF
     25272#define F77_FUNC(name,NAME) NAME ## _
     25273_ACEOF
     25274
     25275          cat >>confdefs.h <<\_ACEOF
     25276#define F77_FUNC_(name,NAME) NAME ## _
     25277_ACEOF
     25278 ;;
     25279  "upper case, underscore, extra underscore")
     25280          cat >>confdefs.h <<\_ACEOF
     25281#define F77_FUNC(name,NAME) NAME ## _
     25282_ACEOF
     25283
     25284          cat >>confdefs.h <<\_ACEOF
     25285#define F77_FUNC_(name,NAME) NAME ## __
     25286_ACEOF
     25287 ;;
     25288  *)
     25289          { echo "$as_me:$LINENO: WARNING: unknown Fortran name-mangling scheme" >&5
     25290echo "$as_me: WARNING: unknown Fortran name-mangling scheme" >&2;}
     25291          ;;
     25292esac
     25293
     25294ac_ext=f
     25295ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
     25296ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     25297ac_compiler_gnu=$ac_cv_f77_compiler_gnu
     25298
     25299
     25300# If FLIBS has been set by the user, we just restore its value here
     25301if test x"$save_FLIBS" != x; then
     25302  FLIBS="$save_FLIBS"
     25303else
     25304  # This is to correct a missing exclusion in autoconf 2.59
     25305  if test x"$FLIBS" != x; then
     25306    my_flibs=
     25307    for flag in $FLIBS; do
     25308      case $flag in
     25309        -lcrt*.o) ;;
     25310        -lcygwin) ;;
     25311               *) my_flibs="$my_flibs $flag" ;;
     25312      esac
     25313    done
     25314    FLIBS="$my_flibs"
     25315  fi
     25316
     25317  case $build in
     25318  # The following is a fix to define FLIBS for ifort on Windows
     25319  # In its original version, it linked in libifcorert.lib or libifcorertd.lib on Windows/ifort explicitly.
     25320  # However, this seem to create a dependency on libifcorert.dll (or libifcorertd.dll) in the executables.
     25321  # This is seem to be unnecessary, libifcorert(d).lib has been removed from the link line.
     25322  # Further, excluding libc.lib from the default libs seemed to be necessary only for VS < 8.
     25323  # Since the corresponding flag seems to make more trouble that it avoid, it has been removed now.
     25324     *-cygwin* | *-mingw*)
     25325       case "$F77" in
     25326#         ifort* | */ifort* | IFORT* | */IFORT*)
     25327#           FLIBS="-link $LIBS /NODEFAULTLIB:libc.lib"
     25328#           if "$coin_debug_compile" = true ; then
     25329#             FLIBS="-link $LIBS /NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib"
     25330#           else
     25331#             FLIBS="-link $LIBS /NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmtd.lib"
     25332#           fi
     25333#           ;;
     25334         compile_f2c*)
     25335           FLIBS=`$F77 -FLIBS` ;;
     25336       esac;;
     25337     *-hp-*)
     25338         FLIBS="$FLIBS -lm";;
     25339     *-ibm-*)
     25340         FLIBS=`echo $FLIBS | sed 's/-lc)/-lc/g'` ;;
     25341     *-linux-*)
     25342       case "$F77" in
     25343         pgf77* | */pgf77* | pgf90* | */pgf90*)
     25344# ask linker to go through the archives multiple times
     25345# (the Fortran compiler seems to do that automatically...)
     25346           FLIBS="-Wl,--start-group $FLIBS -Wl,--end-group" ;;
     25347       esac
     25348  esac
     25349  ac_cv_f77_libs="$FLIBS"
     25350fi
     25351
     25352ac_ext=c
     25353ac_cpp='$CPP $CPPFLAGS'
     25354ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     25355ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     25356ac_compiler_gnu=$ac_cv_c_compiler_gnu
     25357
     25358
     25359
     25360
     25361  coin_save_LIBS="$LIBS"
     25362  # WSMP requires Blas, so provide CoinUtils libs, which may include Blas
     25363  LIBS="$LIBS $use_wsmp $COINUTILS_LIBS"
     25364  ac_ext=f
     25365ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
     25366ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     25367ac_compiler_gnu=$ac_cv_f77_compiler_gnu
     25368
     25369  echo "$as_me:$LINENO: checking whether user-supplied WSMP library \"$use_wsmp\" works" >&5
     25370echo $ECHO_N "checking whether user-supplied WSMP library \"$use_wsmp\" works... $ECHO_C" >&6
     25371  cat >conftest.$ac_ext <<_ACEOF
     25372      program main
     25373      call WSSMP()
     25374      end
     25375_ACEOF
     25376rm -f conftest.$ac_objext conftest$ac_exeext
     25377if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
     25378  (eval $ac_link) 2>conftest.er1
     25379  ac_status=$?
     25380  grep -v '^ *+' conftest.er1 >conftest.err
     25381  rm -f conftest.er1
     25382  cat conftest.err >&5
     25383  echo "$as_me:$LINENO: \$? = $ac_status" >&5
     25384  (exit $ac_status); } &&
     25385         { ac_try='test -z "$ac_f77_werror_flag"
     25386                         || test ! -s conftest.err'
     25387  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
     25388  (eval $ac_try) 2>&5
     25389  ac_status=$?
     25390  echo "$as_me:$LINENO: \$? = $ac_status" >&5
     25391  (exit $ac_status); }; } &&
     25392         { ac_try='test -s conftest$ac_exeext'
     25393  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
     25394  (eval $ac_try) 2>&5
     25395  ac_status=$?
     25396  echo "$as_me:$LINENO: \$? = $ac_status" >&5
     25397  (exit $ac_status); }; }; then
    2457525398  echo "$as_me:$LINENO: result: yes" >&5
    2457625399echo "${ECHO_T}yes" >&6
    24577                  defval=3
    2457825400else
    2457925401  echo "$as_me: failed program was:" >&5
    2458025402sed 's/^/| /' conftest.$ac_ext >&5
    2458125403
    24582 echo "$as_me:$LINENO: result: no" >&5
    24583 echo "${ECHO_T}no" >&6
     25404{ { echo "$as_me:$LINENO: error: WSMP library $use_wsmp does not seem to work" >&5
     25405echo "$as_me: error: WSMP library $use_wsmp does not seem to work" >&2;}
     25406   { (exit 1); exit 1; }; }
    2458425407fi
    2458525408rm -f conftest.err conftest.$ac_objext \
    2458625409      conftest$ac_exeext conftest.$ac_ext
    24587   fi
    24588   if test "x$defval" = "x"; then
    24589     { { echo "$as_me:$LINENO: error: WSMP library $use_wsmp does not seem to work" >&5
    24590 echo "$as_me: error: WSMP library $use_wsmp does not seem to work" >&2;}
    24591    { (exit 1); exit 1; }; }
    24592   fi
     25410  ac_ext=c
     25411ac_cpp='$CPP $CPPFLAGS'
     25412ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     25413ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     25414ac_compiler_gnu=$ac_cv_c_compiler_gnu
     25415
     25416  LIBS="$coin_save_LIBS"
    2459325417
    2459425418
    2459525419cat >>confdefs.h <<_ACEOF
    24596 #define WSSMP_BARRIER $defval
     25420#define COIN_HAS_WSMP 1
    2459725421_ACEOF
    2459825422
    24599 fi
     25423
     25424  CLPLIB_LIBS="$use_wsmp $CLPLIB_LIBS"
     25425  CLPLIB_LIBS_INSTALLED="$use_wsmp $CLPLIB_LIBS_INSTALLED"
     25426  CLPLIB_PCLIBS="$use_wsmp $CLPLIB_PCLIBS"
     25427fi
     25428
     25429
     25430if test "$use_wsmp" != no; then
     25431  COIN_HAS_WSMP_TRUE=
     25432  COIN_HAS_WSMP_FALSE='#'
     25433else
     25434  COIN_HAS_WSMP_TRUE='#'
     25435  COIN_HAS_WSMP_FALSE=
     25436fi
     25437
    2460025438
    2460125439#############################################################################
     
    2471325551   builtin and then its argument prototype would still apply.  */
    2471425552char tputs ();
     25553#ifdef F77_DUMMY_MAIN
     25554
     25555#  ifdef __cplusplus
     25556     extern "C"
     25557#  endif
     25558   int F77_DUMMY_MAIN() { return 1; }
     25559
     25560#endif
    2471525561int
    2471625562main ()
     
    2476825614   builtin and then its argument prototype would still apply.  */
    2476925615char tputs ();
     25616#ifdef F77_DUMMY_MAIN
     25617
     25618#  ifdef __cplusplus
     25619     extern "C"
     25620#  endif
     25621   int F77_DUMMY_MAIN() { return 1; }
     25622
     25623#endif
    2477025624int
    2477125625main ()
     
    2484525699   builtin and then its argument prototype would still apply.  */
    2484625700char readline ();
     25701#ifdef F77_DUMMY_MAIN
     25702
     25703#  ifdef __cplusplus
     25704     extern "C"
     25705#  endif
     25706   int F77_DUMMY_MAIN() { return 1; }
     25707
     25708#endif
    2484725709int
    2484825710main ()
     
    2547726339Usually this means the macro was only invoked conditionally." >&5
    2547826340echo "$as_me: error: conditional \"COIN_HAS_MUMPS\" was never defined.
     26341Usually this means the macro was only invoked conditionally." >&2;}
     26342   { (exit 1); exit 1; }; }
     26343fi
     26344if test -z "${COIN_HAS_WSMP_TRUE}" && test -z "${COIN_HAS_WSMP_FALSE}"; then
     26345  { { echo "$as_me:$LINENO: error: conditional \"COIN_HAS_WSMP\" was never defined.
     26346Usually this means the macro was only invoked conditionally." >&5
     26347echo "$as_me: error: conditional \"COIN_HAS_WSMP\" was never defined.
    2547926348Usually this means the macro was only invoked conditionally." >&2;}
    2548026349   { (exit 1); exit 1; }; }
     
    2621527084s,@COIN_HAS_MUMPS_TRUE@,$COIN_HAS_MUMPS_TRUE,;t t
    2621627085s,@COIN_HAS_MUMPS_FALSE@,$COIN_HAS_MUMPS_FALSE,;t t
     27086s,@FLIBS@,$FLIBS,;t t
     27087s,@COIN_HAS_WSMP_TRUE@,$COIN_HAS_WSMP_TRUE,;t t
     27088s,@COIN_HAS_WSMP_FALSE@,$COIN_HAS_WSMP_FALSE,;t t
    2621727089s,@coin_have_doxygen@,$coin_have_doxygen,;t t
    2621827090s,@coin_doxy_usedot@,$coin_doxy_usedot,;t t
  • trunk/Clp/configure.ac

    r1692 r1693  
    6161  AC_MSG_ERROR([Required package CoinUtils not available.])
    6262fi
    63 AC_COIN_CHECK_PACKAGE(Osi,       [osi],               [OsiClpLib])
     63AC_COIN_CHECK_PACKAGE(Osi,       [osi],       [OsiClpLib])
    6464AC_COIN_CHECK_PACKAGE(OsiTests,  [osi-unittests])
    6565AC_COIN_CHECK_PACKAGE(Sample,    [coindatasample])
     
    103103
    104104if test "$use_wsmp" != "no"; then
     105  # Check how to link against Fortran libraries from C
     106  AC_COIN_F77_WRAPPERS
     107
     108  coin_save_LIBS="$LIBS"
     109  # WSMP requires Blas, so provide CoinUtils libs, which may include Blas
     110  LIBS="$LIBS $use_wsmp $COINUTILS_LIBS"
     111  AC_LANG_PUSH([Fortran 77])
     112  AC_MSG_CHECKING([whether user-supplied WSMP library \"$use_wsmp\" works])
     113  AC_TRY_LINK([],[      call WSSMP()],
     114              [AC_MSG_RESULT(yes)],   
     115              [AC_MSG_ERROR([WSMP library $use_wsmp does not seem to work])])
     116  AC_LANG_POP([Fortran 77])
     117  LIBS="$coin_save_LIBS"
     118
     119  AC_DEFINE_UNQUOTED([COIN_HAS_WSMP], [1], [Define to 1 if the WSMP package is available])
     120 
    105121  CLPLIB_LIBS="$use_wsmp $CLPLIB_LIBS"
     122  CLPLIB_LIBS_INSTALLED="$use_wsmp $CLPLIB_LIBS_INSTALLED"
    106123  CLPLIB_PCLIBS="$use_wsmp $CLPLIB_PCLIBS"
    107 
    108   defval=
    109   AC_MSG_CHECKING([whether user-supplied WSMP library \"$use_wsmp\" works (symbol wssmp_)])
    110   AC_TRY_LINK([],[wssmp_()],
    111               [AC_MSG_RESULT(yes)
    112                defval=2],
    113               [AC_MSG_RESULT(no)])
    114   if test "$defval" = ""; then
    115     AC_MSG_CHECKING([whether user-supplied WSMP library \"$use_wsmp\" works (symbol wssmp)])
    116     AC_TRY_LINK([],[wssmp()],
    117                 [AC_MSG_RESULT(yes)
    118                  defval=3],
    119                 [AC_MSG_RESULT(no)])
    120   fi
    121   if test "x$defval" = "x"; then
    122     AC_MSG_ERROR([WSMP library $use_wsmp does not seem to work])
    123   fi
    124 
    125   AC_DEFINE_UNQUOTED([WSSMP_BARRIER], [$defval],
    126                      [Define to 2 if wssmp_ is available, and to 3 if wssmp is available])
    127124fi
     125AM_CONDITIONAL(COIN_HAS_WSMP, [test "$use_wsmp" != no])
    128126
    129127#############################################################################
  • trunk/Clp/inc/config_clp.h.in

    r1692 r1693  
    5151/* Define to 1 if the Sample package is available */
    5252#undef COIN_HAS_SAMPLE
     53
     54/* Define to 1 if the WSMP package is available */
     55#undef COIN_HAS_WSMP
     56
     57/* Define to dummy `main' function (if any) required to link to the Fortran
     58   libraries. */
     59#undef F77_DUMMY_MAIN
     60
     61/* Define to a macro mangling the given C identifier (in lower and upper
     62   case), which must not contain underscores, for linking with Fortran. */
     63#undef F77_FUNC
     64
     65/* As F77_FUNC, but for C identifiers containing underscores. */
     66#undef F77_FUNC_
     67
     68/* Define if F77 and FC dummy `main' functions are identical. */
     69#undef FC_DUMMY_MAIN_EQ_F77
    5370
    5471/* Define to 1 if you have the <dlfcn.h> header file. */
     
    108125/* Version number of package */
    109126#undef VERSION
    110 
    111 /* Define to 2 if wssmp_ is available, and to 3 if wssmp is available */
    112 #undef WSSMP_BARRIER
  • trunk/Clp/src/CbcOrClpParam.cpp

    r1692 r1693  
    4242#endif
    4343#endif
    44 #if WSSMP_BARRIER>=2
     44#if defined(COIN_HAS_WSMP) && not defined(USE_EKKWSSMP)
    4545#ifndef CBC_THREAD
    4646#define CBC_THREAD
     
    14301430     parameters[numberParameters-1].append("dense");
    14311431     //#ifdef FOREIGN_BARRIER
    1432 #ifdef WSSMP_BARRIER
     1432#ifdef COIN_HAS_WSMP
    14331433     parameters[numberParameters-1].append("fudge!Long");
    14341434     parameters[numberParameters-1].append("wssmp");
  • trunk/Clp/src/ClpCholeskyWssmp.cpp

    r1665 r1693  
    11/* $Id$ */
    2 #ifdef WSSMP_BARRIER
    32// Copyright (C) 2003, International Business Machines
    43// Corporation and others.  All Rights Reserved.
     
    6463// At present I can't get wssmp to work as my libraries seem to be out of sync
    6564// so I have linked in ekkwssmp which is an older version
    66 #if WSSMP_BARRIER==2
    67 extern "C" void wssmp(int * n,
    68                       int * columnStart , int * rowIndex , double * element,
    69                       double * diagonal , int * perm , int * invp ,
    70                       double * rhs , int * ldb , int * nrhs ,
    71                       double * aux , int * naux ,
    72                       int   * mrp , int * iparm , double * dparm);
    73 extern "C" void wsetmaxthrds(int *);
    74 #elif WSSMP_BARRIER==3
    75 extern "C" void wssmp_(int * n,
    76                        int * columnStart , int * rowIndex , double * element,
    77                        double * diagonal , int * perm , int * invp ,
    78                        double * rhs , int * ldb , int * nrhs ,
    79                        double * aux , int * naux ,
    80                        int   * mrp , int * iparm , double * dparm);
    81 extern "C" void wsetmaxthrds_(int *);
    82 static void wssmp( int *n, int *ia, int *ja,
    83                    double *avals, double *diag, int *perm, int *invp,
    84                    double *b, int *ldb, int *nrhs, double *aux, int *
    85                    naux, int *mrp, int *iparm, double *dparm)
    86 {
    87      wssmp_(n, ia, ja,
    88             avals, diag, perm, invp,
    89             b, ldb, nrhs, aux,
    90             naux, mrp, iparm, dparm);
    91 }
    92 static void wsetmaxthrds(int * n)
    93 {
    94      wsetmaxthrds_(n);
    95 }
     65#ifndef USE_EKKWSSMP
     66void F77_FUNC(wsetmaxthrds,WSETMAXTHRDS)(const ipfint* NTHREADS);
     67
     68void F77_FUNC(wssmp,WSSMP)(const ipfint* N, const ipfint* IA,
     69                           const ipfint* JA, const double* AVALS,
     70                           double* DIAG,  ipfint* PERM,
     71                           ipfint* INVP,  double* B,   
     72                           const ipfint* LDB, const ipfint* NRHS,
     73                           double* AUX, const ipfint* NAUX,
     74                           ipfint* MRP, ipfint* IPARM,
     75                           double* DPARM);
     76void F77_FUNC_(wsmp_clear,WSMP_CLEAR)(void);
     77
    9678#else
    9779/* minimum needed for user */
     
    11496                         double * aux , int * naux ,
    11597                         int   * mrp , int * iparm , double * dparm);
    116 static void wssmp( int *n, int *ia, int *ja,
     98static void F77_FUNC(wssmp,WSSMP)( int *n, int *ia, int *ja,
    11799                   double *avals, double *diag, int *perm, int *invp,
    118100                   double *b, int *ldb, int *nrhs, double *aux, int *
     
    297279     int i0 = 0;
    298280     int i1 = 1;
    299 #if WSSMP_BARRIER>=2
     281#ifndef USE_EKKWSSMP
    300282     int i2 = 1;
    301283     if (model->numberThreads() <= 0)
     
    303285     else
    304286          i2 = model->numberThreads();
    305      wsetmaxthrds(&i2);
     287     F77_FUNC(wsetmaxthrds,WSETMAXTHRDS)(&i2);
    306288#endif
    307      wssmp(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
     289     F77_FUNC(wssmp,WSSMP)(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
    308290           NULL, permute_, permuteInverse_, 0, &numberRows_, &i1,
    309291           NULL, &i0, NULL, integerParameters_, doubleParameters_);
     
    320302     doubleParameters_[10] = 1.0e-20;
    321303     doubleParameters_[11] = 1.0e-15;
    322      wssmp(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
     304     F77_FUNC(wssmp,WSSMP)(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
    323305           NULL, permute_, permuteInverse_, NULL, &numberRows_, &i1,
    324306           NULL, &i0, NULL, integerParameters_, doubleParameters_);
     
    343325          integerParameters_[2] = 2;
    344326          integerParameters_[7] = 1; // no permute
    345           wssmp(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
     327          F77_FUNC(wssmp,WSSMP)(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
    346328                NULL, permute_, permuteInverse_, NULL, &numberRows_, &i1,
    347329                NULL, &i0, NULL, integerParameters_, doubleParameters_);
     
    486468     else
    487469          integerParameters_[9] = 0;
    488      wssmp(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
     470     F77_FUNC(wssmp,WSSMP)(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
    489471           NULL, permute_, permuteInverse_, NULL, &numberRows_, &i1,
    490472           NULL, &i0, rowsDropped, integerParameters_, doubleParameters_);
     
    519501          integerParameters_[1] = 4;
    520502          integerParameters_[2] = 4;
    521           wssmp(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
     503          F77_FUNC(wssmp,WSSMP)(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
    522504                NULL, permute_, permuteInverse_, denseColumn_, &numberRows_, &numberDense,
    523505                NULL, &i0, NULL, integerParameters_, doubleParameters_);
     
    617599#endif
    618600     if (!whichDense_) {
    619           wssmp(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
     601          F77_FUNC(wssmp,WSSMP)(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
    620602                NULL, permute_, permuteInverse_, region, &numberRows_, &i1,
    621603                NULL, &i0, NULL, integerParameters_, doubleParameters_);
     
    623605          // dense columns
    624606          integerParameters_[29] = 1;
    625           wssmp(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
     607          F77_FUNC(wssmp,WSSMP)(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
    626608                NULL, permute_, permuteInverse_, region, &numberRows_, &i1,
    627609                NULL, &i0, NULL, integerParameters_, doubleParameters_);
     
    649631          integerParameters_[29] = 2;
    650632          integerParameters_[1] = 4;
    651           wssmp(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
     633          F77_FUNC(wssmp,WSSMP)(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
    652634                NULL, permute_, permuteInverse_, region, &numberRows_, &i1,
    653635                NULL, &i0, NULL, integerParameters_, doubleParameters_);
     
    661643#endif
    662644}
    663 #endif
  • trunk/Clp/src/ClpCholeskyWssmpKKT.cpp

    r1665 r1693  
    11/* $Id$ */
    2 #ifdef WSSMP_BARRIER
    32// Copyright (C) 2004, International Business Machines
    43// Corporation and others.  All Rights Reserved.
     
    6463// At present I can't get wssmp to work as my libraries seem to be out of sync
    6564// so I have linked in ekkwssmp which is an older version
    66 #if WSSMP_BARRIER==2
    67 extern "C" void wssmp(int * n,
    68                       int * columnStart , int * rowIndex , double * element,
    69                       double * diagonal , int * perm , int * invp ,
    70                       double * rhs , int * ldb , int * nrhs ,
    71                       double * aux , int * naux ,
    72                       int   * mrp , int * iparm , double * dparm);
    73 extern "C" void wsetmaxthrds(int *);
    74 #elif WSSMP_BARRIER==3
    75 extern "C" void wssmp_(int * n,
    76                        int * columnStart , int * rowIndex , double * element,
    77                        double * diagonal , int * perm , int * invp ,
    78                        double * rhs , int * ldb , int * nrhs ,
    79                        double * aux , int * naux ,
    80                        int   * mrp , int * iparm , double * dparm);
    81 extern "C" void wsetmaxthrds_(int *);
    82 static void wssmp( int *n, int *ia, int *ja,
    83                    double *avals, double *diag, int *perm, int *invp,
    84                    double *b, int *ldb, int *nrhs, double *aux, int *
    85                    naux, int *mrp, int *iparm, double *dparm)
    86 {
    87      wssmp_(n, ia, ja,
    88             avals, diag, perm, invp,
    89             b, ldb, nrhs, aux,
    90             naux, mrp, iparm, dparm);
    91 }
    92 static void wsetmaxthrds(int * n)
    93 {
    94      wsetmaxthrds_(n);
    95 }
     65#ifndef USE_EKKWSSMP
     66void F77_FUNC(wsetmaxthrds,WSETMAXTHRDS)(const ipfint* NTHREADS);
     67
     68void F77_FUNC(wssmp,WSSMP)(const ipfint* N, const ipfint* IA,
     69                           const ipfint* JA, const double* AVALS,
     70                           double* DIAG,  ipfint* PERM,
     71                           ipfint* INVP,  double* B,   
     72                           const ipfint* LDB, const ipfint* NRHS,
     73                           double* AUX, const ipfint* NAUX,
     74                           ipfint* MRP, ipfint* IPARM,
     75                           double* DPARM);
     76void F77_FUNC_(wsmp_clear,WSMP_CLEAR)(void);
     77
    9678#else
    9779/* minimum needed for user */
     
    11496                         double * aux , int * naux ,
    11597                         int   * mrp , int * iparm , double * dparm);
    116 static void wssmp( int *n, int *ia, int *ja,
     98static void F77_FUNC(wssmp,WSSMP)( int *n, int *ia, int *ja,
    11799                   double *avals, double *diag, int *perm, int *invp,
    118100                   double *b, int *ldb, int *nrhs, double *aux, int *
     
    132114}
    133115#endif
     116
    134117/* Orders rows and saves pointer to model */
    135118int
     
    232215     int i0 = 0;
    233216     int i1 = 1;
    234 #if WSSMP_BARRIER>=2
     217#ifndef USE_EKKWSSMP
    235218     int i2 = 1;
    236219     if (model->numberThreads() <= 0)
     
    238221     else
    239222          i2 = model->numberThreads();
    240      wsetmaxthrds(&i2);
    241 #endif
    242      wssmp(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
     223     F77_FUNC(wsetmaxthrds,WSETMAXTHRDS)(&i2);
     224#endif
     225     F77_FUNC(wssmp,WSSMP)(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
    243226           NULL, permute_, permuteInverse_, 0, &numberRows_, &i1,
    244227           NULL, &i0, NULL, integerParameters_, doubleParameters_);
     
    262245     }
    263246#endif
    264      wssmp(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
     247     F77_FUNC(wssmp,WSSMP)(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
    265248           NULL, permute_, permuteInverse_, NULL, &numberRows_, &i1,
    266249           NULL, &i0, NULL, integerParameters_, doubleParameters_);
     
    280263          integerParameters_[2] = 2;
    281264          integerParameters_[7] = 1; // no permute
    282           wssmp(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
     265          F77_FUNC(wssmp,WSSMP)(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
    283266                NULL, permute_, permuteInverse_, NULL, &numberRows_, &i1,
    284267                NULL, &i0, NULL, integerParameters_, doubleParameters_);
     
    444427     int * rowsDropped2 = new int[numberRows_];
    445428     CoinZeroN(rowsDropped2, numberRows_);
    446      wssmp(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
     429     F77_FUNC(wssmp,WSSMP)(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
    447430           NULL, permute_, permuteInverse_, NULL, &numberRows_, &i1,
    448431           NULL, &i0, rowsDropped2, integerParameters_, doubleParameters_);
     
    522505     integerParameters_[6] = 6;
    523506#endif
    524      wssmp(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
     507     F77_FUNC(wssmp,WSSMP)(&numberRows_, choleskyStart_, choleskyRow_, sparseFactor_,
    525508           NULL, permute_, permuteInverse_, array, &numberRows_, &i1,
    526509           NULL, &i0, NULL, integerParameters_, doubleParameters_);
     
    556539#endif
    557540}
    558 #endif
  • trunk/Clp/src/ClpMain.cpp

    r1692 r1693  
    5656#include "dmalloc.h"
    5757#endif
    58 #if defined(WSSMP_BARRIER) || defined(COIN_HAS_AMD) || defined(COIN_HAS_CHOLMOD) || defined(TAUCS_BARRIER) || defined(COIN_HAS_MUMPS)
     58#if defined(COIN_HAS_WSMP) || defined(COIN_HAS_AMD) || defined(COIN_HAS_CHOLMOD) || defined(TAUCS_BARRIER) || defined(COIN_HAS_MUMPS)
    5959#define FOREIGN_BARRIER
    6060#endif
  • trunk/Clp/src/ClpSimplex.cpp

    r1692 r1693  
    58045804#include "ClpCholeskyBase.hpp"
    58055805// Preference is WSSMP, UFL (just ordering), MUMPS, TAUCS then base
    5806 #if WSSMP_BARRIER
    58075806#include "ClpCholeskyWssmp.hpp"
    58085807#include "ClpCholeskyWssmpKKT.hpp"
    5809 #endif
    58105808#include "ClpCholeskyUfl.hpp"
    58115809#include "ClpCholeskyMumps.hpp"
  • trunk/Clp/src/ClpSolve.cpp

    r1692 r1693  
    4141#ifndef SLIM_CLP
    4242#include "Idiot.hpp"
    43 #ifdef WSSMP_BARRIER
     43#ifdef COIN_HAS_WSMP
    4444#include "ClpCholeskyWssmp.hpp"
    4545#include "ClpCholeskyWssmpKKT.hpp"
     
    19601960               }
    19611961               break;
    1962 #ifdef WSSMP_BARRIER
     1962#ifdef COIN_HAS_WSMP
    19631963          case 2: {
    19641964               ClpCholeskyWssmp * cholesky = new ClpCholeskyWssmp(CoinMax(100, model2->numberRows() / 10));
  • trunk/Clp/src/Makefile.am

    r1692 r1693  
    2626        ClpCholeskyBase.cpp ClpCholeskyBase.hpp \
    2727        ClpCholeskyDense.cpp ClpCholeskyDense.hpp \
    28         ClpCholeskyWssmp.cpp ClpCholeskyWssmp.hpp \
    29         ClpCholeskyWssmpKKT.cpp ClpCholeskyWssmpKKT.hpp \
    3028        ClpConstraint.cpp ClpConstraint.hpp \
    3129        ClpConstraintLinear.cpp ClpConstraintLinear.hpp \
     
    8987if COIN_HAS_MUMPS
    9088libClp_la_SOURCES += ClpCholeskyMumps.cpp ClpCholeskyMumps.hpp
     89endif
     90
     91if COIN_HAS_WSMP
     92libClp_la_SOURCES += ClpCholeskyWssmp.cpp ClpCholeskyWssmp.hpp ClpCholeskyWssmpKKT.cpp ClpCholeskyWssmpKKT.hpp
    9193endif
    9294
  • trunk/Clp/src/Makefile.in

    r1692 r1693  
    5151@COIN_HAS_AMD_FALSE@@COIN_HAS_CHOLMOD_FALSE@@COIN_HAS_GLPK_TRUE@am__append_3 = ClpCholeskyUfl.cpp ClpCholeskyUfl.hpp
    5252@COIN_HAS_MUMPS_TRUE@am__append_4 = ClpCholeskyMumps.cpp ClpCholeskyMumps.hpp
     53@COIN_HAS_WSMP_TRUE@am__append_5 = ClpCholeskyWssmp.cpp ClpCholeskyWssmp.hpp ClpCholeskyWssmpKKT.cpp ClpCholeskyWssmpKKT.hpp
    5354bin_PROGRAMS = clp$(EXEEXT)
    54 @COIN_HAS_CHOLMOD_TRUE@am__append_5 = -I`$(CYGPATH_W) $(CHOLMODINCDIR)`
    55 @COIN_HAS_AMD_TRUE@am__append_6 = -I`$(CYGPATH_W) $(AMDINCDIR)`
     55@COIN_HAS_CHOLMOD_TRUE@am__append_6 = -I`$(CYGPATH_W) $(CHOLMODINCDIR)`
     56@COIN_HAS_AMD_TRUE@am__append_7 = -I`$(CYGPATH_W) $(AMDINCDIR)`
    5657subdir = src
    5758DIST_COMMON = $(includecoin_HEADERS) $(srcdir)/Makefile.am \
     
    7879am__libClp_la_SOURCES_DIST = ClpConfig.h ClpCholeskyBase.cpp \
    7980        ClpCholeskyBase.hpp ClpCholeskyDense.cpp ClpCholeskyDense.hpp \
    80         ClpCholeskyWssmp.cpp ClpCholeskyWssmp.hpp \
    81         ClpCholeskyWssmpKKT.cpp ClpCholeskyWssmpKKT.hpp \
    8281        ClpConstraint.cpp ClpConstraint.hpp ClpConstraintLinear.cpp \
    8382        ClpConstraintLinear.hpp ClpConstraintQuadratic.cpp \
     
    113112        ClpSolve.cpp ClpSolve.hpp Idiot.cpp Idiot.hpp IdiSolve.cpp \
    114113        ClpCholeskyUfl.cpp ClpCholeskyUfl.hpp ClpCholeskyMumps.cpp \
    115         ClpCholeskyMumps.hpp
     114        ClpCholeskyMumps.hpp ClpCholeskyWssmp.cpp ClpCholeskyWssmp.hpp \
     115        ClpCholeskyWssmpKKT.cpp ClpCholeskyWssmpKKT.hpp
    116116@COIN_HAS_AMD_TRUE@am__objects_1 = ClpCholeskyUfl.lo
    117117@COIN_HAS_AMD_FALSE@@COIN_HAS_CHOLMOD_TRUE@am__objects_2 =  \
     
    119119@COIN_HAS_AMD_FALSE@@COIN_HAS_CHOLMOD_FALSE@@COIN_HAS_GLPK_TRUE@am__objects_3 = ClpCholeskyUfl.lo
    120120@COIN_HAS_MUMPS_TRUE@am__objects_4 = ClpCholeskyMumps.lo
     121@COIN_HAS_WSMP_TRUE@am__objects_5 = ClpCholeskyWssmp.lo \
     122@COIN_HAS_WSMP_TRUE@    ClpCholeskyWssmpKKT.lo
    121123am_libClp_la_OBJECTS = ClpCholeskyBase.lo ClpCholeskyDense.lo \
    122         ClpCholeskyWssmp.lo ClpCholeskyWssmpKKT.lo ClpConstraint.lo \
    123         ClpConstraintLinear.lo ClpConstraintQuadratic.lo \
    124         Clp_C_Interface.lo ClpDualRowDantzig.lo ClpDualRowPivot.lo \
    125         ClpDualRowSteepest.lo ClpDummyMatrix.lo \
    126         ClpDynamicExampleMatrix.lo ClpDynamicMatrix.lo \
    127         ClpEventHandler.lo ClpFactorization.lo ClpGubDynamicMatrix.lo \
    128         ClpGubMatrix.lo ClpHelperFunctions.lo ClpInterior.lo \
    129         ClpLinearObjective.lo ClpMatrixBase.lo ClpMessage.lo \
    130         ClpModel.lo ClpNetworkBasis.lo ClpNetworkMatrix.lo \
    131         ClpNonLinearCost.lo ClpNode.lo ClpObjective.lo \
    132         ClpPackedMatrix.lo ClpPlusMinusOneMatrix.lo \
     124        ClpConstraint.lo ClpConstraintLinear.lo \
     125        ClpConstraintQuadratic.lo Clp_C_Interface.lo \
     126        ClpDualRowDantzig.lo ClpDualRowPivot.lo ClpDualRowSteepest.lo \
     127        ClpDummyMatrix.lo ClpDynamicExampleMatrix.lo \
     128        ClpDynamicMatrix.lo ClpEventHandler.lo ClpFactorization.lo \
     129        ClpGubDynamicMatrix.lo ClpGubMatrix.lo ClpHelperFunctions.lo \
     130        ClpInterior.lo ClpLinearObjective.lo ClpMatrixBase.lo \
     131        ClpMessage.lo ClpModel.lo ClpNetworkBasis.lo \
     132        ClpNetworkMatrix.lo ClpNonLinearCost.lo ClpNode.lo \
     133        ClpObjective.lo ClpPackedMatrix.lo ClpPlusMinusOneMatrix.lo \
    133134        ClpPredictorCorrector.lo ClpPdco.lo ClpPdcoBase.lo ClpLsqr.lo \
    134135        ClpPresolve.lo ClpPrimalColumnDantzig.lo \
     
    137138        ClpSimplexNonlinear.lo ClpSimplexOther.lo ClpSimplexPrimal.lo \
    138139        ClpSolve.lo Idiot.lo IdiSolve.lo $(am__objects_1) \
    139         $(am__objects_2) $(am__objects_3) $(am__objects_4)
     140        $(am__objects_2) $(am__objects_3) $(am__objects_4) \
     141        $(am__objects_5)
    140142libClp_la_OBJECTS = $(am_libClp_la_OBJECTS)
    141143binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
     
    241243COIN_HAS_SAMPLE_FALSE = @COIN_HAS_SAMPLE_FALSE@
    242244COIN_HAS_SAMPLE_TRUE = @COIN_HAS_SAMPLE_TRUE@
     245COIN_HAS_WSMP_FALSE = @COIN_HAS_WSMP_FALSE@
     246COIN_HAS_WSMP_TRUE = @COIN_HAS_WSMP_TRUE@
    243247COIN_PKG_CONFIG_PATH = @COIN_PKG_CONFIG_PATH@
    244248COIN_PKG_CONFIG_PATH_UNINSTALLED = @COIN_PKG_CONFIG_PATH_UNINSTALLED@
     
    263267F77 = @F77@
    264268FFLAGS = @FFLAGS@
     269FLIBS = @FLIBS@
    265270GLPK_CFLAGS = @GLPK_CFLAGS@
    266271GLPK_CFLAGS_INSTALLED = @GLPK_CFLAGS_INSTALLED@
     
    426431libClp_la_SOURCES = ClpConfig.h ClpCholeskyBase.cpp \
    427432        ClpCholeskyBase.hpp ClpCholeskyDense.cpp ClpCholeskyDense.hpp \
    428         ClpCholeskyWssmp.cpp ClpCholeskyWssmp.hpp \
    429         ClpCholeskyWssmpKKT.cpp ClpCholeskyWssmpKKT.hpp \
    430433        ClpConstraint.cpp ClpConstraint.hpp ClpConstraintLinear.cpp \
    431434        ClpConstraintLinear.hpp ClpConstraintQuadratic.cpp \
     
    461464        ClpSolve.cpp ClpSolve.hpp Idiot.cpp Idiot.hpp IdiSolve.cpp \
    462465        $(am__append_1) $(am__append_2) $(am__append_3) \
    463         $(am__append_4)
     466        $(am__append_4) $(am__append_5)
    464467
    465468# This is for libtool
     
    491494
    492495# CbcOrClpParam seem to require COIN_HAS_CLP so that it knows that it is build within Clp
    493 AM_CPPFLAGS = $(CLPLIB_CFLAGS) -DCOIN_HAS_CLP $(am__append_5) \
    494         $(am__append_6)
     496AM_CPPFLAGS = $(CLPLIB_CFLAGS) -DCOIN_HAS_CLP $(am__append_6) \
     497        $(am__append_7)
    495498
    496499# This line is necessary to allow VPATH compilation with MS compilers
  • trunk/Clp/src/OsiClp/Makefile.in

    r1692 r1693  
    155155COIN_HAS_SAMPLE_FALSE = @COIN_HAS_SAMPLE_FALSE@
    156156COIN_HAS_SAMPLE_TRUE = @COIN_HAS_SAMPLE_TRUE@
     157COIN_HAS_WSMP_FALSE = @COIN_HAS_WSMP_FALSE@
     158COIN_HAS_WSMP_TRUE = @COIN_HAS_WSMP_TRUE@
    157159COIN_PKG_CONFIG_PATH = @COIN_PKG_CONFIG_PATH@
    158160COIN_PKG_CONFIG_PATH_UNINSTALLED = @COIN_PKG_CONFIG_PATH_UNINSTALLED@
     
    177179F77 = @F77@
    178180FFLAGS = @FFLAGS@
     181FLIBS = @FLIBS@
    179182GLPK_CFLAGS = @GLPK_CFLAGS@
    180183GLPK_CFLAGS_INSTALLED = @GLPK_CFLAGS_INSTALLED@
  • trunk/Clp/src/unitTest.cpp

    r1692 r1693  
    5353static int barrierAvailable = 1;
    5454static std::string nameBarrier = "barrier-UFL";
    55 #elif WSSMP_BARRIER
     55#elif COIN_HAS_WSMP
    5656static int barrierAvailable = 2;
    5757static std::string nameBarrier = "barrier-WSSMP";
     
    11181118                         nameAlgorithm = "barrier-UFL";
    11191119#endif
    1120 #ifdef WSSMP_BARRIER
     1120#ifdef COIN_HAS_WSMP
    11211121                         solveOptions.setSpecialOption(4, 2);
    11221122                         nameAlgorithm = "barrier-WSSMP";
  • trunk/Clp/test/Makefile.in

    r1692 r1693  
    145145COIN_HAS_SAMPLE_FALSE = @COIN_HAS_SAMPLE_FALSE@
    146146COIN_HAS_SAMPLE_TRUE = @COIN_HAS_SAMPLE_TRUE@
     147COIN_HAS_WSMP_FALSE = @COIN_HAS_WSMP_FALSE@
     148COIN_HAS_WSMP_TRUE = @COIN_HAS_WSMP_TRUE@
    147149COIN_PKG_CONFIG_PATH = @COIN_PKG_CONFIG_PATH@
    148150COIN_PKG_CONFIG_PATH_UNINSTALLED = @COIN_PKG_CONFIG_PATH_UNINSTALLED@
     
    167169F77 = @F77@
    168170FFLAGS = @FFLAGS@
     171FLIBS = @FLIBS@
    169172GLPK_CFLAGS = @GLPK_CFLAGS@
    170173GLPK_CFLAGS_INSTALLED = @GLPK_CFLAGS_INSTALLED@
Note: See TracChangeset for help on using the changeset viewer.