packages icon
To compile the library:

1. cd src
2. make -f portMakefile
    the portMakefile may need some slight modifications (compiler name
    etc.)

A number of examples will be created. The examples with names
starting with man_ are described in the manual. Some of the examples
(sorting a file) waits for data on the standard input, so don't forget to pipe
in a file! For description of this library, read the manual page.




WARNING!
The LL linked list library is not fully portable. There is a remote
possibility that the the LL.h file (in the inc directory)
will have to be modified on your particular system to avoid alignment
problems.

As is, the LL library runs on SUNs (cc or gcc compiled) and on a DEC 
(mips & gcc) (and many others).

If you successfully run all the example programs provided,
you're almost certainly OK. Otherwise follow this procedure:

To adjust it for your particular system,
the size of s_list structure defined in LL.h must be made
equal to (or a multiple of) the largest  required aligment. Typically,
the type with the strictest alignment is double. It's rare to encounter
alignment of more then 16 (usually it's 2,4 or 8). The required alignment 
of variables of a  certain type depend on both the machine architecture and
the compiler, so be carefull. 

The required alignments can be found by checking output of malloc. However,
if  you
  1/ make sure that sizeof(s_list) is 8 or 16
  2/ test LL on doubles
and experience no problems you're most unlikely to have problems. 

To change sizeof(s_list) either modify the number of chars in the
'padding' field of s_list or change the type of 'size' to obtain the
right size. If the right size of s_list would be obtained without any
padding chars, comment out the field.

If any problems are encountered, mail g.matas@ee.surrey.ac.uk

  With Regards
    George Matas