octave-maintainers
[Top][All Lists]
Advanced

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

Re: gnulib and automake


From: Michael Goffioul
Subject: Re: gnulib and automake
Date: Fri, 13 Nov 2009 20:21:50 +0000

This will definitely help, but that won't be enough. I'm also
missing OCTAVE_DLL_DEFS and the likes in CPPFLAGS
for the various octave libraries. But more problematic is the
use of i686-pc-msdosmsvc as build target with libtool. This is
not recognized by libtool and it simply refuses to build shared
libraries (whether you use --enable-shared or not). I see 2 ways
to work around that:
1) Drop the build target and let configure script detect it; as I
run it within MSYS, it'll detect mingw platform and accept to
build shared libs; after configure script, I then have to hack
the libtool script to make it work with my cc-msvc compiler
(gcc-like wrapper on top of MSVC), which I already did in order
to compile other dep libs, so that's not a problem. This means
that the configure script should be change, whenever it does
something special for msdosmsvc platform
2) Hack libtool to accept that non standard build target. Given
the complexity of libtool and the fact that it would only be valid
for my gcc-like wrapper (no chance to get changes upstream
into libtool), this option doesn't have really my preference.

Michael.


On Fri, Nov 13, 2009 at 6:33 PM, John W. Eaton <address@hidden> wrote:
> On 13-Nov-2009, John W. Eaton wrote:
>
> | On 13-Nov-2009, Michael Goffioul wrote:
> |
> | | I'll test that asap. It should rebuild cruft.def properly. But I think
> | | I'll still miss the addition of XTRA_CRUFT_SH_LDFLAGS to the link flags.
> |
> | Does this additional change fix that problem for you?
> |
> | diff --git a/libcruft/Makefile.am b/libcruft/Makefile.am
> | --- a/libcruft/Makefile.am
> | +++ b/libcruft/Makefile.am
> | @@ -29,7 +29,8 @@
> |
> |  libcruft_la_SOURCES =
> |
> | -libcruft_la_LDFLAGS = -release $(version) $(NO_UNDEFINED_LDFLAG)
> | +libcruft_la_LDFLAGS = \
> | +  -release $(version) $(NO_UNDEFINED_LDFLAG) @XTRA_CRUFT_SH_LDFLAGS@
> |
> |  libcruft_la_LIBADD = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
>
> One more try.  Here is the current complete patch.  Please let me know
> if this works for you.
>
> Thanks,
>
> jwe
>
>
> # HG changeset patch
> # User John W. Eaton <address@hidden>
> # Date 1258137155 18000
> # Node ID 2fc0d63f4c5d963d868b734f2c2fe9b8d5af35ce
> # Parent  7c211d0091d923e74f684ac82bf09d0ec02bd55c
> restore rules to create libcruft/cruft.def
>
> diff --git a/ChangeLog b/ChangeLog
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,7 @@
> +2009-11-12  John W. Eaton  <address@hidden>
> +
> +       * configure.ac (AC_CONFIG_FILES): Also generate libcruft/mkf77def.
> +
>  2009-11-11  John W. Eaton  <address@hidden>
>
>        * acinclude.m4 (OCTAVE_IEEE754_DATA_FORMAT): Fail if IEEE 754
> diff --git a/configure.ac b/configure.ac
> --- a/configure.ac
> +++ b/configure.ac
> @@ -2149,6 +2149,7 @@
>   doc/refcard/Makefile
>   examples/Makefile
>   libcruft/Makefile
> +  libcruft/mkf77def
>   liboctave/Makefile
>   scripts/Makefile
>   src/Makefile
> diff --git a/libcruft/ChangeLog b/libcruft/ChangeLog
> --- a/libcruft/ChangeLog
> +++ b/libcruft/ChangeLog
> @@ -1,3 +1,11 @@
> +2009-11-13  John W. Eaton  <address@hidden>
> +
> +       * Makefile.am: Restore rules for building cruft.def.
> +       (libcruft_la_LDFLAGS): Also append @address@hidden
> +       (libcruft_la_DEPENDENCIES): New variable.
> +       * mkf77def.in: Use @VAR@ instead of %VAR% substitutions.
> +       Process srcdir plus list of files instead of working as a filter.
> +
>  2009-11-10  John W. Eaton  <address@hidden>
>
>        * blas, lapack: Remove directories and all files.
> diff --git a/libcruft/Makefile.am b/libcruft/Makefile.am
> --- a/libcruft/Makefile.am
> +++ b/libcruft/Makefile.am
> @@ -29,10 +29,13 @@
>
>  libcruft_la_SOURCES =
>
> -libcruft_la_LDFLAGS = -release $(version) $(NO_UNDEFINED_LDFLAG)
> +libcruft_la_LDFLAGS = \
> +  -release $(version) $(NO_UNDEFINED_LDFLAG) @XTRA_CRUFT_SH_LDFLAGS@
>
>  libcruft_la_LIBADD = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
>
> +libcruft_la_DEPENDENCIES = cruft.def
> +
>  octinclude_HEADERS =
>
>  EXTRA_DIST = ChangeLog STOP.patch mkf77def.in
> @@ -52,3 +55,8 @@
>  include slatec-err/module.mk
>  include slatec-fn/module.mk
>  include villad/module.mk
> +
> +cruft.def: $(libcruft_la_SOURCES) $(TOPDIR)/libcruft/mkf77def
> +       chmod a+rx mkf77def
> +       ./mkf77def $(srcdir) $(libcruft_la_SOURCES) > address@hidden
> +       mv address@hidden $@
> diff --git a/libcruft/mkf77def.in b/libcruft/mkf77def.in
> old mode 100644
> new mode 100755
> --- a/libcruft/mkf77def.in
> +++ b/libcruft/mkf77def.in
> @@ -21,9 +21,9 @@
>  SED=${SED:-'sed'}
>  AWK=${AWK:-'awk'}
>
> -F77_TOLOWER=%F77_APPEND_UNDERSCORE%
> -F77_APPEND_UNDERSCORE=%F77_APPEND_UNDERSCORE%
> -F77_APPEND_EXTRA_UNDERSCORE=%F77_APPEND_EXTRA_UNDERSCORE%
> +F77_TOLOWER="@F77_APPEND_UNDERSCORE@"
> +F77_APPEND_UNDERSCORE="@F77_APPEND_UNDERSCORE@"
> +F77_APPEND_EXTRA_UNDERSCORE="@F77_APPEND_EXTRA_UNDERSCORE@"
>
>  if $F77_TOLOWER; then
>   case_cmd="tolower";
> @@ -43,4 +43,13 @@
>   awkcmd="$AWK '{ printf (\"%s%s\n\", tolower (\$0), \"$uscore\"); }'"
>  fi
>
> -$SED -n -e 'y/ABCDEFGHIJLKMNOPQRSTUVWXYZ/abcdefghijlkmnopqrstuvwxyz/; s/^\(  
>     \|    \)[     ]*\(.*function\|subroutine\|entry\)[    ]*\([^  
> (]*\).*$/\3/p' | eval $awkcmd
> +if [ $# -gt 1 ]; then
> +  srcdir="$1"
> +  shift
> +fi
> +
> +echo EXPORTS
> +for arg
> +do
> +  $SED -n -e 'y/ABCDEFGHIJLKMNOPQRSTUVWXYZ/abcdefghijlkmnopqrstuvwxyz/; 
> s/^\(      \|  \)[     ]*\(.*function\|subroutine\|entry\)[    ]*\([^  
> (]*\).*$/\3/p' "$srcdir/$arg" | eval $awkcmd
> +done
>
>



reply via email to

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