Bug #4113
closedCannot build trunk with MSVC.
Description
=begin
Due to r30012 and r30054, I cannot build trunk version with MSVC.
C:\work\snapshot>nmake
Microsoft(R) Program Maintenance Utility 버전 9.00.30729.01
Copyright (c) Microsoft Corporation. All rights reserved.
CFLAGS = -MD -Zi -W2 -wd4996 -O2sy- -Zm600
XCFLAGS = -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_90 -I./include -I. -I./missing
CPPFLAGS =
DLDFLAGS = -incremental:no -debug -opt:ref -opt:icf -dll
SOLIBS =
Creating config.h
.ext\include\i386-mswin32_90\ruby\config.h updated.
Creating config.status
compiling main.c
main.c
compiling dmydln.c
dmydln.c
compiling miniruby.rc
fatal error RC1106: invalid option: -ologo
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\rc.EXE"' : '0x1' 반환 코드입니다.
Stop.
C:\work\snapshot>cl
Microsoft (R) 32비트 C/C++ 최적화 컴파일러 버전 15.00.30729.01(80x86)
Copyright (c) Microsoft Corporation. All rights reserved.
사용법: cl [ option... ] filename... [ /link linkoption... ]
C:\work\snapshot>rc/?
Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
Copyright (C) Microsoft Corporation. All rights reserved.
Usage: rc [options] .RC input file
Switches:
/r Emit .RES file (optional)
/v Verbose (print progress messages)
/d Define a symbol
/u Undefine a symbol
/fo Rename .RES file
/l Default language ID in hex
/i Add a path for INCLUDE searches
/x Ignore INCLUDE environment variable
/c Define a code page used by NLS conversion
/w Warn on Invalid codepage in .rc (default is an error)
/y Don't warn if there are duplicate control ID's
/n Append null's to all strings in the string tables
/fm Localizable resource only dll file name
/j Add localizable resource type(s)
/k Add resource type(s) to be kept in the language neutral
file in addition to adding them to the resource only DLL
Using the /j switch
/q RC Configuration file for the resource only DLL
/g Specify the ultimate fallback language ID in hex
/g1 Specify if version only MUI file can be created
/g2 Specify the custom file version for checksum in MUI creation
Flags may be either upper or lower case
C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin>rc /?
Microsoft (R) Windows (R) Resource Compiler Version 6.1.7600.16385
Copyright (C) Microsoft Corporation. All rights reserved.
Usage: rc [options] .RC input file
Switches:
/r Emit .RES file (optional)
/v Verbose (print progress messages)
/d Define a symbol
/u Undefine a symbol
/fo Rename .RES file
/l Default language ID in hex
/i Add a path for INCLUDE searches
/x Ignore INCLUDE environment variable
/c Define a code page used by NLS conversion
/w Warn on Invalid codepage in .rc (default is an error)
/y Don't warn if there are duplicate control ID's
/n Append null's to all strings in the string tables
/fm Localizable resource only dll file name
/q RC Configuration file for the resource only DLL
/g Specify the ultimate fallback language ID in hex
/g1 Specify if version only MUI file can be created
/g2 Specify the custom file version for checksum in MUI creation
/nologo Suppress startup logo
Flags may be either upper or lower case
The version of rc.exe is independent of the version of cl.exe.
The RC command in the SDK of version 6.x does not support -ologo.
The -nologo option requires the SDK of version 7.0A of higher.
=end
Updated by nobu (Nobuyoshi Nakada) about 14 years ago
=begin
Hi,
At Fri, 3 Dec 2010 10:53:50 +0900,
Heesob Park wrote at [ruby-core:33530]:
The version of rc.exe is independent of the version of cl.exe.
The RC command in the SDK of version 6.x does not support -ologo.
The -nologo option requires the SDK of version 7.0A of higher.
I didn't know that such combination was possible.
Does this help?
diff --git a/win32/Makefile.sub b/win32/Makefile.sub
index 18a8cb4..5f34f2e 100644
--- a/win32/Makefile.sub
+++ b/win32/Makefile.sub
@@ -240,7 +240,7 @@ DLDFLAGS = $(LDFLAGS) -dll
SOLIBS =
RCFILES = $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc
!ifndef RCFLAGS
-!if $(MSC_VER) >= 1500
+!if [$(RC) -? | findstr nologo] == 0
RCFLAGS=-nologo
!endif
!endif
--
Nobu Nakada
=end
Updated by usa (Usaku NAKAMURA) about 14 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
=begin
This issue was solved with changeset r30066.
Heesob, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
=end
Updated by phasis68 (Heesob Park) about 14 years ago
=begin
Hi,
2010/12/3 Nobuyoshi Nakada nobu@ruby-lang.org:
Hi,
At Fri, 3 Dec 2010 10:53:50 +0900,
Heesob Park wrote at [ruby-core:33530]:The version of rc.exe is independent of the version of cl.exe.
The RC command in the SDK of version 6.x does not support -ologo.
The -nologo option requires the SDK of version 7.0A of higher.I didn't know that such combination was possible.
Does this help?
diff --git a/win32/Makefile.sub b/win32/Makefile.sub
index 18a8cb4..5f34f2e 100644
--- a/win32/Makefile.sub
+++ b/win32/Makefile.sub
@@ -240,7 +240,7 @@ DLDFLAGS = $(LDFLAGS) -dll
SOLIBS =
RCFILES = $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc
!ifndef RCFLAGS
-!if $(MSC_VER) >= 1500
+!if [$(RC) -? | findstr nologo] == 0
RCFLAGS=-nologo
!endif
!endif
Yes, it helps.
Regards,
Park Heesob
=end