Skip to main content

Executing java/javac build commands under Cygwin

No replies
Joined: 2008-07-03

I am building phoneME Advanced CDC PBP on Win32 XP using Cygwin and cross-compiling to MinGW.

Cygwin "make" does not support the use of windows-style pathnames. It does not like the ":" character found in windows pathnames and it confuses it with the ":" that separates targets from prerequisites. The error usually manifests itself when a makefile includes the GCC-generated dependency files (.d) and you will see something like this:

obj/romjava0.d:1: *** multiple target patterns. Stop.

Previously, we were using the MR2 b34 release of phoneME Advanced -- but now that we have switched to the latest phoneME source, we find that the build system has been updated to use all absolute (POSIX) paths instead of relative paths. This makes "make" happy, but now causes problems for the Windows JDK (javac/java) which only understands windows-style paths.

I have tested some changes to the shared makefiles to wrap all directory variables passed to java/javac in POSIX2HOST calls. I have patch files that I can submit, but the changes are pretty widespread.

Is there another way to solve this problem? Or should I go ahead and submit the patches?