[vsipl++] [patch] Install cml_kernels.so
Jules Bergmann
jules at codesourcery.com
Fri Sep 19 11:11:04 UTC 2008
> There's what may be a minor problem with this bit:
>> +# NOTE: Installing cml_kernels.so is a work-around for SDK 3.0 ALF, which
>> +# only accepts 1 directory in ALF_LIBRARY_PATH. libs/cml_kernels.so
>> +# is a link created by configure.
>> install-core:: lib/svpp_kernels.so
>> $(INSTALL) -d $(DESTDIR)$(libdir)
>> $(INSTALL_PROGRAM) lib/svpp_kernels.so \
>> $(DESTDIR)$(libdir)/svpp_kernels.so
>> + $(INSTALL_PROGRAM) lib/cml_kernels.so \
>> + $(DESTDIR)$(libdir)/cml_kernels.so
>
> The lib/cml_kernels.so file is created with this line:
>
> ln -sf $with_cml_prefix/$cml_libdir_found/cml_kernels.so lib
>
> A bit of experimenting indicates that install will, when presented with
> trying to install a symlink to file $FOO over top of file $FOO, throw an
> error about them being the same file and emit a nonzero return value.
> This will stop the "make install" process.
Interesting. So the bug occurs installing the library a second time?
> The attached patch should fix this; okay to commit?
The behavior isn't intuitive. When installing a new VSIPL++ over an
existing one, one would expect the old files to be overwritten.
However, the patch appears to preserve the older file.
Perhaps you could remove the old file, if it exists:
> $(INSTALL) -d $(DESTDIR)$(libdir)
> $(INSTALL_PROGRAM) lib/svpp_kernels.so \
> $(DESTDIR)$(libdir)/svpp_kernels.so
if test -e $(DESTDIR)$(libdir)/cml_kernels.so; then \
rm $(DESTDIR)$(libdir)/cml_kernels.so \
fi
> $(INSTALL_PROGRAM) lib/cml_kernels.so \
> $(DESTDIR)$(libdir)/cml_kernels.so
-- Jules
--
Jules Bergmann
CodeSourcery
jules at codesourcery.com
(650) 331-3385 x705
More information about the vsipl++
mailing list