This is an automated email from the git hooks/post-receive script.

ildumi pushed a commit to branch development
in repository libtool.

The following commit(s) were added to refs/heads/development by this push:
     new e40ba04a libtool: Check if -no-canonical-prefixes supported
e40ba04a is described below

commit e40ba04af725eb49db6d61471a4804efe682e423
Author: Ileana Dumitrescu <ileanadumitresc...@gmail.com>
AuthorDate: Fri Jun 7 20:02:55 2024 +0300

    libtool: Check if -no-canonical-prefixes supported
    
    The compiler fails with the -no-canonical-prefixes flag in certain
    environments. Check if the flag is supported in the current environment
    and skip the test if it is not supported.
    
    * tests/bug_62343.at: Skip test if -no-canonical-prefixes is unsupported
      in the current environment.
---
 tests/bug_62343.at | 25 ++++++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/tests/bug_62343.at b/tests/bug_62343.at
index 05839dc4..f6053dc6 100644
--- a/tests/bug_62343.at
+++ b/tests/bug_62343.at
@@ -29,13 +29,32 @@ AT_CHECK([$LIBTOOL --config | $EGREP 
'^build_libtool_libs=no' && (exit 77)], 1)
 
 AT_DATA([x.cpp],
 [[
-void f(int *p) { *p = 21; }
+#include <iostream>
+
+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.
+
+g++ -no-canonical-prefixes -c x.cpp
+
+result=$?
 
-AT_CHECK([$LIBTOOL --mode=compile --tag=CXX g++ -c x.cpp], [0], [stdout], 
[stderr])
+if test 0 -ne "$result"; then
+    AT_SKIP_IF([:])
+fi
+
+AT_CHECK([$LIBTOOL --mode=compile --tag=CXX g++ -no-canonical-prefixes -c 
x.cpp], [0], [stdout], [stderr])
+
+AT_CHECK([$GREP -- '-no-canonical-prefixes' stdout], [0], [ignore])
 
-AT_CHECK([$LIBTOOL --mode=link --tag=CXX g++ -o libx.la -no-canonical-prefixes 
-rpath /usr/lib64/ x.lo], [0], [stdout], [stderr])
+AT_CHECK([$LIBTOOL --mode=link --tag=CXX g++ -no-undefined 
-no-canonical-prefixes -o libx.la -rpath /usr/lib64/ x.lo], [0], [stdout], 
[stderr])
 
 AT_CHECK([$GREP -- '-no-canonical-prefixes' stdout], [0], [ignore])
 

Reply via email to