Subject: | Makefile.PL - on Windows, look for libct.lib under $SYBASE/dll |
Between 1.11 and 1.15, the Makefile.PL has changed to look for the SYBASE libraries under %SYBASE%\dll on Windows. Unfortunately, the Makefile.PL still passes -L%SYBASE%\lib to MakeMaker's LIB param.
If #91298 is accepted in its second form (don't prepend to LDDLFLAGS on Windows), which I hope it is, this bug becomes critical as the linker fails to find libct.lib.
If #91298 is rejected, this is less critical but should still be addressed since it's passing a meaningless option to the linker (telling it to look for libs under %SYBASE%\lib while we never put anything there).
--- c:\temp\p4v\PRGDWM355382_qaperforce_1666\depot\QA\Toolbox\main.br\CPAN\DBD-Sybase\1.15\src\Makefile#5.PL 2014-01-15 14:38:53.000000000 +-0100
+++ c:\p4_ws\0toolbox\main.br\CPAN\DBD-Sybase\1.15\src\Makefile.PL 2014-01-16 12:04:09.000000000 +-0100
@@ -183,20 +183,18 @@
checkChainedAutoCommit();
# print "OS = $^O\n";
if ( $^O eq 'MSWin32' ) {
- if ($version ge '15') {
- $lib_string =
- "-L$SYBASE/lib -llibsybct.lib -llibsybcs.lib -llibsybtcl.lib -llibsybcomn.lib -llibsybintl.lib -llibsybblk.lib $attr{EXTRA_LIBS} -lm";
- }
- else {
- $lib_string =
- "-L$SYBASE/lib -llibct.lib -llibcs.lib -llibtcl.lib -llibcomn.lib -llibintl.lib -llibblk.lib $attr{EXTRA_LIBS} -lm";
- }
+ if ($version ge '15') {
+ $lib_string = "-L$SYBASE/$libsub -llibsybct.lib -llibsybcs.lib -llibsybtcl.lib -llibsybcomn.lib -llibsybintl.lib -llibsybblk.lib $attr{EXTRA_LIBS} -lm";
+ }
+ else {
+ $lib_string = "-L$SYBASE/$libsub -llibct.lib -llibcs.lib -llibtcl.lib -llibcomn.lib -llibintl.lib -llibblk.lib $attr{EXTRA_LIBS} -lm";
+ }
}
elsif ( $^O eq 'VMS' ) {
$lib_string =
"-L$SYBASE/lib -llibct.olb -llibcs.olb -llibtcl.olb -llibcomn.olb -llibintl.olb -llibblk.olb $attr{EXTRA_LIBS}";
}
elsif ( $^O =~ /cygwin/ ) {