Hello,
I've intentionally left out all VS project files. I'm not sure but I
suspect that CPP is some kind of standard name for the compiler in that
context. I'm happy to hear I didn't mess up the project creation!
/Erik
On 2012-02-02 09:01, Staffan Larsen wrote:
Those generated files are Visual Studio projects for VS version 6 (I think).
Really old stuff. I don't think these are used (nor is VS 6 supported), so we
should eventually clean out that code. I wouldn't bother fixing it.
/Staffan
On 2 feb 2012, at 08:51, Bengt Rutisson wrote:
Hi Erik,
I have not looked closely at your changes, so don't consider this a review.
What I did do was apply your patch and try to create a Visual Studio project
with the create.bat script. That still works. Nice!
One thing I noticed is that the ProjectCreator tool generates some files for
the ADLC builds. These files still use the CPP name. Since it still works to
create a project I don't know if this needs to be changed. But maybe it is good
to be consistent.
Here's where we use the CPP name:
src\share\tools\ProjectCreator/WinGammaPlatformVC6.java:
68: printWriter.println("CPP=cl.exe");
145: printWriter.println("# SUBTRACT CPP /YX /Yc /Yu");
149: printWriter.println("# ADD CPP /Yc\"incls/_precompiled.incl\"");
210: rv.add("ADD CPP /nologo /MT /W3 /WX /GX /YX /Fr /FD /c");
217: rv.add("ADD BASE CPP "+Util.prefixed_join(" /I ", includes, true));
218: rv.add("ADD CPP "+Util.prefixed_join(" /I ", includes, true));
219: rv.add("ADD BASE CPP "+Util.prefixed_join(" /D ", defines, true));
220: rv.add("ADD CPP "+Util.prefixed_join(" /D ", defines, true));
221: rv.add("ADD CPP /Yu\"incls/_precompiled.incl\"");
230: rv.add("ADD BASE CPP /MD");
231: rv.add("ADD CPP /MD");
252: rv.add("ADD BASE CPP /Gm /Zi /O"+opt);
272: rv.add("ADD CPP /O"+getOptFlag());
And these are the generated files:
build\vs-amd64/compiler2/generated/ADLCompiler.dsp
build\vs-amd64/tiered/generated/ADLCompiler.dsp
Bengt
On 2012-02-02 03:33, David Holmes wrote:
Hi Erik,
On 1/02/2012 7:13 PM, Erik Joelsson wrote:
http://cr.openjdk.java.net/~erikj/7141242/webrev.00/
240 lines changed: 0 ins; 19 del; 221 mod; 6363 unchg
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
Lots of CCC to CXX too :)
One compatibility concern: anyone currently setting CPP_FLAGS or LINK_FLAGS
etc, externally, will need to change to the new names. Probably worth sending a
wider email (jdk8-dev?) when this gets pushed.
---
make/bsd/makefiles/gcc.make
- CPP = $(CXX)
+ CXX = $(CXX)
infinite recursion or a tautology? :)
---
make/*/makefiles/launcher.make
Not your doing but this has highlighted some strange rules eg:
+ $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CXXFLAGS)
C++ flags passed to C compiler?
---
make/*/makefiles/rules.make
-# $(CC) is the c compiler (cc/gcc), $(CCC) is the c++ compiler (CC/g++).
-C_COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS)
-CC_COMPILE = $(CCC) $(CPPFLAGS) $(CFLAGS)
+# $(CC) is the c compiler (cc/gcc), $(CXX) is the c++ compiler (CC/g++).
+C_COMPILE = $(CC) $(CXXFLAGS) $(CFLAGS)
+CC_COMPILE = $(CXX) $(CXXFLAGS) $(CFLAGS)
The original code is confusing, given that CC is the C compiler it makes no
sense that a C++ compile be called CC_COMPILE. Is it worth changing these to
CC_COMPILE and CXX_COMPILE? Maybe a secondary cleanup?
And again C++ flags passed to C compiler :(
---
You missed a couple of scripts on Windows that use LINK_VER:
windows/get_msc_ver.sh
windows/build_vm_def.sh
Cheers,
David
-----
The build-infra project is starting to move into jdk8. For the hotspot
build to stay compatible with the changes, the naming of standard make
variables, like CC and LD need to be standardized across the build.
Currently hotspot names the C++ compiler CPP, which is traditionally the
name of the preprocessor. The windows nmake files name the linker LINK.
We would like to rename the C++ compiler to CXX and have the linker
named LD everywhere.
Patch is tested with hsx/hotspot-rt. Testing with jdk7u is in progress.
/Erik