+Thu Apr 3 19:07:59 1997 Tom Tromey <tromey@cygnus.com>
+
+ * ltlibrary.am (@LTLIBRARY@): use @RPATH@, not explicit -rpath.
+
+ * automake.in (handle_ltlibraries): Treat EXTRA_ libraries
+ specially.
+
Wed Apr 2 00:03:50 1997 Tom Tromey <tromey@cygnus.com>
* automake.in (handle_source_transform): Don't generate dependency
* NORMAL_INSTALL / NORMAL_UNINSTALL -vs- recursive rules
- [ requires changes to the standard, I think ]
+ [ requires changes to the standard ]
* dependency tracking doesn't work well when a file is removed
the new code to track header dependencies exacerbates this
what is the fix?
+ it would probably be better to use "gcc -MD" and move the .d
+ file into the .deps directory. That is, create the dependencies
+ as a side effect of compilation
+ This still won't solve the file-deletion problem
* make sure `missing' defines are generated
}
# Get the installation directory of each library.
- next if ($key eq 'EXTRA');
for (&variable_value_as_list ($key . '_LTLIBRARIES'))
{
if ($instdirs{$_})
$xlink = $linker ? $linker : 'LINK';
}
+ local ($rpath);
+ if ($instdirs{$onelib} eq 'EXTRA')
+ {
+ # It's an EXTRA_ library, so we can't specify -rpath.
+ # Yuck.
+ $rpath = 's/\@RPATH\@//go;';
+ }
+ else
+ {
+ $rpath = 's/\@RPATH\@/-rpath ' . $instdirs{$onelib} . '/go;';
+ }
$output_rules .=
&file_contents_with_transform ('s/\@LTLIBRARY\@/'
. $onelib . '/go;'
. 's/\@XLTLIBRARY\@/'
. $xlib . '/go;'
- . 's/\@DIR\@/'
- . $instdirs{$onelib} . '/go;'
+ . $rpath
. 's/\@XLINK\@/' . $xlink . '/go;',
'ltlibrary');
}
library. The @samp{library_LDFLAGS} variable contains any additional
libtool flags, such as @samp{-version-info} or @samp{-static}.
+For libraries installed in some directory, @code{automake} will
+automatically supply the appropriate @samp{-rpath} option. However, for
+libraries determined at configure time (and thus mentioned in
+@code{EXTRA_LTLIBRARIES}), @code{automake} does not know the eventual
+installation directory; for such libraries you must add the
+@samp{-rpath} option to the appropriate @samp{_LDFLAGS} variable by
+hand.
+
@xref{Using Automake, Using Automake with Libtool, The Libtool Manual,
libtool, The Libtool Manual}, for more information.
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
## 02111-1307, USA.
@LTLIBRARY@: $(@XLTLIBRARY@_OBJECTS) $(@XLTLIBRARY@_DEPENDENCIES)
- $(@XLINK@) -rpath $(@DIR@dir) $(@XLTLIBRARY@_LDFLAGS) $(@XLTLIBRARY@_OBJECTS) $(@XLTLIBRARY@_LIBADD) $(LIBS)
+ $(@XLINK@) @RPATH@ $(@XLTLIBRARY@_LDFLAGS) $(@XLTLIBRARY@_OBJECTS) $(@XLTLIBRARY@_LIBADD) $(LIBS)
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
## 02111-1307, USA.
@LTLIBRARY@: $(@XLTLIBRARY@_OBJECTS) $(@XLTLIBRARY@_DEPENDENCIES)
- $(@XLINK@) -rpath $(@DIR@dir) $(@XLTLIBRARY@_LDFLAGS) $(@XLTLIBRARY@_OBJECTS) $(@XLTLIBRARY@_LIBADD) $(LIBS)
+ $(@XLINK@) @RPATH@ $(@XLTLIBRARY@_LDFLAGS) $(@XLTLIBRARY@_OBJECTS) $(@XLTLIBRARY@_LIBADD) $(LIBS)
-@set UPDATED 27 March 1997
+@set UPDATED 3 April 1997
@set EDITION 1.1n
@set VERSION 1.1n
-@set UPDATED 27 March 1997
+@set UPDATED 3 April 1997
@set EDITION 1.1n
@set VERSION 1.1n