PREREQUISITES Using GCC: Required * gcc : GNU C compiler * GNU binutils : A collection of binary tools * GNU make : make * sh : POSIX type shell * GNU coreutils: Core utilities package (chmod, install, mkdir, mv, rm, uname) * sed : Stream editor * perl : Practical Extraction and Report Language (perlpod) Optional (depending on build targets): * gettext : Framework to help GNU packages produce multi- lingual messages. * groff : GNU troff text formatting system. * ghostscript : An interpreter for the PostScript language and for PDF (ps2pdf) Alternative for Windows/DOS: * Open Watcom : http://www.openwatcom.org/ Required for DOS16 bit: * Open Watcom : http://www.openwatcom.org/ BASIC INSTALLATION To build the program type: make To strip the executables: make strip To install: make install Clean: make clean Mostly clean. The target mostlyclean will preserve the generated documentation files. make mostlyclean INSTALLATION NAMES By default the 'install' target will install the program in /usr/bin, the language files in /usr/share/locale and the man page in /usr/share/man. You can specify an installation prefix other than /usr by modifying the 'prefix' variable. An Example: make prefix=$HOME clean all make prefix=$HOME install DEBUG A debug enabled build can be made by adding DEBUG=1 to the make command. Example: make clean install DEBUG=1 With debug enabled dos2unix will print extra information and you can debug the source code in gdb. NATIVE LANGUAGE SUPPORT Native Language Support (NLS) is by default enabled. To disable NLS add ENABLE_NLS=. Example: make clean install ENABLE_NLS= LARGE FILE SUPPORT Large File Support (LFS) is by default enabled. This enables the use of 64 bit file system interface on 32 bit systems. This makes it possible to open files larger than 2GB on 32 bit systems, provided the OS has LFS support builtin. To disable LFS make the LFS variable empty. Example: Disable LFS: make clean install LFS= UNICODE SUPPORT Unicode UTF-16 support is by default enabled for Windows and Unix. To disable make the UCS variable (Universal Character Set) empty. Disable Unicode: make clean install UCS= Unicode UTF-16 is not supported by the DOS versions. ESPERANTO X-NOTATION For systems that don't support the Unicode or Latin-3 character set, Esperanto messages in ASCII x-notation format can be selected. Add EO_XNOTATION=1 tot the make command-line. It will change the format of the normal dos2unix 'eo' locale from Unicode to ASCII x-notation. make clean install EO_XNOTATION=1 DOCUMENTATION Manual pages are generated from Perl POD files. By default the manual pages are are created in text and html format. To create a manual in PDF format type: make pdf PDF generation requires GhostScript to be installed. WINDOWS PORT To compile a version for Windows, get the Mingw compiler , and use makefile mingw.mak: make -f mingw.mak clean make -f mingw.mak make -f mingw.mak strip make -f mingw.mak install Or get the Open Watcom C compiler and type: wmake -f wccwin32.mak clean wmake -f wccwin32.mak The win32 binaries built with MinGW32 are packed with a patched version of MinGW's libintl-8.dll that has builtin support for relocation. See also http://waterlan.home.xs4all.nl/libintl.html and http://sourceforge.net/tracker/?func=detail&atid=302435&aid=3003879&group_id=2435 WINDOWS 64 BIT PORT To compile a version for Windows, get the Mingw-w64 compiler , and use makefile mingw64.mak: make -f mingw64.mak clean make -f mingw64.mak make -f mingw64.mak strip make -f mingw64.mak install DOS PORT, 32 BIT To compile a version for DOS, get the DJGPP compiler , and use makefile djgpp.mak: make -f djgpp.mak clean make -f djgpp.mak make -f djgpp.mak strip make -f djgpp.mak install Or use the OpenWatcom compiler . wmake -f wccdos32.mak clean wmake -f wccdos32.mak DOS PORT, 16 BIT To compile a version for DOS, use the Borland C compiler 3.1 or 4.0, and use makefile bcc.mak: make -f bcc.mak clean make -f bcc.mak Or use the OpenWatcom compiler . wmake -f wccdos16.mak clean wmake -f wccdos16.mak OS/2 PORT Using Paul Smedley's build environment, available at make -f os2.mak clean make -f os2.mak make -f os2.mak strip make -f os2.mak install