help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Octave / cygwin / dynamic linking - success


From: Paul Kienzle
Subject: Re: Octave / cygwin / dynamic linking - success
Date: Sun, 8 Sep 2002 21:36:20 -0400

[Once again, this time with the patch. -Paul]

I have a patch to compile octave for cygwin in such a way that you
can do mkoctfile and load oct-files.

The biggest change is that DLLs need to be linked against all their
dependencies, so a number of changes are required throughout the build
system.  I define the flag INCLUDE_LINK_DEPS for this so that individual
Makefiles can define LINK_DEPS appropriately for the library being built.

There was a circular dependency between liboctave and liboct-readline
via str-vec.cc.  I removed this by combining liboctave and liboct-*.
It isn't necessary to include liboct-pathsearch in liboctave, but I
did it anyway.

The readline library needs to be linked into liboctave.dll instead of
octave.exe, which means including it in the LIBS variable is insufficient.

I don't pick up all dynamic libraries on the system automatically.  To link
against a dynamic library the link command needs -lxxx.dll rather than
-lxxx.

* hdf5, lapack, and blas can be specified in configure:
    ./configure --with-xxx=-lxxx.dll

* ncurses isn't required since cygwin's readline is already linked against it.

* readline uses the static version.  This could be fixed in the
  OCTAVE_ENABLE_READLINE defined in aclocal.m4.  Static linking may be
  prefered however since we don't have version numbers to protect us from
  DLL hell.

DLLs must be installed in the bin directory and a new file, libxxx.dll.a,
must be installed in the lib directory.  I call these the load and link
forms respectively.  I tag them with SHLBIN and SHLLIB which I define in
configure.  Andy says this isn't necessary.  I haven't tried linking
directly to the dll.

Although the C++ compiler prepends an underscore, cygwin's dlsym
automatically adds it, so the configure test for CXX_PREPENDS_UNDERSCORE in
aclocal.m4 is leading us astray.

AFAIK, version numbers aren't supported in cygwin.  I'm installing the file
with version numbers anyway to make the Makefiles simpler.  I made the
non-versioned target the principle target.  I don't know if this will break
Unix builds.  Does ld store the output file name anywhere in the shared
library?

I haven't touched bin-dist rules or the corresponding install-octave.  They
will be broken for cygwin.

I haven't run make check (I don't believe it is possible on Win 9x since
expect won't run).  To run make check or otherwise check octave in situ all
the DLLs must be on the path or in the current directory.  I just copied
the DLLs to src, but symbolic links to liboctave and libcruft may work.

I tried installing, but for some reason the oct files in
/usr/local/execlib/octave-2.1.36 weren't symlinked. Putting the links
in by hand would let me run the standard DLD functions.

I was able to run mkoctfile on octave-forge/main/image/conv2.cc and it
worked successfully.  Next step is to try building octave-forge in its
entirety.

Finally, this patch is not thoroughly tested.  I haven't checked that
it doesn't break things on unix.  Also, the build process is very long,
so the final patch contains a number of simple fixes which I did in
parallel in the .in files and the result files so they should work
(fingers crossed).

Paul Kienzle <address@hidden>

octave/ChangeLog

    * configure.in: Use correct SHLEXT and PICFLAG for cygwin.
    * configure.in: Cygwin must link against -loctave.dll, etc.

    * configure.in: Define INCLUDE_LINK_DEPS because cygwin needs DLLs to
    be linked against their dependencies.
    * Makeconf.in: Ditto.

    * configure.in: Define SHLLIB and SHLBIN because cygwin doesn't link
    against shared libs but instead against -lxxx.dll. LIB and BIN are
    the link and load forms respectively of the library.
    * Makeconf.in: Ditto, and define the corresponding XXX_VER.

    * configure.in: Remove LIBOCT_READLINE and LIBOCT_PATHSEARCH because
    they are merged into LIBOCTAVE to avoid circular dependencies.
    * Makeconf.in: Ditto.
    * mkoctfile.in: Ditto.

    * aclocal.m4: Define LIBREADLINE because cygwin requires liboctave to
    be linked against -lreadline so including it in LIBS isn't sufficient.
    * mkoctfile.in: Ditto.

    * aclocal.m4: Force CXX_PREPENDS_UNDERSCORE to no for cygwin.

libcruft/ChangeLog

    * Makefile.in: Use link dependencies for shared libs if INCLUDE_LINK_DEPS.
    * Makefile.in: Make the unversioned library the main build target.
    * Makefile.in: (Un)Install link and load forms of the library separately.

liboctave/ChangeLog

    * Makefile.in: Merge liboctave with liboct-readline and liboct-pathsearch.
    * Makefile.in: Use link dependencies for shared libs if INCLUDE_LINK_DEPS.
    * Makefile.in: Make the unversioned library the main build target.
    * Makefile.in: (Un)Install link and load forms of the library separately.

src/ChangeLog

    * Makefile.in: Merge liboctave with liboct-readline and liboct-pathsearch.
    * Makefile.in: Use link dependencies for shared libs if INCLUDE_LINK_DEPS.
    * Makefile.in: Make the unversioned library the main build target.
    * Makefile.in: (Un)Install link and load forms of the library separately.
    * toplev.cc: Remove liboct_readline and liboct_pathsearch.


Index: Makeconf.in
===================================================================
RCS file: /cvs/octave/Makeconf.in,v
retrieving revision 1.122
diff -c -p -b -r1.122 Makeconf.in
*** Makeconf.in 2002/08/17 02:18:18     1.122
--- Makeconf.in 2002/09/09 01:07:29
*************** STATIC_LIBS = @STATIC_LIBS@
*** 58,64 ****
--- 58,70 ----
  SHARED_LIBS = @SHARED_LIBS@
  SHLEXT = @SHLEXT@
  SHLEXT_VER = $(SHLEXT).$(version)
+ SHLLIB = @SHLLIB@
+ SHLLIB_VER = $(SHLLIB).$(version)
+ SHLBIN = @SHLBIN@
+ SHLBIN_VER = $(SHLBIN).$(version)
  
+ INCLUDE_LINK_DEPS = @INCLUDE_LINK_DEPS@
+ 
  LIBEXT = a
  
  # Fortran to C translator and associated flags.
*************** LIBPLPLOT = @LIBPLPLOT@
*** 148,156 ****
  LIBKPATHSEA = @LIBKPATHSEA@
  LIBOCTINTERP = @LIBOCTINTERP@
  LIBOCTAVE = @LIBOCTAVE@
- LIBOCT_READLINE = @LIBOCT_READLINE@
- LIBOCT_PATHSEARCH = @LIBOCT_PATHSEARCH@
  LIBCRUFT = @LIBCRUFT@
  
  BLAS_LIBS = @BLAS_LIBS@
  FFTW_LIBS = @FFTW_LIBS@
--- 154,161 ----
  LIBKPATHSEA = @LIBKPATHSEA@
  LIBOCTINTERP = @LIBOCTINTERP@
  LIBOCTAVE = @LIBOCTAVE@
  LIBCRUFT = @LIBCRUFT@
