On Jun 6, 2010, at 11:00 PM, David Holmes wrote:

cowwoc said the following on 06/07/10 15:25:
That being said, I don't think the PROCESSOR_IDENTIFIER error is specific to Make. I noticed the makefile contains echo $ (PROCESSOR_IDENTIFIER).
Running this under cygwin's bash gives:

echo $(PROCESSOR_IDENTIFIER)
bash: PROCESSOR_IDENTIFIER: command not found

while:

echo $PROCESSOR_IDENTIFIER
Intel64 Family 6 Model 15 Stepping 11, GenuineIntel

Where can I get make 3.10 that will work? How do I fix the
PROCESSOR_IDENTIFIER error?

Shouldn't jdk_generic_profile.sh use braces instead of round brackets? That is, ${PROCESSOR_IDENTIFIER} instead of $(PROCESSOR_IDENTIFIER)? Is this a
bug in the makefile?

It's a bug in the script - a typo introduced by this recent changeset:

changeset:   970:90873391a0e0
parent:      945:fea0898259ae
user:        ohair
date:        Thu Mar 26 16:52:00 2009 -0700
summary: 6822374: Windows: detect X64 when PROCESSOR_IDENTIFIER contains EM64T or Intel64

diff -r fea0898259ae -r 90873391a0e0 make/jdk_generic_profile.sh
--- a/make/jdk_generic_profile.sh       Tue Mar 17 13:45:01 2009 -0700
+++ b/make/jdk_generic_profile.sh       Thu Mar 26 16:52:00 2009 -0700
@@ -174,7 +174,8 @@ else

  # Check CYGWIN (should have already been done)
  #   Assumption here is that you are in a shell window via cygwin.
-  if [ "$(echo ${PROCESSOR_IDENTIFIER} | fgrep AMD64)" != "" ] ; then
+ proc_arch=`echo "$(PROCESSOR_IDENTIFIER)" | expand | cut -d' ' - f1 | sed -e 's...@x86@x...@g' -e 's...@intel64@x...@g' -e 's...@em64t@x...@g' -e 's...@em64t@x...@g' -e 's...@amd64@x...@g' -e 's...@amd64@x...@g' -e 's...@ia64@i...@g'`
+  if [ "${proc_arch}" = "X64" ] ; then
    windows_arch=amd64
  else
    windows_arch=i586

My fault. I'll file a bug and fix this.  Sorry about that.

I don't think any of our internal automated build processes use this script, never did. I added it as more of a form of documentation on the settings needed, and had assumed people would copy it and edit to suit their purposes. It was originally created many years ago, pre-OpenJDK. :^( If I can figure out a way to somehow test it, I'll try and create some kind of test. But I'll fix it first.

Anyone care to be the reviewer?

6959116: Fix regression in make/jdk_generic_profile.sh (PROCESSOR_IDENTIFIER)

diff --git a/make/jdk_generic_profile.sh b/make/jdk_generic_profile.sh
--- a/make/jdk_generic_profile.sh
+++ b/make/jdk_generic_profile.sh
@@ -174,7 +174,7 @@

   # Check CYGWIN (should have already been done)
   #   Assumption here is that you are in a shell window via cygwin.
- proc_arch=`echo "$(PROCESSOR_IDENTIFIER)" | expand | cut -d' ' -f1 | sed -e 's...@x86@x...@g' -e 's...@intel64@x...@g' -e 's...@em64t@x...@g' -e 's...@em64t@x...@g' -e 's...@amd64@x...@g' -e 's...@amd64@x...@g' -e 's...@ia64@i...@g'` + proc_arch=`echo "${PROCESSOR_IDENTIFIER}" | expand | cut -d' ' -f1 | sed -e 's...@x86@x...@g' -e 's...@intel64@x...@g' -e 's...@em64t@x...@g' -e 's...@em64t@x...@g' -e 's...@amd64@x...@g' -e 's...@amd64@x...@g' -e 's...@ia64@i...@g'`
   if [ "${proc_arch}" = "X64" ] ; then
     windows_arch=amd64
   else


-kto


David Holmes
-----------


Another thing I learned is that if you get:
"cygpath: cannot create short name of \\?\C:\Program Files\Microsoft
SDKs\Windows\v7.1" it means the referenced path does not exist. What a misleading error message :) I initially thought there was something wrong
with the argument passed to cygpath...
Gili

Reply via email to