Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-Id: <5.1.0.14.2.20020217162705.00aa7090@pop3.cris.com> X-Sender: rrschulz AT pop3 DOT cris DOT com X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Sun, 17 Feb 2002 17:02:59 -0800 To: rich-paul AT rich-paul DOT net, cygwin AT cygwin DOT com From: Randall R Schulz Subject: Re: HELP: java path and classpath question In-Reply-To: <20020217160248.C21117@monster.master-link.org> References: <5 DOT 1 DOT 0 DOT 14 DOT 2 DOT 20020211155509 DOT 02474ad0 AT pop3 DOT cris DOT com> <5 DOT 1 DOT 0 DOT 14 DOT 2 DOT 20020211105436 DOT 024f3b00 AT pop3 DOT cris DOT com> <20020211223949 DOT 70868 DOT qmail AT web13401 DOT mail DOT yahoo DOT com> <5 DOT 1 DOT 0 DOT 14 DOT 2 DOT 20020211155509 DOT 02474ad0 AT pop3 DOT cris DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed 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 -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 AT rich-paul DOT 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/