mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-04 05:15:22 +00:00 
			
		
		
		
	git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
		
			
				
	
	
		
			90 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Tue Aug 20 16:19:51 CDT 1996
 | 
						|
Andy Fingerhut (jaf@arl.wustl.edu)
 | 
						|
 | 
						|
In release 1.4, there are quite a few hand modifications to the C code
 | 
						|
that was automatically created from the Fortran code with f2c.  They
 | 
						|
are all summarized in change log comments at the beginning of the
 | 
						|
changed files.  All of the original files from f2c were checked in to
 | 
						|
RCS before modification, so it is possible to see exactly what changes
 | 
						|
were made, for the extremely curious.  That precaution was also for my
 | 
						|
benefit, in case I ever recompile the Fortran sources, and want to
 | 
						|
make similar changes to that new C source code.
 | 
						|
 | 
						|
Below is the README file for this directory included with the 1.3
 | 
						|
release of the LPC-10 package.  A few parts of it are a little out of
 | 
						|
date, but it is correct for the most part.
 | 
						|
 | 
						|
 | 
						|
Sun Jul  7 15:30:31 CDT 1996
 | 
						|
Andy Fingerhut (jaf@arl.wustl.edu)
 | 
						|
 | 
						|
To create the LPC-10 library, copy the appropriate makefile to the
 | 
						|
proper name for easy use, e.g., for Unix, copy makefile.unx to the
 | 
						|
file "Makefile".  The file makefile.dos has been used with some
 | 
						|
version of the 'nmake' utility that comes with the Microsoft C
 | 
						|
compiler (the same one used for Nautilus v1.5a, which I believe
 | 
						|
specifies Microsoft C version 7.0 or later).
 | 
						|
 | 
						|
Then edit the file lpc10.h in the directory above.  It should already
 | 
						|
be set up to work properly on any Unix compiler for which "int" is 32
 | 
						|
bits and "short" is 16 bits, and under the Microsoft C compiler
 | 
						|
configured so that "long" is 32 bits and "int" is 16 bits.  There must
 | 
						|
be a typedef for the two types INT32 and INT16 in that file.  You
 | 
						|
should choose types that compile to those sizes using your compiler,
 | 
						|
because there are places in the LPC-10 code that expect INT16's to
 | 
						|
have exactly 16 bits (at least, I *think* they must be no larger), and
 | 
						|
INT32's to have exactly 32 bits.
 | 
						|
 | 
						|
 | 
						|
A few notes on how these files were created
 | 
						|
-------------------------------------------
 | 
						|
 | 
						|
(This section is mostly for my benefit, so I can remember what I did.
 | 
						|
You don't need to read it if you just want to use this package.  It
 | 
						|
might be useful to read it if you change the Fortran sources and want
 | 
						|
to recreate a usable library of C sources.  -- Andy)
 | 
						|
 | 
						|
These C sources were created automatically from the Fortran sources
 | 
						|
using f2c, for the most part.  Listed below are the extra
 | 
						|
modifications that were made after this automatic conversion.  Many of
 | 
						|
them were made so that it was not necessary to install f2c in order to
 | 
						|
use this LPC-10 coder.
 | 
						|
 | 
						|
1.
 | 
						|
 | 
						|
Put all of those files that were necessary for only the coder, rather
 | 
						|
than an application that uses the coder, into this subdirectory called
 | 
						|
lpc10.
 | 
						|
 | 
						|
2.
 | 
						|
 | 
						|
Copied f2c.h from the f2c distribution into this subdirectory.  Some
 | 
						|
modifications were made to the "typedef" statements in this file, to
 | 
						|
explicitly indicate the sizes (in bits) that different integer types
 | 
						|
should be.  The types INT32 and INT16 must be defined in a file called
 | 
						|
lpc10.h in the directory above.  Created the file f2clib.c, containing
 | 
						|
only the functions pow_ii(), r_sign(), and i_nint() from the f2c
 | 
						|
library.
 | 
						|
 | 
						|
3.
 | 
						|
 | 
						|
The f2c output originally had a file called contrl_com.c, that defined
 | 
						|
a small structure containing a few variables that were used in many
 | 
						|
different functions of the LPC10 code.  Every file containing
 | 
						|
functions that used it defined it as "extern", while contrl_com.c
 | 
						|
actually allocated storage for the structure.  Bill Dorsey, one of the
 | 
						|
lead developers of Nautilus, said that the Microsoft C compiler had
 | 
						|
problems either compiling this file, or linking it with all of the
 | 
						|
other compiled files, so he just eliminated that file and removed the
 | 
						|
"extern" keyword from the one of the files that declared it that way.
 | 
						|
The file chosen (arbitrarily) was analys.c.
 | 
						|
 | 
						|
4.
 | 
						|
 | 
						|
Copied the makefiles for Unix and Microsoft C from the Nautilus v1.5a
 | 
						|
distribution into the lpc10 directory.  Modified them to take out
 | 
						|
references to Nautilus.  These makefiles don't create an executable,
 | 
						|
but a library of compiled functions called liblpc10.a (Unix) or
 | 
						|
LPC10.LIB (DOS).  This library can be used when linking an executable
 | 
						|
that calls the functions lpcini_(), lpcenc_(), and lpcdec_().
 |