This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Script questions


On 05/17/2010 10:35 PM, Gregg Levine wrote:
> Hello!
> For the work I do, building and running the Arduino programs first
> from code retreived from SVN and then building it, I am using Cygwin.
> Building prior releases worked without complications.
> 
> I now find out that the latest ones are using Ant from the Apache
> project group to build each. Here's the thing, the script I am
> presenting works to tell the whole system where Java is hiding:
> (Linux)
> #!/bin/sh
> export JAVA_HOME=/usr/lib/java
> export MANPATH="${MANPATH}:${JAVA_HOME}/man"
> export PATH="${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin"
> 
> That one works perfectly, no problems whatsoever.
> 
> However the export and translation: (Cygwin)
> GCL@CmdrSkywalker /etc/profile.d
> $ cat jdk.sh
> #!/bin/sh
> export JAVA_HOME="/cygdrive/c/Program Files/Java"
> #export MANPATH="${MANPATH}:${JAVA_HOME}/man"
> export PATH="${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin"
> 
> That one, note the instructions to tell Cygwin where Java lives, only
> tells it where to find the base directory. I am at a minor loss as to
> how to enable the rest of it so as to be able to find the entire tool
> chain. Especially since the company behind Java has its own mindset as
> to how everything is laid out.

The JAVA_HOME environment variable is used by Java, which is a
Windows-native program under Windows.  Since Java is Windows-native, it
doesn't know anything about POSIX paths such as the one you set in your
Cygwin translation.  Apache Ant also assumes that JAVA_HOME uses Windows
paths, and the ant shell script (used when running "ant" from a Cygwin
shell) deals with it appropriately in order to locate your Java
installation based on that fact.

Basically, set JAVA_HOME to a Windows path rather than POSIX path, and
let Ant do the rest for you.  Cygwin itself takes no interest in Sun's
Java or its environment variables.  If you have any other custom
automation which needs knowledge of the Java installation path, you'll
need to model it on the way that Ant handles things surrounding
JAVA_HOME, CLASSPATH, etc.  The ant shell script is reasonably clean and
to-the-point, so you should take a quick peek.

-Jeremy

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]