home *** CD-ROM | disk | FTP | other *** search
-
- INSTALLATION
- ------------
-
- a) Make sure you have a working vsprintf and vfprintf in your library.
- (If your system does not have them in your library, you can get
- a copy of the BSD4.3-tahoe stdio that is freely copyable. It
- is available from uunet.uu.net. For Minix systems, a vsprintf.c
- is included.)
-
- b) EDIT the Makefile for the correct definitions. Read the comments in
- the the Makefile and make the changes needed. (A "full" explanation
- of all the C defines are given at the end of this file.) If your are
- on a MINIX machine, make sure the correct definitions for $O, $CFLAGS,
- and $LDFLAGS are uncommented in the makefile.
- NOTE: "configure" is a shell scritp that is automatically run by make
- to configure the bc source to your operating system. You should still
- look at the Makefile.
-
- d) "make derived" (If you need it.)
- The distribution contains the files bc.c.dist y.tab.h.dist and
- scan.c.dist. These are provided so that you do not need a working
- yacc and flex (lex). This program was designed to work with the free
- programs byacc (berkeley yacc) and flex. It should work with other
- versions of yacc and lex, but it is not guaranteed to work.
-
- If you do not have yacc or flex, give the command to get the *.dist
- files to their proper place. This insures that make will not try
- to make these derived files from their original source. Use the
- "make derived" before trying to compile bc.
-
- e) "make"
- compiles bc
-
- f) "make install"
- installs bc and libmath.b (if needed) in their directories.
-
- g) Use bc!
-
-
- DEFINES
- -------
-
- The following the are some defines that are automatically generated
- by the configure script. In most cases, you do not need to deal
- with them. The configure script is automatically run by make.
-
- BC_MATH_FILE=$(LIBFILE)
- This defines the location of the math library file. If you
- use this definition, the math library is read from LIBFILE.
- If you do not define this, bc will include a "compiled" form
- of the math library with the executable and will not need to
- read any external file if the -l flag is given.
-
- VARARGS
- The variable args mechanism is assumed to be ANSI stdarg.
- Use -DVARARGS for Ultrix, SUN-OS, BSD, and other UNIX versions that
- use traditional varargs,
- For MINIX and ANSI compilers (gcc et al) do NOT use -DVARARGS.
-
- NO_LIMITS
- Use this for systems without the /gnu/include/limits.h file.
- (BSD4.3 is one.) You should check the values of INT_MAX and
- LONG_MAX in the file const.h if you use -DNO_LIMITS.
-
- NO_UNISTD
- Use this for systems without /gnu/include/unistd.h.
-
- -DNO_STDLIB
- Use this for systems without /gnu/include/stdlib.h.
-
- STRINGS_H
- Include the file <strings.h> instead of <string.h>.
-
-
- The following defines may need to be added by hand to the Makefile if
- you want them. They are not generated by the configure script.
-
- -DOLD_EQ_OP
- Causes bc to recognize =<op> as the same as <op>=. The =<op> is
- the old style. It makes "a =- 1" ambiguous. With OLD_EQ_OP defined
- it is equivalent to "a -= 1" and with OLD_EQ_OP undefined it is
- equivalent to "a = -1".
-
- -DSMALL_BUF
- Use this IF you are using flex AND you have a systems with limited
- memory space. If you use this, you should also use -DBC_MATH_FILE.
- This is "standard" for MINIX systems running on the IBM_PC.
-
- -DSHORTNAMES
- If your compiler keeps a limited number of characters from names,
- you should include this define. It is needed for the K&R compiler
- on MINIX and is automatically added for MINIX on the IBM_PC.
-
- -DDEBUG=n
- Compile the debugging code. The higher the number, the more
- debugging code. The degugging code is not very good.
-
-
- POSSIBLE PROBLEMS
- -----------------
-
- There might be some possible problems compiling due to different
- versions of the header files. scan.c may require to edit out some
- definitions of malloc and free. Others should compile with the
- correct set of defines.
-
-