HELP: java path and classpath question
Randall R Schulz
rrschulz@cris.com
Sun Feb 17 17:02:00 GMT 2002
Paul,
Whenever I see a hard-coded list of arbitrary values like that, I usually
conclude there is a need for an externally controlled way to specify that
list of values.
If I were going to go in and muck around with this code, I'd add a variable
such as CYGPATHVARS or some such (naming rights go to the coder, of course)
which took the form of a <somehow>-deliminted list of environment variable
names which were to be transformed between Windows and POSIX path syntax as
they passed in and out of the Cygwin world, as it were.
I see from the context of the patch you included there is a mix of
PATH-like and single-name variables. I guess that might require either some
special detection code during conversion or two separate control variables,
one for the PATH-like variables one for the single-name ones.
I can see why a Java-specific patch would be rejected, but not a generic
one. Did you submit a generic solution, and if so, what reason did you get
for it being rejected? Was it rejected by the BASH principals or by the
Cygwin principals?
Anyway, since my generic wrapper script works adequately for my needs, I'm
content with the current situation.
Randall Schulz
Mountain View, CA USA
At 13:02 2002-02-17, rich-paul@rich-paul.net wrote:
>My suggestion is a simple patch and recompile to cygwin. There
>is a file called environ.cc. It contains the code that
>automaticly converts variables like PATH and HOME to cygwinformat
>when it enters cygwin, and back when it leaves.
>
>All you have to do is add the code preceded by the plus signs code right after
>the path entry, on about line 50 of the file:
>
>
> static win_env conv_envvars[] =
> {
> {"PATH=", 5, NULL, NULL, cygwin_win32_to_posix_path_list,
> cygwin_posix_to_win32_path_list,
> cygwin_win32_to_posix_path_list_buf_size,
> cygwin_posix_to_win32_path_list_buf_size},
>+ {"CLASSPATH=", 10, NULL, NULL, cygwin_win32_to_posix_path_list,
>+ cygwin_posix_to_win32_path_list,
>+ cygwin_win32_to_posix_path_list_buf_size,
>+ cygwin_posix_to_win32_path_list_buf_size},
> {"HOME=", 5, NULL, NULL, cygwin_conv_to_full_posix_path,
> cygwin_conv_to_full_win32_path,
> return_MAX_PATH, return_MAX_PATH},
> {"LD_LIBRARY_PATH=", 16, NULL, NULL, cygwin_conv_to_full_posix_path,
> cygwin_conv_to_full_win32_path, return_MAX_PATH, return_MAX_PATH},
> {"TMPDIR=", 7, NULL, NULL, cygwin_conv_to_full_posix_path,
> cygwin_conv_to_full_win32_path,
> return_MAX_PATH, return_MAX_PATH},
> {"TMP=", 4, NULL, NULL, cygwin_conv_to_full_posix_path,
> cygwin_conv_to_full_win32_path,
> return_MAX_PATH, return_MAX_PATH},
> {"TEMP=", 5, NULL, NULL, cygwin_conv_to_full_posix_path,
> cygwin_conv_to_full_win32_path,
> return_MAX_PATH, return_MAX_PATH},
> {NULL, 0, NULL, NULL, NULL, NULL, 0, 0}
> };
>
>
>Note that I just cut and pasted the entry for PATH, and changed the word
>PATH to CLASSPATH, and the number 5 following ( which is the length,
>including the equals sign) to 10. If you want to add other variables,
>feel free. I compile using vc++, so I added the INCLUDES and LIBS
>variables as well.
>
>I have tried to get them to include this patch, or even better to make the
>environment processing configurable, but to no avail. :(
>
>
>On Mon, Feb 11, 2002 at 04:09:39PM -0800, Randall R Schulz wrote:
> > Wally,
> >
> > Unless a program has been ported to and compiled with Cygwin headers and
> > libraries it is a Windows program and knows nothing of POSIX (Unix-style)
> > file names and PATH (-type) variables. Cygwin programs will understand
> both
> > kinds of arguments. To be more precise, the Cygwin libraries take either
> > kind of file name, but a program that was only minimally ported to Cygwin
> > might make its own assumptions about what a file name looks like, and
> could
> > misinterpret a Windows-style name.
> >
> > The Java tools from Sun have _not_ been ported to Cygwin, and hence you
> > must supply arguments in the Windows format.
> >
> > Good luck.
> >
> > Randy
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list