| # install.at -- install mode tests -*- Autotest -*- |
| # |
| # Copyright (C) 2008-2009, 2011-2019, 2021-2025 Free Software |
| # Foundation, Inc. |
| # Written by Ralf Wildenhues, 2008 |
| # |
| # This file is part of GNU Libtool. |
| # |
| # GNU Libtool is free software; you can redistribute it and/or |
| # modify it under the terms of the GNU General Public License as |
| # published by the Free Software Foundation; either version 2 of |
| # the License, or (at your option) any later version. |
| # |
| # GNU Libtool is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with GNU Libtool. If not, see <https://www.gnu.org/licenses/>. |
| #### |
| |
| AT_SETUP([Install tests]) |
| AT_KEYWORDS([libtool]) |
| |
| # Ensure that install_override_mode overrides the mode of the shared |
| # library (and only the shared library). |
| |
| AT_CHECK([$LIBTOOL --features | $GREP 'enable shared libraries' || exit 77], |
| [], [ignore]) |
| $SED 's|^\(install_override_mode\)=.*|\1=755|' < $LIBTOOL > ./libtool |
| LIBTOOL=./libtool |
| chmod a+rx $LIBTOOL |
| |
| inst=`pwd`/inst |
| mkdir inst |
| |
| echo 'int a () { return 0; }' > a.c |
| $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c |
| AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo ]dnl |
| [-rpath $inst -no-undefined], [], [ignore], [ignore]) |
| AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL liba.la $inst], |
| [], [stdout], [ignore]) |
| AT_CHECK([$GREP ' -m 755' stdout], [], [ignore]) |
| AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL -m 644 liba.la $inst], |
| [], [stdout], [ignore]) |
| AT_CHECK([$GREP ' -m 755' stdout], [], [ignore]) |
| AT_CHECK([$GREP ' -m 644.*liba.la' stdout], [], [ignore]) |
| |
| AT_CLEANUP |