[7u]: help on jdk/make/common/shared/Defs-windows.gmk
Erik Joelsson
erik.joelsson at oracle.com
Wed Nov 20 09:47:12 UTC 2013
The way I understand it $(if $(word 2,$1) is a check for whitespace in
the input parameter. It's an optimization to avoid executing cygpath
when it's not needed. The MixedPath macro cannot be used if the path
contains a space. It also doesn't convert to an absolute path, just
replacing cygwin specific paths with driveletter paths. The unfortunate
effect of this is that FullPath behaves differently depending on if the
path contains a space.
How are you invoking the build to cause this error? Are you explicitly
setting ALT_OUTPUTDIR? What is the path to your workspace?
/Erik
On 2013-11-15 18:37, Francis ANDRE wrote:
> Hi
>
> I am trying to fix the following error
>
> $ make sanity
> jdk/make/common/shared/Defs.gmk:563: *** "ERROR: Trouble with the
> absolute path for OUTPUTDIR './bui
> ld/windows-i586'". Stop.
>
> and found the following code in
> jdk/make/common/shared/Defs-windows.gmk, line 109
>
> define FullPath
> $(if $(word 2,$1),$(shell $(CYGPATH_CMD) $1 2> $(DEV_NULL)),$(call
> MixedPath,$(realpath $(subst ",,$1))))
> endef
>
> Can someone explain me what use case is covered by the $(word 2,$1) in
> the previous statement?
>
> The error "ERROR: Trouble with the absolute path for OUTPUTDIR" can be
> fixed by replacing $(word 2,$1) by $(word 1,$1) but I cannot find a
> usage for the $(word 2,$1)
>
> Francis
More information about the build-dev
mailing list