Home | History | Annotate | Download | only in des
      1 Check the CC and CFLAGS lines in the makefile
      2 
      3 If your C library does not support the times(3) function, change the
      4 #define TIMES to
      5 #undef TIMES in speed.c
      6 If it does, check the HZ value for the times(3) function.
      7 If your system does not define CLK_TCK it will be assumed to
      8 be 100.0.
      9 
     10 If possible use gcc v 2.7.?
     11 Turn on the maximum optimising (normally '-O3 -fomit-frame-pointer' for gcc)
     12 In recent times, some system compilers give better performace.
     13 
     14 type 'make'
     15 
     16 run './destest' to check things are ok.
     17 run './rpw' to check the tty code for reading passwords works.
     18 run './speed' to see how fast those optimisations make the library run :-)
     19 run './des_opts' to determin the best compile time options.
     20 
     21 The output from des_opts should be put in the makefile options and des_enc.c
     22 should be rebuilt.  For 64 bit computers, do not use the DES_PTR option.
     23 For the DEC Alpha, edit des.h and change DES_LONG to 'unsigned int'
     24 and then you can use the 'DES_PTR' option.
     25 
     26 The file options.txt has the options listed for best speed on quite a
     27 few systems.  Look and the options (UNROLL, PTR, RISC2 etc) and then
     28 turn on the relevant option in the Makefile.
     29 
     30 There are some special Makefile targets that make life easier.
     31 make cc		- standard cc build
     32 make gcc	- standard gcc build
     33 make x86-elf	- x86 assembler (elf), linux-elf.
     34 make x86-out	- x86 assembler (a.out), FreeBSD
     35 make x86-solaris- x86 assembler
     36 make x86-bsdi	- x86 assembler (a.out with primative assembler).
     37 
     38 If at all possible use the assembler (for Windows NT/95, use
     39 asm/win32.obj to link with).  The x86 assembler is very very fast.
     40 
     41 A make install will by default install
     42 libdes.a      in /usr/local/lib/libdes.a
     43 des           in /usr/local/bin/des
     44 des_crypt.man in /usr/local/man/man3/des_crypt.3
     45 des.man       in /usr/local/man/man1/des.1
     46 des.h         in /usr/include/des.h
     47 
     48 des(1) should be compatible with sunOS's but I have been unable to
     49 test it.
     50 
     51 These routines should compile on MSDOS, most 32bit and 64bit version
     52 of Unix (BSD and SYSV) and VMS, without modification.
     53 The only problems should be #include files that are in the wrong places.
     54 
     55 These routines can be compiled under MSDOS.
     56 I have successfully encrypted files using des(1) under MSDOS and then
     57 decrypted the files on a SparcStation.
     58 I have been able to compile and test the routines with
     59 Microsoft C v 5.1 and Turbo C v 2.0.
     60 The code in this library is in no way optimised for the 16bit
     61 operation of MSDOS.
     62 
     63 When building for glibc, ignore all of the above and just unpack into
     64 glibc-1.??/des and then gmake as per normal.
     65 
     66 As a final note on performace.  Certain CPUs like sparcs and Alpha often give
     67 a %10 speed difference depending on the link order.  It is rather anoying
     68 when one program reports 'x' DES encrypts a second and another reports
     69 'x*0.9' the speed.
     70