# bug_62343.at -- bug 62343 -*- Autotest -*- # Copyright (C) 2024 Free Software Foundation, Inc. # # 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 . #### AT_BANNER([Testing bug 62343:]) AT_SETUP([Use -no-canonical-prefixes flag]) AT_CHECK([$LIBTOOL --config | $EGREP '^build_libtool_libs=no' && (exit 77)], 1) AT_DATA([x.cpp], [[ #include int main() { std::cout << "Hello, World!" << std::endl; return 0; } ]]) # The -no-canonical-prefixes flag sometimes fails at the compiler level # depending on how the environment is set up, or which other flags have to be passed. # So first try to compile without libtool first to test if the current environment # supports the -no-canonical-prefixes flag. If it doesn't, skip the test. $CXX -no-canonical-prefixes -c x.cpp result=$? if test 0 -ne "$result"; then AT_SKIP_IF([:]) fi AT_CHECK([$LIBTOOL --mode=compile --tag=CXX $CXX -no-canonical-prefixes -c x.cpp], [0], [stdout], [stderr]) AT_CHECK([$GREP -- '-no-canonical-prefixes' stdout], [0], [ignore]) host_flags=: case $host_os in cygwin* | mingw* | windows*) host_flags=-no-undefined ;; *) ;; esac AT_CHECK([$LIBTOOL --mode=link --tag=CXX $CXX -no-canonical-prefixes $host_flags -o libx.la -rpath /usr/lib64/ x.lo], [0], [stdout], [stderr]) AT_CHECK([$GREP -- '-no-canonical-prefixes' stdout], [0], [ignore]) AT_CLEANUP