www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/01/15/18:55:38

Message-Id: <m0vkf2F-0003xGC@main.statsci.com>
To: leathm AT gbrmpa DOT gov DOT au
cc: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>, djgpp AT delorie DOT com
Subject: Re: DJGPP w/long file name support
References: <Pine DOT SUN DOT 3 DOT 91 DOT 970115132849 DOT 15171D-100000 AT is> <m0vkZZl-0003wJC AT main DOT statsci DOT com>
<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 <scott AT statsci DOT com>

Leath Muller <leathm AT gbrmpa DOT gov DOT au> 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 <stdio.h>
    #include <errno.h>
    #include <io.h>
    ...
        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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019