libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Add lib prefix to library name in the ltdl preloaded symbol lookup


From: Peter Rosin
Subject: Add lib prefix to library name in the ltdl preloaded symbol lookup
Date: Mon, 26 Jan 2009 15:09:20 +0100
User-agent: Thunderbird 2.0.0.19 (Windows/20081209)

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  <address@hidden>

        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=

reply via email to

[Prev in Thread] Current Thread [Next in Thread]