Review for 7141242: build-infra merge: Rename CPP->CXX and LINK->LD (original) (raw)

Erik Joelsson erik.joelsson at oracle.com
Thu Feb 2 08:58:05 UTC 2012


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.prefixedjoin(" /I ", includes, true)); 218: rv.add("ADD CPP "+Util.prefixedjoin(" /I ", includes, true)); 219: rv.add("ADD BASE CPP "+Util.prefixedjoin(" /D ", defines, true)); 220: rv.add("ADD CPP "+Util.prefixedjoin(" /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 CPPFLAGS or LINKFLAGS 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)(QUIETLY) (QUIETLY)(CC) -g -o @−c@ -c @c< -MMD (LAUNCHERFLAGS)(LAUNCHERFLAGS) (LAUNCHERFLAGS)(CXXFLAGS) C++ flags passed to C compiler? --- make/*/makefiles/rules.make -# (CC)istheccompiler(cc/gcc),(CC) is the c compiler (cc/gcc), (CC)istheccompiler(cc/gcc),(CCC) is the c++ compiler (CC/g++). -CCOMPILE = (CC)(CC) (CC)(CPPFLAGS) $(CFLAGS) -CCCOMPILE = (CCC)(CCC) (CCC)(CPPFLAGS) $(CFLAGS) +# (CC)istheccompiler(cc/gcc),(CC) is the c compiler (cc/gcc), (CC)istheccompiler(cc/gcc),(CXX) is the c++ compiler (CC/g++). +CCOMPILE = (CC)(CC) (CC)(CXXFLAGS) $(CFLAGS) +CCCOMPILE = (CXX)(CXX) (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 CCCOMPILE. Is it worth changing these to CCCOMPILE and CXXCOMPILE? Maybe a secondary cleanup? And again C++ flags passed to C compiler :( --- You missed a couple of scripts on Windows that use LINKVER: windows/getmscver.sh windows/buildvmdef.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



More information about the build-dev mailing list