+ LIBREADLINE = @LIBREADLINE@
  
  BLAS_LIBS = @BLAS_LIBS@
  FFTW_LIBS = @FFTW_LIBS@
*************** sed < $< \
*** 375,380 ****
--- 380,386 ----
    -e "s;%OCTAVE_CONF_FPICFLAG%;\"${FPICFLAG}\";" \
    -e "s;%OCTAVE_CONF_GLOB_INCFLAGS%;\"${GLOB_INCFLAGS}\";" \
    -e "s;%OCTAVE_CONF_INCFLAGS%;\"${INCFLAGS}\";" \
+   -e "s;%OCTAVE_CONF_INCLUDE_LINK_DEPS%;\"${INCLUDE_LINK_DEPS}\";"\
    -e "s;%OCTAVE_CONF_LD_CXX%;\"${LD_CXX}\";" \
    -e "s;%OCTAVE_CONF_LDFLAGS%;\"${LDFLAGS}\";" \
    -e "s;%OCTAVE_CONF_LD_STATIC_FLAG%;\"${LD_STATIC_FLAG}\";" \
*************** sed < $< \
*** 389,397 ****
    -e "s;%OCTAVE_CONF_LIBKPATHSEA%;\"${LIBKPATHSEA}\";" \
    -e "s;%OCTAVE_CONF_LIBOCTAVE%;\"${LIBOCTAVE}\";" \
    -e "s;%OCTAVE_CONF_LIBOCTINTERP%;\"${LIBOCTINTERP}\";" \
-   -e "s;%OCTAVE_CONF_LIBOCT_PATHSEARCH%;\"${LIBOCT_PATHSEARCH}\";" \
-   -e "s;%OCTAVE_CONF_LIBOCT_READLINE%;\"${LIBOCT_READLINE}\";" \
    -e "s;%OCTAVE_CONF_LIBPLPLOT%;\"${LIBPLPLOT}\";" \
    -e "s;%OCTAVE_CONF_LIBS%;\"${LIBS}\";" \
    -e "s;%OCTAVE_CONF_LN_S%;\"${LN_S}\";" \
    -e "s;%OCTAVE_CONF_MKOCTFILE_INCFLAGS%;\"${MKOCTFILE_INCFLAGS}\";" \
--- 395,402 ----
    -e "s;%OCTAVE_CONF_LIBKPATHSEA%;\"${LIBKPATHSEA}\";" \
    -e "s;%OCTAVE_CONF_LIBOCTAVE%;\"${LIBOCTAVE}\";" \
    -e "s;%OCTAVE_CONF_LIBOCTINTERP%;\"${LIBOCTINTERP}\";" \
    -e "s;%OCTAVE_CONF_LIBPLPLOT%;\"${LIBPLPLOT}\";" \
+   -e "s;%OCTAVE_CONF_LIBREADLINE%;\"${LIBREADLINE}\";" \
    -e "s;%OCTAVE_CONF_LIBS%;\"${LIBS}\";" \
    -e "s;%OCTAVE_CONF_LN_S%;\"${LN_S}\";" \
    -e "s;%OCTAVE_CONF_MKOCTFILE_INCFLAGS%;\"${MKOCTFILE_INCFLAGS}\";" \
*************** sed < $< \
*** 403,408 ****
--- 408,414 ----
    -e "s;%OCTAVE_CONF_RUNTEST%;\"${RUNTEST}\";" \
    -e "s;%OCTAVE_CONF_SHARED_LIBS%;\"${SHARED_LIBS}\";" \
    -e "s;%OCTAVE_CONF_SHLEXT%;\"${SHLEXT}\";" \
+   -e "s;%OCTAVE_CONF_SHLLINKEXT%;\"${SHLLINKEXT}\";" \
    -e "s;%OCTAVE_CONF_SHLEXT_VER%;\"${SHLEXT_VER}\";" \
    -e "s;%OCTAVE_CONF_SH_LD%;\"${SH_LD}\";" \
    -e "s;%OCTAVE_CONF_SH_LDFLAGS%;\"${SH_LDFLAGS}\";" \
Index: aclocal.m4
===================================================================
RCS file: /cvs/octave/aclocal.m4,v
retrieving revision 1.63
diff -c -p -b -r1.63 aclocal.m4
*** aclocal.m4  2002/07/02 23:46:48     1.63
--- aclocal.m4  2002/09/09 01:07:31
*************** EOF
*** 540,545 ****
--- 540,551 ----
        cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
      fi
      AC_LANG_POP(C++)
+     dnl FIXME: Ignore test result for cygwin --- yes it prepends underscore, 
but dlsym
+     dnl seems to add it automatically.  The correct test is to build the 
shared library
+     dnl then try to grab the symbol from it with and without underscore.
+     case "$canonical_host_type" in
+       *-*-cygwin*) octave_cv_cxx_prepends_underscore=no ;;
+     esac
    ])
    AC_MSG_RESULT($octave_cv_cxx_prepends_underscore)
    if test $octave_cv_cxx_prepends_underscore = yes; then
*************** dnl
*** 591,596 ****
--- 597,603 ----
  dnl OCTAVE_ENABLE_READLINE
  AC_DEFUN(OCTAVE_ENABLE_READLINE, [
    USE_READLINE=true
+   LIBREADLINE=
    AC_ARG_ENABLE(readline,
      [  --enable-readline       use readline library (default is yes)],
      [if test "$enableval" = no; then
*************** AC_DEFUN(OCTAVE_ENABLE_READLINE, [
*** 599,611 ****
       fi])
    if $USE_READLINE; then
      AC_CHECK_LIB(readline, rl_set_keyboard_input_timeout, [
!       LIBS="-lreadline $LIBS"
        AC_DEFINE(USE_READLINE, 1, [Define to use the readline library.])
      ], [
        AC_MSG_WARN([I need GNU Readline 4.2 or later])
        AC_MSG_ERROR([this is fatal unless you specify --disable-readline])
      ])
    fi
  ])
  dnl
  dnl Determine the C++ compiler ABI. It sets the macro CXX_ABI to the
--- 606,619 ----
       fi])
    if $USE_READLINE; then
      AC_CHECK_LIB(readline, rl_set_keyboard_input_timeout, [
!       LIBREADLINE="-lreadline"
        AC_DEFINE(USE_READLINE, 1, [Define to use the readline library.])
      ], [
        AC_MSG_WARN([I need GNU Readline 4.2 or later])
        AC_MSG_ERROR([this is fatal unless you specify --disable-readline])
      ])
    fi
+   AC_SUBST(LIBREADLINE)
  ])
  dnl
  dnl Determine the C++ compiler ABI. It sets the macro CXX_ABI to the
