On 3/10/2013 10:56 PM, Francis ANDRE wrote:
HiIn the 7u40/jdk/make/common/shared/Compiler-msvc.gmk, the code for computing the CC_VER does work with a French VS2010 Express compiler CC_VER := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(SED) 's/.*\(Version.*\)/\1/' | $(NAWK) '{print $$2}') because the cl command returns Compilateur d'optimisation Microsoft (R) 32 bits C/C++ version 16.00.30319.01 pour 80x86 Copyright (C) Microsoft Corporation. Tous droits réservés. utilisation : cl [ option... ] nom de fichier... [ /link linkoption... ] So, soneone from the build team would say: Hey guy, pick up the English version and it will work!. But that does not work neither because when one download VS2010 Express from a French territory, one gets the French version EVEN if the English version was explicitly requested (I made it twice, thinking I missed to select the English version).
Not sure how the build is supposed to account for all possible languages used by the toolsets such that it can determine what the version is ?? In other languages the word "version" may not even appear. Doesn't this compiler have some flag to print the version? (Obviously it didn't in the past hence the code but maybe it does now?)
The problem has already been solved in the hotspot build by using the externals variables FORCE_MSC_VER and FORCE_LINK_VERSION in this file /hotspot/make/windows/get_msc_ver.sh
That doesn't seem an unreasonable approach. As long as there is some way for people in your situation to make things work.
David -----
I can build a fix for this issue but I think it is better than someone from the build team fix this issue because of the overall responsibility of making the build correct on the WXP/VS2010 as well as others platforms which I do not have. Francis
