Branch: refs/heads/master
Home: https://github.com/Starlink/starlink
Commit: 1138a27485c95ab978acd327966ac186a1d29004
https://github.com/Starlink/starlink/commit/1138a27485c95ab978acd327966ac186a1d29004
Author: Tim Jenness <[log in to unmask]>
Date: 2014-07-23 (Wed, 23 Jul 2014)
Changed paths:
M applications/convert/idl/Makefile.am
Log Message:
-----------
convert: More robust determination of IDL library short name
The previous code used the following for getshortdlname:
grep 'library_names=' convert_idl.la | sed -e s:\'::g | awk '{print $$3}'
This seems to work fine for a .la file that looks something like this:
library_names='convert_idl.so.0.0.0 convert_idl.so.0 convert_idl.so'
but a recent OS X Mavericks build is giving me:
library_names='convert_idl.0.so convert_idl.so'
This breaks `make install` since there are only two libraries listed
and $3 becomes empty.
This patch changes the logic to be:
grep '^library_names=' convert_idl.la | sed -e s:\'::g | tr " " "\n" | tail -1
The first change is to anchor the grep to stop it matching `weak_library_names`.
The more substantive change is to replace spaces with new lines using tr and
then simply select the last entry from the list. This works in both the 3 library
and 2 library case.
Both the OS X 2014A distribution and a build I did in February on OS X Mavericks
have the two library entry for `library_names` so I'm not sure how it is working
in those cases when it is breaking for me.
|