FreeDOS directory structure (FreeDOS 1.1)

2008-01-18

I had promised to write something about the directory structure for FreeDOS 1.1. Here it is. Let me know what updates I need to make.

This document attempts to summarize our discussion on the FreeDOS mailing lists (1/5/08-1/8/08) of the FreeDOS directory structure for FreeDOS 1.1:

Default structure

The below directories are subdirectories of the base install directory, for example C:\FDOS.

BIN
Binaries, such as exe and com files. And if a program is made of of a bat file, then that goes in BIN too. Programs only.
DOC
Package documentation, with each package having its own directory such as DOC\INSTALL or DOC\4DOS, etc. This allows a complicated package such as a compiler or programmable editor to include more than just a readme (perhaps sample code for the compiler, technical notes or other references, etc.)
HELP
The help files. I think the original FD directory structure was based on a UNIX-like directory tree, and the HELP directory was originally going to have subdirectories a-la UNIX 'man' sections: HELP\1, HELP\2, ... But that didn't make much sense in the end, so only the top-level HELP directory stuck. Later, we added an html-based Help program, so that needs its own directory for html files. I don't use the htmlHelp program, but it looks like the top directory for its files is in HELP\EN (i.e. the language.) That makes sense, I suppose.
SOURCE
For source code (when installed) with each package having its own directory. (Source package [spkg] only.)

Future concept directories

In our discussion on the list, we agreed that the below directories should not be part of the standard directories, but remain option options for future revisions of the directory standard.

LIB
If there is ever a dynamic lib concept, it should be in its own LIB.
INCLUDE
any *.h files that are associated with the libraries in LIB.