From 822c0e25dbf1d330e41d7c06b854a0173889b645 Mon Sep 17 00:00:00 2001 From: usa Date: Sat, 9 Jun 2001 07:41:44 +0000 Subject: * ext/extmk.rb.in: Use -F and -T for mswin32 because cl.exe doesn't support -o officially and cl.exe considers that *.cc and *.cxx are OBJs. * lib/mkmf.rb: ditto. * win32/Makefile.sub: Use del instead of rm. All these changes are derived from Nobuyoshi Nakada's patch. Thanks. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@1519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/mkmf.rb | 69 +++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 37 insertions(+), 32 deletions(-) (limited to 'lib') diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 22d2b2e00..3fcb272eb 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb @@ -39,7 +39,12 @@ end $log = open('mkmf.log', 'w') -LINK = "#{CONFIG['CC']} -o conftest -I#{$hdrdir} #{CFLAGS} -I#{CONFIG['includedir']} %s %s #{CONFIG['LDFLAGS']} %s conftest.c %s %s #{CONFIG['LIBS']}" +if /mswin32/ =~ RUBY_PLATFORM + OUTFLAG = '-Fe' +else + OUTFLAG = '-o ' +end +LINK = "#{CONFIG['CC']} #{OUTFLAG}conftest -I#{$hdrdir} #{CFLAGS} -I#{CONFIG['includedir']} %s %s #{CONFIG['LDFLAGS']} %s conftest.c %s %s #{CONFIG['LIBS']}" CPP = "#{CONFIG['CPP']} -E %s -I#{$hdrdir} #{CFLAGS} -I#{CONFIG['includedir']} %s %s conftest.c" def rm_f(*files) @@ -497,49 +502,49 @@ EOMF install_rb(mfile, "$(sitelibdir)", srcdir) mfile.printf "\n" - if /mswin32/ !~ RUBY_PLATFORM - mfile.print " -.c.#{$OBJEXT}: - $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< - + unless /mswin32/ =~ RUBY_PLATFORM + src = '$<' + copt = cxxopt = '' + else + if /nmake/i =~ $make + src = '$(<:\\=/)' + else + src = '$(subst /,\\\\,$<)' + end + copt = '-Tc' + cxxopt = '-Tp' + end + unless /nmake/i =~ $make + mfile.puts " .cc.#{$OBJEXT}: - $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $< + $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c #{cxxopt}#{src} .cpp.#{$OBJEXT}: - $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $< + $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c #{cxxopt}#{src} .cxx.#{$OBJEXT}: - $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $< + $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c #{cxxopt}#{src} .C.#{$OBJEXT}: - $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $< + $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c #{cxxopt}#{src} +.c.#{$OBJEXT}: + $(CC) $(CFLAGS) $(CPPFLAGS) -c #{copt}#{src} " - elsif /nmake/i =~ $make + else mfile.print " -{$(srcdir)}.c.#{$OBJEXT}: - $(CC) $(CFLAGS) -I$(