ack icon indicating copy to clipboard operation
ack copied to clipboard

[improvement] Generated libraries names are not compatible with 8.3 name format

Open ccodere opened this issue 6 years ago • 2 comments

Description

In the current implementation of ACK, the names of the runtime libraries built and used by the ACK compilers is longer than 8.3 characters, and it is therefore not possible to use the compilers on 8.3 system such as TOS and MS-DOS.

Analysis

Recommended to revert back to generate the names as described in ACK 5 to resolve the issue: libb B run-time system libbc Basic run-time system libc ANSI C run-time system libpc Pascal run-time system libm2 Modula-2 run-time system (today called libmodula2.a which is longer than 8.3) liboc occam run-time system

ccodere avatar Mar 08 '19 17:03 ccodere

Many files installed in share/ack/include/modula2, like Arguments.def and RealConversions.def, don't fit in 8.3 names. I would like to keep the long names where they work. We might want a way to shorten names on systems that need it, like RealConv.def (8.3) or RealConver.def (14). Commit 893471a had abandoned the 14-character limit of Unix v7 by renaming Conversion.def to Conversions.def and RealConver.def to RealConversions.def.

kernigh avatar Mar 12 '19 19:03 kernigh

I do not mind to keep the tools to generate ACK binaries to have long filenames even though i will personally try to avoid them if possible, but on the other hand, i do feel strongly that the ACK compiler binaries should be able to run on lower end machines with a minimal amount of RAM, so this includes MS-DOS, TOS and old UNIX systems that have these filename limitations... I think it is something that can be discussed at that time, because i think still far from achieving this goal though.

ccodere avatar Mar 13 '19 06:03 ccodere