Hi! This is from need-lib-prefix.at: main.exeS.c when the test is run on the tip of the pr-msvc-support branch.
lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, {"foo1.lib", (void *) 0}, {"libfoo1_LTX_i", (void *) &foo1_LTX_i}, {"libfoo1_LTX_f", (void *) &foo1_LTX_f}, {"foo2.lib", (void *) 0}, {"libfoo2_LTX_i", (void *) &libfoo2_LTX_i}, {"libfoo2_LTX_f", (void *) &libfoo2_LTX_f}, {0, (void *) 0} }; The below patch makes that into lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, {"libfoo1.lib", (void *) 0}, {"libfoo1_LTX_i", (void *) &foo1_LTX_i}, {"libfoo1_LTX_f", (void *) &foo1_LTX_f}, {"libfoo2.lib", (void *) 0}, {"libfoo2_LTX_i", (void *) &libfoo2_LTX_i}, {"libfoo2_LTX_f", (void *) &libfoo2_LTX_f}, {0, (void *) 0} }; which works much better. The need-lib-prefix.at test still works on Cygwin after this test. Cheers, Peter 2009-01-26 Peter Rosin <p...@lysator.liu.se> Add lib prefix to archive name if needed in symbol list. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): When lib prefix is required, add it - if needed - to the module name as well to match what is done to the symbol that is looked up.
diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4 index 35cdd12..212a973 100644 --- a/libltdl/m4/libtool.m4 +++ b/libltdl/m4/libtool.m4 @@ -3429,7 +3429,7 @@ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \(lib[[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^: \([[^ ]]*\) $/ {\\\"lib\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr=