Paul & others,

Many thanks for this help. I've got it going and all is well.

Ian Hunter

> -----Original Message-----

> At 04:22 PM 1/20/00 +0000, Ian Hunter wrote:
> >Question.
> >
> >I compute my CLASSPATH by a script in .bashrc (I'm using 
> cygwin), but when I
> >compile, the CLASSPATH being used is the NT system CLASSPATH.
> >
> 
> I believe the Emacs compile command starts a Java compilation with the
> equivalent of
> 
>    bash -c javac MyClass.java
> 
> In this case, the shell is started in batch (non-interactive) mode. In
> batch mode,
> bash does not run your .bashrc script. Therefore, javac 
> inherits the value
> of the
> CLASSPATH variable from Emacs which inherits it from Windows 
> and hence the
> value
> of the CLASSPATH is the NT value not your .bashrc value.
> 
> Perhaps a bash expert can confirm the above.
> 
> 
> >Is there a way of controlling the compile shell to run 
> .bashrc or to use
> >bash env. vars.
> >
> 
> According to the bash doc, batch mode will,
> on startup, execute the script whose path is specified by the 
> environment
> variable ENV.
> 
> Therefore, you could define ENV in your NT environment and 
> point it to your 
> .bashrc script in your home directory.
> 
> >This is also a problem for me because when I run make, it 
> runs make in the
> >same directory as the source file, whereas my Makefile is in 
> a project root
> >directory.
> >
> 
> Reading the make doc reveals that there are -f and -C 
> variables for defining
> the location of the makefile and the startup directory, 
> respectively. You can
> use these with JDE's build command to run a makefile located 
> anywhere on 
> your local drive or network.
> 
> - Paul
> 
> 

Reply via email to