Hi,

At Sun, 8 Mar 2009 08:19:23 +0900,
Charlie Savage wrote in [ruby-core:22725]:
> 1.  LDFLAGS not passed to extconf.rb
> 
> For example, in Makefile set LDFLAGS = -libpath:c:/msvc/lib
> 
> This path is not passed to exconf.rb, meaning that you can't
> set the path to third-party extension libraries
> (zlib/gdbm/readline/iconv/etc).

Makefiles for extension libraries use DLDFLAGS instead.

> 3.  setup.mak out of date
> 
> The example compiler/link options specified in setup.mak no
> longer match what Makefile.sub actually does.  The patch
> fixes this by syncing setup.mak back with Makefile.sub

> 4.  optflags incorrect
> 
> OPTFLAGS is set to -O2b2xty- which from the MSDN
> documentation isn't legal.  It should simply be O2 (see
> http://msdn.microsoft.com/en-us/library/k1ack8f1.aspx).

The page doesn't seem to say it isn't legal.  It's just option
crunching.

> 5.  warn flags
> 
> For some reason, Makefile.sub turns off all compiler
> warnings.  That seems a bit counter-productive.  The patch
> turns them back on:

I'm not sure what you mean.  WARNFLAGS is not set by the
default.

> !if !defined(WARNFLAGS)
> WARNFLAGS = -w3 -wd4996
> !endif

-W3?

> -wd4996 turns of deprecation warnings, to avoid all the silly
> -Microsoft warning about non-iso standard replacements for
> -strlen etc.

Possibly, do you mean CRTDEFFLAGS?

> Let me know if I should split this patch into multiple parts.

I'd be happy if you would do so next time.

-- 
Nobu Nakada