Index: configure.in
===================================================================
RCS file: /cvs/octave/configure.in,v
retrieving revision 1.364
diff -c -p -b -r1.364 configure.in
*** configure.in        2002/08/17 19:38:32     1.364
--- configure.in        2002/09/09 01:07:34
*************** else
*** 595,619 ****
    AC_MSG_ERROR([You can't disable building static AND shared libraries!])
  fi
  
- if $SHARED_LIBS; then
-   LIBOCTINTERP=-loctinterp
-   LIBOCTAVE=-loctave
-   LIBOCT_READLINE=-loct-readline
-   LIBOCT_PATHSEARCH=-loct-pathsearch
-   LIBCRUFT=-lcruft
- else
-   LIBOCTINTERP='$(TOPDIR)/src/liboctinterp.$(LIBEXT)'
-   LIBOCTAVE='$(TOPDIR)/liboctave/liboctave.$(LIBEXT)'
-   LIBOCT_READLINE='$(TOPDIR)/liboctave/liboct-readline.$(LIBEXT)'
-   LIBOCT_PATHSEARCH='$(TOPDIR)/liboctave/liboct-pathsearch.$(LIBEXT)'
-   LIBCRUFT='$(TOPDIR)/libcruft/libcruft.$(LIBEXT)'
- fi
- AC_SUBST(LIBOCTINTERP)
- AC_SUBST(LIBOCTAVE)
- AC_SUBST(LIBOCT_READLINE)
- AC_SUBST(LIBOCT_PATHSEARCH)
- AC_SUBST(LIBCRUFT)
- 
  use_rpath=true
  AC_ARG_ENABLE(rpath,
    [  --enable-rpath          add -rpath to link command for shared libraries],
--- 595,600 ----
*************** CPICFLAG=-fPIC
*** 624,633 ****
--- 605,618 ----
  CXXPICFLAG=-fPIC
  FPICFLAG=-fPIC
  SHLEXT=so
+ SHLLINKEXT=
+ SHLBIN=
+ SHLLIB=$SHLEXT
  SH_LD="$CXX"
  SH_LDFLAGS=-shared
  SONAME_FLAGS=
  RLD_FLAG=
+ INCLUDE_LINK_DEPS=false
  TEMPLATE_AR="$AR"
  TEMPLATE_ARFLAGS="$ARFLAGS"
  case "$canonical_host_type" in
*************** case "$canonical_host_type" in
*** 646,651 ****
--- 631,647 ----
    *-*-darwin*)
      SH_LDFLAGS='-bundle -bundle_loader $(bindir)/octave'
    ;;
+   *-*-cygwin*)
+     CXXPICFLAG=
+     CPICFLAG=
+     FPICFLAG=
+     SHLEXT=dll
+     SHLLIB=dll.a
+     SHLBIN=dll
+     SHLLINKEXT=.dll
+     SONAME_FLAGS='-Wl,address@hidden'
+     INCLUDE_LINK_DEPS=true
+   ;;
    *-*-linux* | *-*-gnu*)
      SONAME_FLAGS='-Xlinker -soname -Xlinker $@'
      RLD_FLAG='-Xlinker -rpath -Xlinker $(octlibdir)'
