

hfdjgpp - jrg arndt's hfloat library ported to dos-gnu


Porting hfloat from linux-gnu to dos-(djgpp)-gnu 2.7.2

Done 97-09-13/ Christoph Haenel.

1. Create a directory bin in hfloat

2. Shorten overlong filenames to 8.3. 
   That means:

rename  src\fxt\cnvl4step       -> cnvl4stp
        src\fxt\dyadiccnvl      -> dyadcnvl
        src\fxt\testwalsh       -> testwlsh
        src\fxt\transpos2       -> transps2
        src\fxt\walsh*          -> wlsh*
        src\fxt\mod\mscramble   -> mscrambl
        src\fxt\mod\montgomery  -> montgom
        src\gt\gtconv* 		-> gtcnvxxx
        src\dt\dtconv*  	-> dtcnv*
        examples\yourstuff 	-> yourstuf
        src\hf\hfverbosity.cc  	-> hfverbos.cc
        src\hf\rprime4th       	-> rprime4
        
copy	src\fxt\mod\montgomery.h  -> montgome.h
        src\include\hfverbosity.h   -> hfverbos.h
        src\include\mybuiltin.h     -> mybuilti.h
        src\include\workspace.h     -> workspac.h

2. In every makefile. 
   Exchange instructions of type 
        cd xyz; $(MAKE)
   by:
        cd xyz
        $(MAKE)
        cd ..
   Don't forget the TAB before every inst.
   Reason: dosgnu's make cannot handle multiple instructions per line

3. In every makefile. 
   delete 
      -test
   reason: dosgnu has no such program

4. In every makefile. 
   Exchange 
        rm -f           -> del
        g++             -> gcc or comment-out g++
        -lm             -> -lm -lgpp
        dyadiccnvl      -> dyadcnvl
        walsh*          -> wlsh*
        testwalsh       -> testwlsh
        mscramble       -> mscrambl
        montgomery      -> montgom
        transpos2       -> transps2
        cnvl4step       -> cnvl4stp
        gtconv*       	-> gtcnv*
        dtconv*       	-> dtcnv*
        yourstuff       -> yourstuf
        hfverbosity     -> hfverbos
        rprime4th       -> rprime4

6. In gtcnvint.cc :        I
   Include:        
        #include <values>

7. In every makefile.
   Replace every instruction of type
        ar <options> <lib> <members with wildcards>
   by:
        md xyz
        copy <members with wildcards> xyz > nul
        cd xyz
        dir /b *.* > rsp.rsp
        ar <options> ../<lib> @rsp.rsp
        cd ..
        deltree /Y xyz > nul
   Reason: dosgnu's ar.exe cannot handle wildcards in a nested makefile.

8. In every makefile. 
   Delete the targets
        showrc         
   Reason: Makes no sense

9. In every makefile. 
        in the targets $(DEP): and 
                       dep: and 
                       depend:
	Change $(CXX) -MM ...  $(SRC) 
        to     $(CXX) -MM ...  *.cc
   Reason: Otherwise the lists become too long for nested DOS shells.

Thats all.   

I also changed a little bit the user interface:
1. I compressed the help screen so that it fits to 25 lines. 
2. When called without arguments pi.exe, ti.exe and te.exe asks for 
   <digits to compute> <algorithm> <base (10 or 16)>

Note:
1. there are copies of all the makefile. as makefile.dos   
2. The makefile. (and makefile.dos) are tested with gnu's make.exe
