From: Jason Green Newsgroups: comp.os.msdos.djgpp Subject: Re: DJGPP neither running on ms-dos 6.2 nor on caldera-dos 7.03 Date: Sun, 13 Aug 2000 10:10:34 +0100 Organization: Customer of Energis Squared Lines: 39 Message-ID: References: <8mq6n6$6gu8v$1 AT ID-16903 DOT news DOT cis DOT dfn DOT de> <39912C43 DOT DF0BB5FD AT maths DOT unine DOT ch> <200008091553 DOT LAA13441 AT delorie DOT com> <200008111728 DOT NAA06831 AT delorie DOT com> NNTP-Posting-Host: modem-43.lithium.dialup.pol.co.uk Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: news7.svr.pol.co.uk 966157845 7103 62.136.2.43 (13 Aug 2000 09:10:45 GMT) NNTP-Posting-Date: 13 Aug 2000 09:10:45 GMT X-Complaints-To: abuse AT theplanet DOT net X-Newsreader: Forte Agent 1.7/32.534 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com "Eli Zaretskii" wrote: > > Most of these FAQs probably stem from #include , which has > > streambuf.h nested in it. > > This is only one of the problems. Take a look at lang/cxx and > lang/cxx/std: there are a lot of files there whose names exceed the > DOS 8+3 limits. Yep, I see them. I am assuming that most of the FAQs to this group are due to including the most common header - iostream. > > How about making a copy of streambuf.h with > > an 8.3 filename and editing the nested include within iostream.h? > > You suggest a manual solution. This is error prone (what if someone > who ports GCC forgets to do that?), and it doesn't solve the case when > a new header is introduced with a new release of GCC that wasn't known > before. It's a bodge, yes, and a way to reduce the number of FAQs (maybe ;-). > Anyway, thanks for the suggestions. You are welcome. Though I think the -remap option suggested by yourself and Andris is the most promising, in fact I don't understand why this is not already done. Except, perhaps, the effort involved in implementing it. AFAIK, there is nothing in the C++ standard that requires the header files to exist with the same names, or in fact to exist as files at all. Only that after #include , all the required names are declared. This, I believe, is partly the reasoning behind dropping the ".h" and also why the C++ commitee allowed LFNs, which are not permitted in ANSI C. It seems very reasonable that gcc should translate #include statements to a form compatible with the host filesystem. This appears, to me at least, to be exactly what is intended by the C++ standard.