branch: development commit c57cf8fa7589fa82063be1a2193f152e8769d1a2 Author: Ileana Dumitrescu <ileanadumitresc...@gmail.com> AuthorDate: Thu Apr 17 17:28:50 2025 +0300
inherited_flags.at: Fix test on MSVC * tests/inherited_flags.at: Modify grep to limit search range. --- tests/inherited_flags.at | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/tests/inherited_flags.at b/tests/inherited_flags.at index 06db4ca9..5a54f6d3 100644 --- a/tests/inherited_flags.at +++ b/tests/inherited_flags.at @@ -24,6 +24,9 @@ AT_SETUP([inherited_linker_flags]) AT_KEYWORDS([libtool]) +# Skip if "disable shared libraries" feature is set +AT_CHECK([$LIBTOOL --features | $GREP 'disable shared libraries' && (exit 77)], [1], [ignore]) + AT_DATA([foo.c], [ int foo() { return 1;} @@ -77,7 +80,6 @@ AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo # 'llt_[[ui]]nlikely_existing_lib.*llt_[[ui]]nlikely_existing_lib' # here. This fails on win32/MSVC because the generated command lines have a # different syntax. So drop the first 'l'. -AT_CHECK([$LIBTOOL --features | $GREP 'disable shared libraries' && (exit 77)], [1], [ignore]) AT_CHECK([$GREP 'lt_[[ui]]nlikely_existing_lib.*lt_[[ui]]nlikely_existing_lib' stdout], [0],[ignore],[ignore]) AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la], @@ -85,18 +87,19 @@ AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main AT_CHECK([$GREP 'lt_[[ui]]nlikely_existing_lib.*lt_[[ui]]nlikely_existing_lib' stdout], [0],[ignore],[ignore]) -# now check for duplicates +# If duplicate -l flags occur in a single link command, error. +# For MSVC, multiple link commands are wrapped in, so limit grep. AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la], [ignore],[stdout],[ignore]) -AT_CHECK([$GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout], +AT_CHECK([$GREP 'lt_inlikely_existing_lib[^;]*lt_inlikely_existing_lib' stdout], [1],[ignore],[ignore]) -AT_CHECK([$GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout], +AT_CHECK([$GREP 'lt_unlikely_existing_lib[^;]*lt_unlikely_existing_lib' stdout], [1],[ignore],[ignore]) AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la], [ignore],[stdout],[ignore]) -AT_CHECK([$GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout], +AT_CHECK([$GREP 'lt_inlikely_existing_lib[^;]*lt_inlikely_existing_lib' stdout], [1],[ignore],[ignore]) -AT_CHECK([$GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout], +AT_CHECK([$GREP 'lt_unlikely_existing_lib[^;]*lt_unlikely_existing_lib' stdout], [1],[ignore],[ignore]) mv libboth.la libboth.la.bak