changeset 9817:932b0efeb81b

restore rules to create libcruft/cruft.def
author John W. Eaton <jwe@octave.org>
date Fri, 13 Nov 2009 22:47:15 -0500
parents b1462c588dd5
children c84684473c4d
files ChangeLog configure.ac libcruft/ChangeLog libcruft/Makefile.am libcruft/mkf77def.in
diffstat 5 files changed, 35 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-11-12  John W. Eaton  <jwe@octave.org>
+
+	* configure.ac (AC_CONFIG_FILES): Also generate libcruft/mkf77def.
+
 2009-11-11  John W. Eaton  <jwe@octave.org>
 
 	* acinclude.m4 (OCTAVE_IEEE754_DATA_FORMAT): Fail if IEEE 754
--- 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
--- a/libcruft/ChangeLog
+++ b/libcruft/ChangeLog
@@ -1,3 +1,11 @@
+2009-11-13  John W. Eaton  <jwe@octave.org>
+
+	* Makefile.am: Restore rules for building cruft.def.
+	(libcruft_la_LDFLAGS): Also append @XTRA_CRUFT_SH_LDFLAGS@.
+	(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-13  John W. Eaton  <jwe@octave.org>
 
 	* Makefile.am (libcruft_la_CPPFLAGS): Define.
--- a/libcruft/Makefile.am
+++ b/libcruft/Makefile.am
@@ -31,10 +31,13 @@
 
 libcruft_la_CPPFLAGS = @CRUFT_DLL_DEFS@
 
-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
@@ -54,3 +57,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) > $@-t
+	mv $@-t $@
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