*************** AC_MSG_RESULT([defining SONAME_FLAGS to 
*** 733,742 ****
--- 729,741 ----
  AC_MSG_RESULT([defining RLD_FLAG to be $RLD_FLAG])
  AC_MSG_RESULT([defining TEMPLATE_AR to be $TEMPLATE_AR])
  AC_MSG_RESULT([defining TEMPLATE_ARFLAGS to be $TEMPLATE_ARFLAGS])
+ AC_MSG_RESULT([defining INCLUDE_LINK_DEPS to be $INCLUDE_LINK_DEPS])
  AC_SUBST(FPICFLAG)
  AC_SUBST(CPICFLAG)
  AC_SUBST(CXXPICFLAG)
  AC_SUBST(SHLEXT)
+ AC_SUBST(SHLLIB)
+ AC_SUBST(SHLBIN)
  AC_SUBST(DLFCN_DIR)
  AC_SUBST(SH_LD)
  AC_SUBST(SH_LDFLAGS)
*************** AC_SUBST(SONAME_FLAGS)
*** 744,749 ****
--- 743,762 ----
  AC_SUBST(RLD_FLAG)
  AC_SUBST(TEMPLATE_AR)
  AC_SUBST(TEMPLATE_ARFLAGS)
+ AC_SUBST(INCLUDE_LINK_DEPS)
+ 
+ if $SHARED_LIBS; then
+   LIBOCTINTERP=-loctinterp$SHLLINKEXT
+   LIBOCTAVE=-loctave$SHLLINKEXT
+   LIBCRUFT=-lcruft$SHLLINKEXT
+ else
+   LIBOCTINTERP='$(TOPDIR)/src/liboctinterp.$(LIBEXT)'
+   LIBOCTAVE='$(TOPDIR)/liboctave/liboctave.$(LIBEXT)'
+   LIBCRUFT='$(TOPDIR)/libcruft/libcruft.$(LIBEXT)'
+ fi
+ AC_SUBST(LIBOCTINTERP)
+ AC_SUBST(LIBOCTAVE)
+ AC_SUBST(LIBCRUFT)
  
  ### Allow compilation of smaller kernel.  This only works if some form
  ### of dynamic linking is also supported and used.
Index: mkoctfile.in
===================================================================
RCS file: /cvs/octave/mkoctfile.in,v
retrieving revision 1.30
diff -c -p -b -r1.30 mkoctfile.in
*** mkoctfile.in        2002/04/04 00:44:21     1.30
--- mkoctfile.in        2002/09/09 01:07:36
*************** set -e
*** 35,41 ****
  : ${RLD_FLAG=%OCTAVE_CONF_RLD_FLAG%}
  : ${RDYNAMIC_FLAG=%OCTAVE_CONF_RDYNAMIC_FLAG%}
  : ${LIBOCTAVE=%OCTAVE_CONF_LIBOCTAVE%}
! : ${LIBOCT_READLINE=%OCTAVE_CONF_LIBOCT_READLINE%}
  : ${LIBCRUFT=%OCTAVE_CONF_LIBCRUFT%}
  : ${BLAS_LIBS=%OCTAVE_CONF_BLAS_LIBS%}
  : ${FFTW_LIBS=%OCTAVE_CONF_FFTW_LIBS%}
--- 35,42 ----
  : ${RLD_FLAG=%OCTAVE_CONF_RLD_FLAG%}
  : ${RDYNAMIC_FLAG=%OCTAVE_CONF_RDYNAMIC_FLAG%}
  : ${LIBOCTAVE=%OCTAVE_CONF_LIBOCTAVE%}
! : ${LIBOCTINTERP=%OCTAVE_CONF_LIBOCTINTERP%}
! : ${LIBREADLINE=%OCTAVE_CONF_LIBREADLINE%}
  : ${LIBCRUFT=%OCTAVE_CONF_LIBCRUFT%}
  : ${BLAS_LIBS=%OCTAVE_CONF_BLAS_LIBS%}
  : ${FFTW_LIBS=%OCTAVE_CONF_FFTW_LIBS%}
*************** set -e
*** 45,50 ****
--- 46,52 ----
  : ${LDFLAGS=%OCTAVE_CONF_LDFLAGS%}
  : ${LD_STATIC_FLAG=%OCTAVE_CONF_LD_STATIC_FLAG%}
  : ${LFLAGS=%OCTAVE_CONF_MKOCTFILE_LFLAGS%}
+ : ${INCLUDE_LINK_DEPS=%OCTAVE_CONF_INCLUDE_LINK_DEPS%}
  
  : ${ALL_FFLAGS="$FFLAGS"}
  
*************** set -e
*** 54,60 ****
  
  : ${ALL_LDFLAGS="$LD_STATIC_FLAG $CPICFLAG $LDFLAGS"}
  
! : ${OCTAVE_LIBS="$LIBOCTAVE $LIBOCT_READLINE $SPECIAL_MATH_LIB $LIBCRUFT"}
  
  # Local variables.
  
--- 56,62 ----
  
  : ${ALL_LDFLAGS="$LD_STATIC_FLAG $CPICFLAG $LDFLAGS"}
  
! : ${OCTAVE_LIBS="$LIBOCTAVE $SPECIAL_MATH_LIB $LIBCRUFT"}
  
  # Local variables.
  
*************** Options:
*** 140,154 ****
                              FPICFLAG    SHLEXT
                              CC          SH_LD
                              CFLAGS      SH_LDFLAGS
  
                              LD_CXX      LFLAGS
                              LDFLAGS     LD_STATIC_FLAG
                              RLD_FLAG    RDYNAMIC_FLAG
  
!                             LIBOCTAVE   LIBOCT_READLINE
!                             LIBCRUFT    BLAS_LIBS
!                             FFTW_LIBS   LIBS
!                             FLIBS       OCTAVE_LIBS
  
    --link-stand-alone      Link a stand-alone executable file.
  
--- 142,157 ----
                              FPICFLAG    SHLEXT
                              CC          SH_LD
                              CFLAGS      SH_LDFLAGS
+                           INCLUDE_LINK_DEPS
  
                              LD_CXX      LFLAGS
                              LDFLAGS     LD_STATIC_FLAG
                              RLD_FLAG    RDYNAMIC_FLAG
  
!                             LIBOCTAVE   LIBCRUFT      LIBOCTINTERP
!                             BLAS_LIBS FFTW_LIBS
!                             LIBS      FLIBS
!                           OCTAVE_LIBS
  
    --link-stand-alone      Link a stand-alone executable file.
  
*************** fi
*** 367,373 ****
  if $link; then
    if $link_stand_alone; then
      if [ -n "$LD_CXX" ]; then
!       cmd="$LD_CXX $CPPFLAGS $ALL_CXXFLAGS $RDYNAMIC_FLAG $ALL_LDFLAGS 
$output_option $objfiles $ldflags $LFLAGS $RLD_FLAG $OCTAVE_LIBS $BLAS_LIBS 
$FFTW_LIBS $LIBS $FLIBS"
        $dbg $cmd
        eval $cmd
      else
--- 370,376 ----
  if $link; then
    if $link_stand_alone; then
      if [ -n "$LD_CXX" ]; then
!       cmd="$LD_CXX $CPPFLAGS $ALL_CXXFLAGS $RDYNAMIC_FLAG $ALL_LDFLAGS 
$output_option $objfiles $ldflags $LFLAGS $RLD_FLAG $OCTAVE_LIBS $BLAS_LIBS 
$FFTW_LIBS $LIBREADLINE $LIBS $FLIBS"
        $dbg $cmd
        eval $cmd
      else
*************** if $link; then
*** 375,381 ****
        exit 1
      fi
    else
!     cmd="$SH_LD $SH_LDFLAGS -o $octfile $objfiles $ldflags"
      $dbg $cmd
      eval $cmd
    fi
--- 378,388 ----
        exit 1
      fi
    else
!     LINK_DEPS=
!     if $INCLUDE_LINK_DEPS ; then
!       LINK_DEPS="$LFLAGS $LIBOCTAVE $LIBCRUFT $LIBOCTINTERP $BLAS_LIBS 
$FFTW_LIBS"
!     fi
!     cmd="$SH_LD $SH_LDFLAGS -o $octfile $objfiles $ldflags $LINK_DEPS"
      $dbg $cmd
      eval $cmd
    fi
Index: libcruft/Makefile.in
===================================================================
RCS file: /cvs/octave/libcruft/Makefile.in,v
retrieving revision 1.75
diff -c -p -b -r1.75 Makefile.in
*** libcruft/Makefile.in        2002/07/12 19:50:46     1.75
--- libcruft/Makefile.in        2002/09/09 01:07:37
*************** ifeq ($(SHARED_LIBS), true)
*** 44,49 ****
--- 44,54 ----
    BINDISTFILES = libcruft.$(SHLEXT_VER)
  endif
  
+ # include BLAS and FFTW just in case some of libcruft depends on them
+ ifeq ($(INCLUDE_LINK_DEPS),true)
+   LINK_DEPS=$(BLAS_LIBS) $(FFTW_LIBS) $(FLIBS)
+ endif
+ 
  all: libraries
  .PHONY: all
  
*************** endif
*** 75,83 ****
  
  ifeq ($(SHARED_LIBS), true)
    ifeq ($(STATIC_LIBS), true)
!     LIBRARIES = libcruft.$(LIBEXT) libcruft.$(SHLEXT)
    else
!     LIBRARIES = libcruft.$(SHLEXT)
    endif
  else
    ifeq ($(STATIC_LIBS), true)
--- 80,88 ----
  
  ifeq ($(SHARED_LIBS), true)
    ifeq ($(STATIC_LIBS), true)
!     LIBRARIES = libcruft.$(LIBEXT) libcruft.$(SHLEXT_VER)
    else
!     LIBRARIES = libcruft.$(SHLEXT_VER)
    endif
  else
    ifeq ($(STATIC_LIBS), true)
*************** libcruft.$(LIBEXT): $(CRUFT_OBJ)
*** 96,108 ****
        $(AR) $(ARFLAGS) $@ $^
        $(RANLIB) $@
  
! libcruft.$(SHLEXT): libcruft.$(SHLEXT_VER)
        rm -f $@
        $(LN_S) $< $@
  
! libcruft.$(SHLEXT_VER): $(CRUFT_PICOBJ)
        rm -f $@
!       $(SH_LD) $(SH_LDFLAGS) $(SONAME_FLAGS) -o $@ $^
  
  $(CRUFT_OBJ):
  
--- 101,113 ----
        $(AR) $(ARFLAGS) $@ $^
        $(RANLIB) $@
  
! libcruft.$(SHLEXT_VER): libcruft.$(SHLEXT)
        rm -f $@
        $(LN_S) $< $@
  
! libcruft.$(SHLEXT): $(CRUFT_PICOBJ)
        rm -f $@
!       $(SH_LD) $(SH_LDFLAGS) $(SONAME_FLAGS) -o $@ $^ $(LINK_DEPS)
  
  $(CRUFT_OBJ):
  
*************** install::
*** 121,132 ****
          $(RANLIB) $(octlibdir)/libcruft.$(LIBEXT) ; \
        fi
        if $(SHARED_LIBS); then \
!         rm -f $(octlibdir)/libcruft.$(SHLEXT_VER); \
          $(INSTALL_PROGRAM) \
!           libcruft.$(SHLEXT_VER) $(octlibdir)/libcruft.$(SHLEXT_VER); \
!         cd $(octlibdir); \
!         rm -f libcruft.$(SHLEXT); \
!         $(LN_S) libcruft.$(SHLEXT_VER) libcruft.$(SHLEXT); \
        fi
  
  install-strip::
--- 126,145 ----
          $(RANLIB) $(octlibdir)/libcruft.$(LIBEXT) ; \
        fi
        if $(SHARED_LIBS); then \
!         rm -f $(octlibdir)/libcruft.$(SHLLIB_VER); \
          $(INSTALL_PROGRAM) \
!           libcruft.$(SHLLIB_VER) $(octlibdir)/libcruft.$(SHLLIB_VER); \
!         ( cd $(octlibdir); \
!           rm -f libcruft.$(SHLLIB); \
!           $(LN_S) libcruft.$(SHLLIB_VER) libcruft.$(SHLLIB) ); \
!         if  test x$(SHLBIN) != x ; then \
!           rm -f $(bindir)/libcruft.$(SHLBIN_VER); \
!           $(INSTALL_PROGRAM) \
!             libcruft.$(SHLBIN_VER) $(bindir)/libcruft.$(SHLBIN_VER); \
!           ( cd $(bindir); \
!             rm -f libcruft.$(SHLBIN); \
!             $(LN_S) libcruft.$(SHLBIN_VER) libcruft.$(SHLBIN) ); \
!           fi; \
        fi
  
  install-strip::
*************** install-strip::
*** 134,141 ****
  
  uninstall::
        rm -f $(octlibdir)/libcruft.$(LIBEXT)
!       rm -f $(octlibdir)/libcruft.$(SHLEXT)
!       rm -f $(octlibdir)/libcruft.$(SHLEXT_VER)
  
  tags TAGS:: $(SOURCES)
        $(SUBDIR_FOR_COMMAND)
--- 147,158 ----
  
  uninstall::
        rm -f $(octlibdir)/libcruft.$(LIBEXT)
!       rm -f $(octlibdir)/libcruft.$(SHLLIB)
!       rm -f $(octlibdir)/libcruft.$(SHLLIB_VER)
!       if test x$(SHLBIN) != x; then \
!           rm -f $(bindir)/libcruft.$(SHLBIN); \
!           rm -f $(bindir)/libcruft.$(SHLBIN_VER); \
!       fi
  
  tags TAGS:: $(SOURCES)
        $(SUBDIR_FOR_COMMAND)
Index: liboctave/Makefile.in
===================================================================
RCS file: /cvs/octave/liboctave/Makefile.in,v
retrieving revision 1.146
diff -c -p -b -r1.146 Makefile.in
*** liboctave/Makefile.in       2002/08/14 19:31:19     1.146
--- liboctave/Makefile.in       2002/09/09 01:07:39
*************** INSTALL = @INSTALL@
*** 18,27 ****
  INSTALL_PROGRAM = @INSTALL_PROGRAM@
  INSTALL_DATA = @INSTALL_DATA@
  
! LIBOCTAVE_LFLAGS = -L../libcruft -L../readline -L../kpathsea \
!       -L../glob -L. $(RLD_FLAG)
  
! LIBOCTAVE_LIBS = -lcruft -lreadline -lkpathsea -lglob
  
  MATRIX_INC := Array.h Array2.h Array3.h ArrayN.h DiagArray2.h Array-flags.h \
        Array-idx.h Array2-idx.h Array3-idx.h ArrayN-idx.h MArray-defs.h \
--- 18,28 ----
  INSTALL_PROGRAM = @INSTALL_PROGRAM@
  INSTALL_DATA = @INSTALL_DATA@
  
! LIBOCTAVE_LFLAGS = -L../libcruft -L../kpathsea -L../glob -L. $(RLD_FLAG)
  
! ifeq ($(INCLUDE_LINK_DEPS),true)
!   LINK_DEPS=$(LIBCRUFT) $(BLAS_LIBS) $(FFTW_LIBS) $(LIBREADLINE) -lglob
! endif
  
  MATRIX_INC := Array.h Array2.h Array3.h ArrayN.h DiagArray2.h Array-flags.h \
        Array-idx.h Array2-idx.h Array3-idx.h ArrayN-idx.h MArray-defs.h \
*************** ifeq ($(SHARED_LIBS), true)
*** 143,172 ****
    BINDISTFILES = liboctave.$(SHLEXT_VER)
  endif
  
  MAKEDEPS_1 := $(patsubst %.cc, %.d, $(SOURCES))
  MAKEDEPS := $(patsubst %.c, %.d, $(MAKEDEPS_1))
  
  LIBOCTAVE_OBJECTS := \
        $(LIBOCTAVE_CXX_SOURCES:.cc=.o) \
!       $(LIBOCTAVE_C_SOURCES:.c=.o)
! 
! LIBOCT_READLINE_OBJECTS := \
        $(LIBOCT_READLINE_CXX_SOURCES:.cc=.o) \
!       $(LIBOCT_READLINE_C_SOURCES:.c=.o)
! 
! LIBOCT_PATHSEARCH_OBJECTS := \
        $(LIBOCT_PATHSEARCH_CXX_SOURCES:.cc=.o) \
        $(LIBOCT_PATHSEARCH_C_SOURCES:.c=.o)
  
  ifeq ($(SHARED_LIBS), true)
    ifdef CXXPICFLAG
      LIBOCTAVE_PICOBJ := $(addprefix pic/, $(LIBOCTAVE_OBJECTS))
-     LIBOCT_READLINE_PICOBJ := $(addprefix pic/, $(LIBOCT_READLINE_OBJECTS))
-     LIBOCT_PATHSEARCH_PICOBJ := $(addprefix pic/, 
$(LIBOCT_PATHSEARCH_OBJECTS))
    else
      LIBOCTAVE_PICOBJ := $(LIBOCTAVE_OBJECTS)
-     LIBOCT_READLINE_PICOBJ := $(LIBOCT_READLINE_OBJECTS)
-     LIBOCT_PATHSEARCH_PICOBJ := $(LIBOCT_PATHSEARCH_OBJECTS)
    endif
  endif
  
--- 144,169 ----
    BINDISTFILES = liboctave.$(SHLEXT_VER)
  endif
  
+ ifeq ($(INCLUDE_LINK_DEPS),true)
+   LINK_DEPS=$(FLIBS)
+ endif
+ 
  MAKEDEPS_1 := $(patsubst %.cc, %.d, $(SOURCES))
  MAKEDEPS := $(patsubst %.c, %.d, $(MAKEDEPS_1))
  
  LIBOCTAVE_OBJECTS := \
        $(LIBOCTAVE_CXX_SOURCES:.cc=.o) \
!       $(LIBOCTAVE_C_SOURCES:.c=.o) \
        $(LIBOCT_READLINE_CXX_SOURCES:.cc=.o) \
!       $(LIBOCT_READLINE_C_SOURCES:.c=.o) \
        $(LIBOCT_PATHSEARCH_CXX_SOURCES:.cc=.o) \
        $(LIBOCT_PATHSEARCH_C_SOURCES:.c=.o)
  
  ifeq ($(SHARED_LIBS), true)
    ifdef CXXPICFLAG
      LIBOCTAVE_PICOBJ := $(addprefix pic/, $(LIBOCTAVE_OBJECTS))
    else
      LIBOCTAVE_PICOBJ := $(LIBOCTAVE_OBJECTS)
    endif
  endif
  
*************** ifeq ($(SHARED_LIBS), true)
*** 198,220 ****
    ifeq ($(STATIC_LIBS), true)
      libraries: \
        stamp-prereq \
!       liboctave.$(LIBEXT) liboctave.$(SHLEXT) \
!       liboct-readline.$(LIBEXT) liboct-readline.$(SHLEXT) \
!       liboct-pathsearch.$(LIBEXT) liboct-pathsearch.$(SHLEXT)
    else
      libraries: \
        stamp-prereq \
!       liboctave.$(SHLEXT) \
!       liboct-readline.$(SHLEXT) \
!       liboct-pathsearch.$(SHLEXT)
    endif
  else
    ifeq ($(STATIC_LIBS), true)
      libraries: \
        stamp-prereq \
!       liboctave.$(LIBEXT) \
!       liboct-readline.$(LIBEXT) \
!       liboct-pathsearch.$(LIBEXT)
    else
      libraries: stamp-prereq
    endif
--- 195,211 ----
    ifeq ($(STATIC_LIBS), true)
      libraries: \
        stamp-prereq \
!       liboctave.$(LIBEXT) liboctave.$(SHLEXT_VER)
    else
      libraries: \
        stamp-prereq \
!       liboctave.$(SHLEXT_VER)
      endif
  else
    ifeq ($(STATIC_LIBS), true)
      libraries: \
        stamp-prereq \
!       liboctave.$(LIBEXT)
    else
      libraries: stamp-prereq
    endif
*************** liboctave.$(LIBEXT): $(LIBOCTAVE_OBJECTS
*** 226,271 ****
        $(TEMPLATE_AR) $(TEMPLATE_ARFLAGS) $@ $^
        $(RANLIB) $@
  
! liboctave.$(SHLEXT): liboctave.$(SHLEXT_VER)
        rm -f $@
        $(LN_S) $< $@
  
! liboctave.$(SHLEXT_VER): $(LIBOCTAVE_PICOBJ)
        rm -f $@
!       $(SH_LD) $(SH_LDFLAGS) $(SONAME_FLAGS) -o $@ $^
  
  $(LIBOCTAVE_PICOBJ): stmp-pic
  
- liboct-readline.$(LIBEXT): $(LIBOCT_READLINE_OBJECTS)
-       rm -f $@
-       $(TEMPLATE_AR) $(TEMPLATE_ARFLAGS) $@ $^
-       $(RANLIB) $@
- 
- liboct-readline.$(SHLEXT): liboct-readline.$(SHLEXT_VER)
-       rm -f $@
-       $(LN_S) $< $@
- 
- liboct-readline.$(SHLEXT_VER): $(LIBOCT_READLINE_PICOBJ)
-       rm -f $@
-       $(SH_LD) $(SH_LDFLAGS) $(SONAME_FLAGS) -o $@ $^
- 
- $(LIBOCT_READLINE_PICOBJ): stmp-pic
- 
- liboct-pathsearch.$(LIBEXT): $(LIBOCT_PATHSEARCH_OBJECTS)
-       rm -f $@
-       $(TEMPLATE_AR) $(TEMPLATE_ARFLAGS) $@ $^
-       $(RANLIB) $@
- 
- liboct-pathsearch.$(SHLEXT): liboct-pathsearch.$(SHLEXT_VER)
-       rm -f $@
-       $(LN_S) $< $@
- 
- liboct-pathsearch.$(SHLEXT_VER): $(LIBOCT_PATHSEARCH_PICOBJ)
-       rm -f $@
-       $(SH_LD) $(SH_LDFLAGS) $(SONAME_FLAGS) -o $@ $^ $(LIBKPATHSEA)
- 
- $(LIBOCT_PATHSEARCH_PICOBJ): stmp-pic
- 
  check: all
  .PHONY: check
  
--- 217,232 ----
        $(TEMPLATE_AR) $(TEMPLATE_ARFLAGS) $@ $^
        $(RANLIB) $@
  
! liboctave.$(SHLEXT_VER): liboctave.$(SHLEXT)
        rm -f $@
        $(LN_S) $< $@
  
! liboctave.$(SHLEXT): $(LIBOCTAVE_PICOBJ)
        rm -f $@
!       $(SH_LD) $(SH_LDFLAGS) $(SONAME_FLAGS) -o $@ $^ $(LINK_DEPS) 
$(LIBKPATHSEA)
  
  $(LIBOCTAVE_PICOBJ): stmp-pic
  
  check: all
  .PHONY: check
  
*************** install-lib:
*** 283,322 ****
          $(INSTALL_DATA) liboctave.$(LIBEXT) \
            $(octlibdir)/liboctave.$(LIBEXT); \
          $(RANLIB) $(octlibdir)/liboctave.$(LIBEXT); \
-           \
-         rm -f $(octlibdir)/liboct-readline.$(LIBEXT); \
-         $(INSTALL_DATA) liboct-readline.$(LIBEXT) \
-           $(octlibdir)/liboct-readline.$(LIBEXT); \
-         $(RANLIB) $(octlibdir)/liboct-readline.$(LIBEXT); \
-           \
-         rm -f $(octlibdir)/liboct-pathsearch.$(LIBEXT); \
-         $(INSTALL_DATA) liboct-pathsearch.$(LIBEXT) \
-           $(octlibdir)/liboct-pathsearch.$(LIBEXT); \
-         $(RANLIB) $(octlibdir)/liboct-pathsearch.$(LIBEXT); \
        fi
        if $(SHARED_LIBS); then \
!         rm -f $(octlibdir)/liboctave.$(SHLEXT_VER); \
          $(INSTALL_PROGRAM) \
!           liboctave.$(SHLEXT_VER) $(octlibdir)/liboctave.$(SHLEXT_VER); \
          ( cd $(octlibdir); \
!           rm -f liboctave.$(SHLEXT); \
!           $(LN_S) liboctave.$(SHLEXT_VER) liboctave.$(SHLEXT); ); \
!         rm -f $(octlibdir)/liboct-readline.$(SHLEXT_VER); \
          $(INSTALL_PROGRAM) \
!           liboct-readline.$(SHLEXT_VER) \
!           $(octlibdir)/liboct-readline.$(SHLEXT_VER); \
!         ( cd $(octlibdir); \
!           rm -f liboct-readline.$(SHLEXT); \
!           $(LN_S) \
!             liboct-readline.$(SHLEXT_VER) liboct-readline.$(SHLEXT); ); \
!         rm -f $(octlibdir)/liboct-pathsearch.$(SHLEXT_VER); \
!         $(INSTALL_PROGRAM) \
!           liboct-pathsearch.$(SHLEXT_VER) \
!           $(octlibdir)/liboct-pathsearch.$(SHLEXT_VER); \
!         ( cd $(octlibdir); \
!           rm -f liboct-pathsearch.$(SHLEXT); \
!           $(LN_S) \
!             liboct-pathsearch.$(SHLEXT_VER) liboct-pathsearch.$(SHLEXT); ); \
        fi
  .PHONY: install-lib
  
--- 244,265 ----
          $(INSTALL_DATA) liboctave.$(LIBEXT) \
            $(octlibdir)/liboctave.$(LIBEXT); \
          $(RANLIB) $(octlibdir)/liboctave.$(LIBEXT); \
        fi
        if $(SHARED_LIBS); then \
!         rm -f $(octlibdir)/liboctave.$(SHLLIB_VER); \
          $(INSTALL_PROGRAM) \
!           liboctave.$(SHLLIB_VER) $(octlibdir)/liboctave.$(SHLLIB_VER); \
          ( cd $(octlibdir); \
!           rm -f liboctave.$(SHLLIB); \
!           $(LN_S) liboctave.$(SHLLIB_VER) liboctave.$(SHLLIB) ); \
!         if  test x$(SHLBIN) != x ; then \
!           rm -f $(bindir)/liboctave.$(SHLBIN_VER); \
            $(INSTALL_PROGRAM) \
!             liboctave.$(SHLBIN_VER) $(bindir)/liboctave.$(SHLBIN_VER); \
!           ( cd $(bindir); \
!             rm -f liboctave.$(SHLBIN); \
!             $(LN_S) liboctave.$(SHLBIN_VER) liboctave.$(SHLBIN) ); \
!         fi; \
        fi
  .PHONY: install-lib
  
*************** install-inc:
*** 330,343 ****
  
  uninstall:
        rm -f $(octlibdir)/liboctave.$(LIBEXT)
!       rm -f $(octlibdir)/liboctave.$(SHLEXT)
!       rm -f $(octlibdir)/liboctave.$(SHLEXT_VER)
!       rm -f $(octlibdir)/liboct-readline.$(LIBEXT)
!       rm -f $(octlibdir)/liboct-readline.$(SHLEXT)
!       rm -f $(octlibdir)/liboct-readline.$(SHLEXT_VER)
!       rm -f $(octlibdir)/liboct-pathsearch.$(LIBEXT)
!       rm -f $(octlibdir)/liboct-pathsearch.$(SHLEXT)
!       rm -f $(octlibdir)/liboct-pathsearch.$(SHLEXT_VER)
        for f in $(INCLUDES); do rm -f $(octincludedir)/octave/$$f; done
  .PHONY: uninstall
  
--- 273,284 ----
  
  uninstall:
        rm -f $(octlibdir)/liboctave.$(LIBEXT)
!       rm -f $(octlibdir)/liboctave.$(SHLLIB)
!       rm -f $(octlibdir)/liboctave.$(SHLLIB_VER)
!       if test x$(SHLBIN) != x; then \
!           rm -f $(bindir)/liboctave.$(SHLBIN); \
!           rm -f $(bindir)/liboctave.$(SHLBIN_VER); \
!       fi
        for f in $(INCLUDES); do rm -f $(octincludedir)/octave/$$f; done
  .PHONY: uninstall
  
Index: src/Makefile.in
===================================================================
RCS file: /cvs/octave/src/Makefile.in,v
retrieving revision 1.283
diff -c -p -b -r1.283 Makefile.in
*** src/Makefile.in     2002/08/15 17:38:55     1.283
--- src/Makefile.in     2002/09/09 01:07:41
*************** CXXFLAGS_NO_PT_FLAGS = $(filter-out $(PT
*** 32,44 ****
  ifeq ($(OCTAVE_LITE), true)
    ifdef CXXPICFLAG
      %.oct : pic/%.o
!         $(SH_LD) $(SH_LDFLAGS) -o $@ $<
    else
      %.oct : %.o
!         $(SH_LD) $(SH_LDFLAGS) -o $@ $<
    endif
  endif
  
  OPT_HANDLERS := DASPK-opts.cc DASRT-opts.cc DASSL-opts.cc \
        LSODE-opts.cc NLEqn-opts.cc ODESSA-opts.cc Quad-opts.cc
  
--- 32,45 ----
  ifeq ($(OCTAVE_LITE), true)
    ifdef CXXPICFLAG
      %.oct : pic/%.o
!         $(SH_LD) $(SH_LDFLAGS) -o $@ $< $(OCT_LINK_DEPS)
    else
      %.oct : %.o
!         $(SH_LD) $(SH_LDFLAGS) -o $@ $< $(OCT_LINK_DEPS)
    endif
  endif
  
+ 
  OPT_HANDLERS := DASPK-opts.cc DASRT-opts.cc DASSL-opts.cc \
        LSODE-opts.cc NLEqn-opts.cc ODESSA-opts.cc Quad-opts.cc
  
*************** DOC_FILES := $(sort $(DEF_FILES) $(patsu
*** 194,207 ****
  OCTAVE_LFLAGS = -L$(TOPDIR)/liboctave -L$(TOPDIR)/libcruft \
    -L$(TOPDIR)/src $(RLD_FLAG)
  
! OCTAVE_LIBS = $(LIBOCTINTERP) $(LIBOCTAVE) $(LIBOCT_READLINE) \
!   $(LIBOCT_PATHSEARCH) $(SPECIAL_MATH_LIB) $(LIBCRUFT) \
    $(LIBPLPLOT) $(LIBGLOB) $(LIBDLFCN)
  
  ifneq ($SHARED_LIBS), true)
  OCTAVE_LIBS += $(LIBKPATHSEA)
  endif
  
  DISTFILES = Makefile.in ChangeLog mkdefs mkops mkgendoc \
        DOCSTRINGS mkbuiltins mk-oct-links \
        defaults.h.in oct-conf.h.in octave.gperf oct-gperf.h \
--- 195,213 ----
  OCTAVE_LFLAGS = -L$(TOPDIR)/liboctave -L$(TOPDIR)/libcruft \
    -L$(TOPDIR)/src $(RLD_FLAG)
  
! OCTAVE_LIBS = $(LIBOCTINTERP) $(LIBOCTAVE) \
!   $(SPECIAL_MATH_LIB) $(LIBCRUFT) \
    $(LIBPLPLOT) $(LIBGLOB) $(LIBDLFCN)
  
  ifneq ($SHARED_LIBS), true)
  OCTAVE_LIBS += $(LIBKPATHSEA)
  endif
  
+ ifeq ($(INCLUDE_LINK_DEPS),true)
+   OCTINTERP_LINK_DEPS=-L../libcruft $(LIBCRUFT) -L../liboctave $(LIBOCTAVE)
+   OCT_LINK_DEPS=-L../libcruft $(LIBCRUFT) -L../liboctave $(LIBOCTAVE) -L. 
$(LIBOCTINTERP)
+ endif
+ 
  DISTFILES = Makefile.in ChangeLog mkdefs mkops mkgendoc \
        DOCSTRINGS mkbuiltins mk-oct-links \
        defaults.h.in oct-conf.h.in octave.gperf oct-gperf.h \
*************** XERBLA = ../libcruft/blas-xtra/xerbla.o
*** 224,232 ****
  
  ifeq ($(SHARED_LIBS), true)
    ifeq ($(STATIC_LIBS), true)
!     LIBRARIES = liboctinterp.$(LIBEXT) liboctinterp.$(SHLEXT)
    else
!     LIBRARIES = liboctinterp.$(SHLEXT)
      XERBLA = ../libcruft/blas-xtra/pic/xerbla.o
    endif
  else
--- 230,238 ----
  
  ifeq ($(SHARED_LIBS), true)
    ifeq ($(STATIC_LIBS), true)
!     LIBRARIES = liboctinterp.$(LIBEXT) liboctinterp.$(SHLEXT_VER)
    else
!     LIBRARIES = liboctinterp.$(SHLEXT_VER)
      XERBLA = ../libcruft/blas-xtra/pic/xerbla.o
    endif
  else
*************** liboctinterp.$(LIBEXT): $(OBJECTS)
*** 247,259 ****
        $(TEMPLATE_AR) $(TEMPLATE_ARFLAGS) $@ $^
        $(RANLIB) $@
  
! liboctinterp.$(SHLEXT): liboctinterp.$(SHLEXT_VER)
        rm -f $@
        $(LN_S) $< $@
  
! liboctinterp.$(SHLEXT_VER): $(PICOBJ)
        rm -f $@
!       $(SH_LD) $(SH_LDFLAGS) $(SONAME_FLAGS) -o $@ $^
  
  stamp-oct-links: $(OCT_FILES)
        if [ -n "$(OCT_FILES)" ]; then \
--- 253,265 ----
        $(TEMPLATE_AR) $(TEMPLATE_ARFLAGS) $@ $^
        $(RANLIB) $@
  
! liboctinterp.$(SHLEXT_VER): liboctinterp.$(SHLEXT)
        rm -f $@
        $(LN_S) $< $@
  
! liboctinterp.$(SHLEXT): $(PICOBJ)
        rm -f $@
!       $(SH_LD) $(SH_LDFLAGS) $(SONAME_FLAGS) -o $@ $^ $(OCTINTERP_LINK_DEPS)
  
  stamp-oct-links: $(OCT_FILES)
        if [ -n "$(OCT_FILES)" ]; then \
*************** install-lib:
*** 368,378 ****
        fi
        if $(SHARED_LIBS); then \
          rm -f $(octlibdir)/liboctinterp.$(SHLEXT_VER); \
!         $(INSTALL_PROGRAM) liboctinterp.$(SHLEXT_VER) \
!           $(octlibdir)/liboctinterp.$(SHLEXT_VER); \
!         cd $(octlibdir); \
!         rm -f liboctinterp.$(SHLEXT); \
!         $(LN_S) liboctinterp.$(SHLEXT_VER) liboctinterp.$(SHLEXT); \
        fi
  .PHONY: install-lib
  
--- 374,392 ----
        fi
        if $(SHARED_LIBS); then \
          rm -f $(octlibdir)/liboctinterp.$(SHLEXT_VER); \
!         $(INSTALL_PROGRAM) liboctinterp.$(SHLLIB_VER) \
!           $(octlibdir)/liboctinterp.$(SHLLIB_VER); \
!         ( cd $(octlibdir); \
!           rm -f liboctinterp.$(SHLLIB); \
!           $(LN_S) liboctinterp.$(SHLLIB_VER) liboctinterp.$(SHLLIB) ); \
!         if  test x$(SHLBIN) != x ; then \
!             rm -f $(bindir)/liboctinterp.$(SHLBIN_VER); \
!             $(INSTALL_PROGRAM) \
!               liboctinterp.$(SHLBIN_VER) $(bindir)/octinterp.$(SHLBIN_VER); \
!             ( cd $(bindir); \
!               rm -f liboctinterp.$(SHLBIN); \
!               $(LN_S) liboctinterp.$(SHLBIN_VER) liboctinterp.$(SHLBIN) ); \
!         fi; \
        fi
  .PHONY: install-lib
  
*************** install-inc:
*** 395,402 ****
  uninstall:
        rm -f $(bindir)/octave$(EXEEXT)
        rm -f $(octlibdir)/liboctinterp.$(LIBEXT)
!       rm -f $(octlibdir)/liboctinterp.$(SHLEXT)
!       rm -f $(octlibdir)/liboctinterp.$(SHLEXT_VER)
        for f in $(INCLUDES) defaults.h oct-conf.h; do \
          rm -f $(octincludedir)/octave/$$f; \
        done
--- 409,420 ----
  uninstall:
        rm -f $(bindir)/octave$(EXEEXT)
        rm -f $(octlibdir)/liboctinterp.$(LIBEXT)
!       rm -f $(octlibdir)/liboctinterp.$(SHLLIB)
!       rm -f $(octlibdir)/liboctinterp.$(SHLLIB_VER)
!       if test x$(SHLBIN) != x ; then \
!           rm -f $(bindir)/liboctinterp.$(SHLBIN); \
!           rm -f $(bindir)/liboctinterp.$(SHLBIN_VER); \
!       fi
        for f in $(INCLUDES) defaults.h oct-conf.h; do \
          rm -f $(octincludedir)/octave/$$f; \
        done
Index: src/toplev.cc
===================================================================
RCS file: /cvs/octave/src/toplev.cc,v
retrieving revision 1.113
diff -c -p -b -r1.113 toplev.cc
*** src/toplev.cc       2002/08/17 19:38:33     1.113
--- src/toplev.cc       2002/09/09 01:07:44
*************** specified option.\n\
*** 688,695 ****
    m ["LIBFLAGS"] = OCTAVE_CONF_LIBFLAGS;
    m ["LIBGLOB"] = OCTAVE_CONF_LIBGLOB;
    m ["LIBKPATHSEA"] = OCTAVE_CONF_LIBKPATHSEA;
-   m ["LIBOCT_PATHSEARCH"] = OCTAVE_CONF_LIBOCT_PATHSEARCH;
-   m ["LIBOCT_READLINE"] = OCTAVE_CONF_LIBOCT_READLINE;
    m ["LIBOCTAVE"] = OCTAVE_CONF_LIBOCTAVE;
    m ["LIBOCTINTERP"] = OCTAVE_CONF_LIBOCTINTERP;
    m ["LIBPLPLOT"] = OCTAVE_CONF_LIBPLPLOT;
--- 688,693 ----



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]