Message-Id: To: leathm AT gbrmpa DOT gov DOT au cc: Eli Zaretskii , djgpp AT delorie DOT com Subject: Re: DJGPP w/long file name support References: <32DD7DF3 DOT 29E5 AT gbrmpa DOT gov DOT au> In-reply-to: Your message of "Thu, 16 Jan 1997 09:01:39 +0800." <32DD7DF3 DOT 29E5 AT gbrmpa DOT gov DOT au> Reply-to: scott AT statsci DOT com Date: Wed, 15 Jan 1997 15:46:23 -0800 From: Scott Blachowicz Leath Muller wrote: > > Nope - it was MSVC compiled. > > Ummm... hello? Anybody home? ;) Not me...certainly not in this neighborhood :-)). > If your using a true DOS app, not one created from the MSVC AppWizard, > (true being with a DOS compiler, such as DJGPP, or TC, etc etc), you I told MSVC 4.1 on NT4 to create a new workspace to do a "Console mode app" and hand entered a main() function that goes thru its argv like this: #include #include #include ... while (argc > 0) { ff_ret = _findfirst (*argv, &fileinfo); if (ff_ret == -1) { printf ("_findfirst(\"%s\") returns errno=%d", errno); } else { while (_findnext(ff_ret, &fileinfo) == 0) { printf ("\"%s\"\n", fileinfo.name); } } argc--; argv++; } and I get LFNs out. > can't use LFN because NT effectively uses DOS 5, which doesn't support > LFN. DOS 7 is the only DOS that does, ie: Win95... I guess that could explain the lack of LFN support from DJGPP. > > I've considered switching to the Cygnus gnu-win32 stuff, but from what I > > remember, they require POSIX style directory paths (using forward slashes, > > etc) and I need to use some DOS tools (e.g. MS C, et al) that probably > > wouldn't care much for filenames like //c/directory/file.c. > > Write a simple parser... :) Actually, I was thinking of adding a "dosify" function to GNU make that could do string conversions... DOS_INCLUDE_DIRS := $(dosify $(INCLUDE_DIRS)) MSVC_INCLUDE_OPTS := $(addprefix /I ,$(DOS_INCLUDE_DIRS)) or something like that...but using the GNU make in DJGPP has saved me from needing to do that particular task. I have no need for any of my build tools to get anywhere near Win16 (much less DOS) - I just need a 'GNU make' program that can run from command prompt in Win95 and WinNT 4.x. I want to use the same makefiles between Win32 and Unix platforms and I'm familiar with GNU make and the others working on this stuff know general "makefile" syntax (as opposed to "cookfile" or whatever), so it's a natural choice. And the DJGPP supplied toolset lets me do that under Win95...it's just now that I'm trying to get these to work with NT 4.0 that I'm having problems. What we have been using for other projects is the [Unix] vendor-supplied "make" tool and the [Windoze] MKS Toolkit supplied "make". This has problems because the fancier things that you might want to do in a makefile have different syntaxes (or availability) in the "make" tools across platforms. Recommendations for other approaches would be welcome, but I never seem to have time to do more drastic changes...I think it'll end up being feasible to use the Cygnus stuff, but it's a little work and it'd be a lot easier if someone else did the work of getting DJGPP to do the trick under NT 4 (which I would do, but I'm severely lacking in the background necessary to put it together). Has anyone seen any other "DOS apps" that can show long filenames under NT 4.0? If so, then maybe some code could be borrowed form there? > > Hmmm...have the GNU make sources made it to a point where they just build > > (and work) using native MS tools? > > Ouch, I would consider that a backward step to say the least... *GRIN* Not if it works... Thanx, Scott