From: Danny Backx <danny.backx@scarlet.be>
To: Eli Zaretskii <eliz@gnu.org>
Cc: tromey@redhat.com, gdb@sourceware.org
Subject: Re: Build question
Date: Tue, 01 Sep 2009 18:03:00 -0000 [thread overview]
Message-ID: <1251828295.6106.119.camel@pavilion> (raw)
In-Reply-To: <1251095160.16357.352.camel@pavilion>
On Mon, 2009-08-24 at 08:26 +0200, Danny Backx wrote:
> On Sat, 2009-08-22 at 12:52 +0300, Eli Zaretskii wrote:
> > Can you point out the places in the code (hopefully, not too many)
> > where the Posix assumption about file-name syntax needs to be replaced
> > with the Windows assumption?
> >
> > If there are not too many of them, we could modify them to use one or
> > two user options. For starters, these options would need to be set
> > manually, by the user who knows what filesystem she is working with.
> > Later, we could try to set them automatically.
>
> I'll try this.
I did a bit of research.
Getting most things I care about to work is done by simplifying
include/filenames.h so it unconditionally takes the DOS versions of
IS_DIR_SEPARATOR() and IS_ABSOLUTE_PATH().
I also manually hacked libiberty/config.h in my build directory to
define HAVE_DOS_BASED_FILE_SYSTEM.
A quick test (yeah I know, this proves very little) shows that the case
I am after (to get DLL functionality to work) gets fixed with the
include/filenames.h change, even without the libiberty/config.h hack.
Apart from that, HAVE_DOS_BASED_FILE_SYSTEM is used in a number of
sources (even though filenames.h appears to do much already) :
./libiberty/make-relative-prefix.c
./libiberty/basename.c
./libiberty/lbasename.c
./include/filenames.h
./bfd/archive.c
./gdb/utils.c
./gdb/cli/cli-cmds.c
./gdb/completer.c
./gdb/symtab.c
./gdb/source.c
Quick analysis :
The code in bfd/archive.c could probably be cleaned up based on
IS_DIR_SEPARATOR. The code in gdb/utils.c could just always be compiled
in. Same, I think, for gdb/cli/cli-cmds.c.
One part of gdb/completer.c is file name break characters. Not sure how
to deal with those. The other #if is no problem.
The stuff in gdb/symtab.c does case independent string compare in the
DOS case.
gdb/source.c looks safe too.
My gut feeling is to just do the simplification, and add a variable that
says what to do with case insensitive file names. Don't know what to do
with the file name break characters.
But I may be oversimplifying matters.
Danny
--
Danny Backx ; danny.backx - at - scarlet.be ; http://danny.backx.info
next prev parent reply other threads:[~2009-09-01 18:03 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-21 0:24 Danny Backx
2009-08-21 17:30 ` Tom Tromey
2009-08-21 17:57 ` Eli Zaretskii
2009-08-21 18:23 ` Danny Backx
2009-08-21 18:51 ` Eli Zaretskii
2009-08-21 20:15 ` Danny Backx
2009-08-21 21:57 ` Eli Zaretskii
2009-08-22 9:03 ` Tom Tromey
2009-08-22 9:55 ` Danny Backx
2009-08-22 11:07 ` Eli Zaretskii
2009-08-24 10:11 ` Danny Backx
2009-09-01 18:03 ` Danny Backx [this message]
2009-09-01 19:34 ` Eli Zaretskii
2009-09-01 20:10 ` Danny Backx
2009-09-02 3:25 ` Eli Zaretskii
2009-09-05 9:33 ` Danny Backx
2009-09-01 19:35 ` Eli Zaretskii
2009-08-22 22:01 ` Daniel Jacobowitz
2009-08-23 7:28 ` Joel Brobecker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1251828295.6106.119.camel@pavilion \
--to=danny.backx@scarlet.be \
--cc=eliz@gnu.org \
--cc=gdb@sourceware.org \
--cc=tromey@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox