Board index » delphi » Long file names with BC 5.02 and TDW

Long file names with BC 5.02 and TDW

Borland C++ 5.02 can compile C source files with long file names, but Turbo
De{*word*81} (for Windows, 16 bits version) doesn't digest them : it can not
find such a source file.

I see the following solutions:

1. Don't use long file names.
-> But my company develops portable MacOS/Windows apps, and that makes it
very painful to truncate all source file names each time we want to compile
for Win16.

2. Understand the Borland Symbolic debug information in the compiled
executable, and create an utility that converts the long file names to short
ones within the debug info.
-> for my part, I have not been able to find any public documentation
pertaining to the TDW Symbolic Debug info in executable files.

3. Generate a make file from my .IDE project, and create an utility that
scans for all file names within it, and converts them to short names.
Then compile my project with MAKE.
-> I hesitate to go through such a painful method each time I want to
compile something.

Does anyone know for any workaround to this bug, or have heard about Borland
symbolic debug info file format (for 16-bits executables) ?

I thank you if you can help.

Julien Galand (France)

 

Re:Long file names with BC 5.02 and TDW


Hello,

First of all, I can suggest the following:
Examine the generated .TDS file, and whenever
you find a long file name, replace it with it's short equivalent,
generated by the operating system.
This may fool the de{*word*81}.

Also, you can download the following file:
http://www.wotsit.org/download.asp?f=bc4boa
which is "Open Architecture Handbook--The Borland Developer's Technical Guide",
and has information about the debug information too (I think)
It is about BC++ v4.0, but it may not be changed much.

----
Jogy
http://www.jogy.net/
j...@sirma.bg

Quote
"diagonal" <diago...@prolexis.com> wrote in message news:B82A6E92.19E%diagonal@prolexis.com...
> Borland C++ 5.02 can compile C source files with long file names, but Turbo
> De{*word*81} (for Windows, 16 bits version) doesn't digest them : it can not
> find such a source file.

> I see the following solutions:

> 1. Don't use long file names.
> -> But my company develops portable MacOS/Windows apps, and that makes it
> very painful to truncate all source file names each time we want to compile
> for Win16.

> 2. Understand the Borland Symbolic debug information in the compiled
> executable, and create an utility that converts the long file names to short
> ones within the debug info.
> -> for my part, I have not been able to find any public documentation
> pertaining to the TDW Symbolic Debug info in executable files.

> 3. Generate a make file from my .IDE project, and create an utility that
> scans for all file names within it, and converts them to short names.
> Then compile my project with MAKE.
> -> I hesitate to go through such a painful method each time I want to
> compile something.

> Does anyone know for any workaround to this bug, or have heard about Borland
> symbolic debug info file format (for 16-bits executables) ?

> I thank you if you can help.

> Julien Galand (France)

Re:Long file names with BC 5.02 and TDW


Quote
> Borland C++ 5.02 can compile C source
> files with long file names, but Turbo
> De{*word*81} (for Windows, 16 bits version)
> doesn't digest them : it can not
> find such a source file.

The compiler does not handle long file names in 16 bit mode.  Long file
names are unique to 32 bit systems.  According to the Microsoft
documentation, short versions of the long file names are not unique.  What
becomes longna~1.exe in one directory may become longna~2.exe in another
because a longna~1.exe already exists in there.

.  Ed

Re:Long file names with BC 5.02 and TDW


This is not so. Even if the IDE calls internally a 16-bits EXE to compile
(that would surprise me), I confirm that it compiles correctly sources with
long file names and paths.

But it is probably right that all BC5 tools should be installed in a folder
without long names in the path.

Quote

> The compiler does not handle long file names in 16 bit mode.  Long file
> names are unique to 32 bit systems.  According to the Microsoft
> documentation, short versions of the long file names are not unique.  What
> becomes longna~1.exe in one directory may become longna~2.exe in another
> because a longna~1.exe already exists in there.

> .  Ed

Re:Long file names with BC 5.02 and TDW


I have checked the Open Architecture Handbook.
It seems to be exactly what I was looking for :
It describes (among several things) the BC4 symbolic debug information in
compiled EXEs (including 16-bits ones it seems).

To scan the .TDS file automatically (by an utility I would make) is not so
easy, since how can I recognize a file path within the binary stream ?
I need the file format of the latter...

I thank you for your help.

Julien Galand (France)

Quote
> Hello,

> First of all, I can suggest the following:
> Examine the generated .TDS file, and whenever
> you find a long file name, replace it with it's short equivalent,
> generated by the operating system.
> This may fool the de{*word*81}.

> Also, you can download the following file:
> http://www.wotsit.org/download.asp?f=bc4boa
> which is "Open Architecture Handbook--The Borland Developer's Technical
> Guide",
> and has information about the debug information too (I think)
> It is about BC++ v4.0, but it may not be changed much.

> ----
> Jogy
> http://www.jogy.net/
> j...@sirma.bg

> "diagonal" <diago...@prolexis.com> wrote in message
> news:B82A6E92.19E%diagonal@prolexis.com...

Other Threads