mirror of
https://github.com/lcn2/calc.git
synced 2025-08-19 01:13:27 +03:00
Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
a407c7d197 | ||
|
9ea569152a | ||
|
cbcb5801fb | ||
|
bdf495150e | ||
|
b3648f030f |
105
CHANGES
105
CHANGES
@@ -1,4 +1,43 @@
|
||||
The following are the changes from calc version 2.12.1.1 to date:
|
||||
The following are the changes from calc version 2.12.3.0 to date:
|
||||
|
||||
Fixed the Jacobi function where it returned 1 when it should have
|
||||
returned 0. Thanks goes to Kevin Sopp (baraclese at googlemail dot com)
|
||||
for discovering the problem and suggesting the nature if the fix.
|
||||
|
||||
Calc versions will always be of the form x.y.z.w even when the
|
||||
MINOR_PATCH (w) is 0. Thus, 2.12.3.0 will be printed as 2.12.3.0
|
||||
instread of just 2.12.3.
|
||||
|
||||
Added MINGW32_NT-5.0 compile target based on a patch from
|
||||
Brian L. Angus (angus at eng dot utah dot edu).
|
||||
|
||||
Removed the use of rpm.release in the Makefile.
|
||||
|
||||
Mac OS Darwin targets no longer attempt to use ldconfig. Under the
|
||||
Darwin target, the LDCONFIG make variable is redefined to be
|
||||
an empty value. Thanks goes to Ralf Trinler (art at infra dot de)
|
||||
for reporting this problem.
|
||||
|
||||
The ${CALC_INCDIR}/custom is no longer being removed at install time
|
||||
if it is empty. Now when ${ALLOW_CUSTOM} make variable is empty,
|
||||
an empty ${CALC_INCDIR}/custom may be left hehind.
|
||||
|
||||
Fixed a problem where a "make clobber" would remove custom/Makefile
|
||||
and fail to rebuilt it.
|
||||
|
||||
|
||||
The following are the changes from calc version 2.12.2.3 to 2.12.2.4:
|
||||
|
||||
Added OpenBSD target.
|
||||
|
||||
Using the -r test instead of the -e test in Makefiles because some
|
||||
out of date shells still do not have the -e test.
|
||||
|
||||
The Makefile now avoids the use of if ! command because some out of
|
||||
date shells to not support the ! construct.
|
||||
|
||||
|
||||
The following are the changes from calc version 2.12.1.1 to 2.12.2.2:
|
||||
|
||||
Added an explicit Solaris target.
|
||||
|
||||
@@ -40,6 +79,66 @@ The following are the changes from calc version 2.12.1.1 to date:
|
||||
purposes. By default, the calc rpm installed stripped binaries
|
||||
and libraries.
|
||||
|
||||
Added this high priority item to the calc help/todo list:
|
||||
|
||||
It is overkill to have nearly everything wind up in libcalc.
|
||||
Form a libcalcmath and a libcalclang so that an application
|
||||
that just wants to link with the calc math libs can use them
|
||||
without dragging in all of the other calc language, I/O,
|
||||
and builtin functions.
|
||||
|
||||
Fixed the wording for the -i flag in the calc man page.
|
||||
|
||||
Added some notes to the help/unexpected file regarding calc
|
||||
and interactice shells.
|
||||
|
||||
Fixed bug where a FILEPOS was copied FPOS_POS_BITS octets instead of
|
||||
FPOS_POS_LEN octets.
|
||||
|
||||
Split out ${READLINE_EXTRAS} Makefile variables from ${READLINE_LIB}
|
||||
to better deal with Fedora rpm requirements.
|
||||
|
||||
Bit 8 (0x80) of calc_debug is reserved for custom debugging.
|
||||
See help/config and custom/HOW_TO_ADD for details.
|
||||
|
||||
When the Makefile variable ${ALLOW_CUSTOM} is not defined or empty,
|
||||
the libcustcalc library is not built or linked against, certain make
|
||||
rules skip going into the custom sub-directory, the install
|
||||
rule skips certain custom installation actions, and the common
|
||||
C flags (${COMMON_CFLAGS}) is given -UCUSTOM. Other make rules such
|
||||
as "make clean" and "make clobber" still work as before. Also
|
||||
the Makefile.simple assumes that the Makefile variable ${ALLOW_CUSTOM}
|
||||
is -DCUSTOM.
|
||||
|
||||
Clarified that the calc builtin functions rand() and random()
|
||||
operate over a half closed interval. The help/rand and help/random
|
||||
refer to the top of the interval as "beyond" instead of "max".
|
||||
|
||||
Releaseing source tar balls using bzip2 instead of with gzip. So
|
||||
what was calc-something.tar.gz is now calc-something.tar.bz2.
|
||||
To "uncompress" use:
|
||||
|
||||
bunzip2 calc-something.tar.bz2
|
||||
|
||||
On some systems, one may untar directly by:
|
||||
|
||||
tar -jxvf calc-something.tar.bz2
|
||||
|
||||
The Makefile variable ${BYTE_ORDER} was replaced by ${CALC_BYTE_ORDER}.
|
||||
|
||||
Changed the way the Makefile can force the calc byte order. If you set
|
||||
the Makefile variable ${CALC_BYTE_ORDER} to be -DCALC_BIG_ENDIAN then
|
||||
endian.h will force the CPP symbol CALC_BYTE_ORDER to be BIG_ENDIAN.
|
||||
If you set ${CALC_BYTE_ORDER} to be -DCALC_LITTLE_ENDIAN then endian.h
|
||||
will force the CPP symbol CALC_BYTE_ORDER to be LITTLE_ENDIAN.
|
||||
If the Makefile variable ${CALC_BYTE_ORDER} is empty, then the CPP
|
||||
symbol CALC_BYTE_ORDER will set to the CPP symbol BYTE_ORDER as
|
||||
defined by some system include file (if the Makefile can find such
|
||||
an include file), or the Makefile compiling endian.c and hopefully
|
||||
using that result to set CPP symbol CALC_BYTE_ORDER. Regardless of
|
||||
how it happens, the CPP symbol CALC_BYTE_ORDER should end up set in
|
||||
endian_calc.h include file.
|
||||
|
||||
|
||||
The following are the changes from calc version 2.12.1.10 to 2.12.2:
|
||||
|
||||
@@ -6635,8 +6734,8 @@ Following is a list of visible changes to calc from version 1.24.7 to 1.26.1:
|
||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
##
|
||||
## @(#) $Revision: 30.10 $
|
||||
## @(#) $Id: CHANGES,v 30.10 2007/09/06 08:10:54 chongo Exp $
|
||||
## @(#) $Revision: 30.17 $
|
||||
## @(#) $Id: CHANGES,v 30.17 2008/05/10 10:53:34 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/RCS/CHANGES,v $
|
||||
##
|
||||
## Under source code control: 1993/06/02 18:12:57
|
||||
|
@@ -1,4 +1,4 @@
|
||||
Installing calc from the gziped tarball in 4 easy steps:
|
||||
Installing calc from the bzip2-ed tarball in 4 easy steps:
|
||||
|
||||
0) If your platform supports i686 RPMs, you may want to go to:
|
||||
|
||||
@@ -17,13 +17,13 @@ Installing calc from the gziped tarball in 4 easy steps:
|
||||
|
||||
The following 4 steps apply to calc source tree that comes from either:
|
||||
|
||||
gunzip -c calc-*.tar.gz | tar -xvf -
|
||||
bunzip2 -c calc-*.tar.bz2 | tar -xvf -
|
||||
|
||||
or from:
|
||||
|
||||
rpm -ivh calc-*.src.rpm
|
||||
cd /var/tmp
|
||||
gunzip -c /usr/src/redhat/SOURCES/calc-*.tar.gz | tar -xvf -
|
||||
bunzip2 -c /usr/src/redhat/SOURCES/calc-*.tar.bz2 | tar -xvf -
|
||||
|
||||
1) Look at the makefile, and adjust it to suit your needs.
|
||||
|
||||
@@ -204,8 +204,8 @@ the calc help subsystem. See the README file for details.
|
||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
##
|
||||
## @(#) $Revision: 30.5 $
|
||||
## @(#) $Id: HOWTO.INSTALL,v 30.5 2007/09/01 19:54:03 chongo Exp $
|
||||
## @(#) $Revision: 30.6 $
|
||||
## @(#) $Id: HOWTO.INSTALL,v 30.6 2007/10/16 12:22:22 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/RCS/HOWTO.INSTALL,v $
|
||||
##
|
||||
## Under source code control: 1999/09/27 20:48:44
|
||||
|
346
Makefile
346
Makefile
@@ -11,7 +11,7 @@
|
||||
# (Generic calc makefile)
|
||||
#
|
||||
# NOTE: This is NOT the calc rpm Makefile. This Makefile is a generic
|
||||
# Makefile for the people who build calc from the gziped tarball.
|
||||
# Makefile for the people who build calc from the bzip2-ed tarball.
|
||||
# Without modification, it not assume the system has readline, ncurses
|
||||
# or less. It compiles with gcc -O3 -g3 as well. You can change all
|
||||
# this by modifying the Makefile variables below.
|
||||
@@ -20,7 +20,8 @@
|
||||
# has the GNU readline headers and libaraies:
|
||||
#
|
||||
# USE_READLINE= -DUSE_READLINE
|
||||
# READLINE_LIB= -lreadline -lhistory -lncurses
|
||||
# READLINE_LIB= -lreadline
|
||||
# READLINE_EXTRAS= -lhistory -lncurses
|
||||
#
|
||||
# Copyright (C) 1999-2007 Landon Curt Noll
|
||||
#
|
||||
@@ -38,8 +39,8 @@
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
MAKEFILE_REV= $$Revision: 30.21 $$
|
||||
# @(#) $Id: Makefile.ship,v 30.21 2007/09/06 08:08:39 chongo Exp $
|
||||
MAKEFILE_REV= $$Revision: 30.35 $$
|
||||
# @(#) $Id: Makefile.ship,v 30.35 2008/05/10 11:58:05 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/RCS/Makefile.ship,v $
|
||||
#
|
||||
# Under source code control: 1990/02/15 01:48:41
|
||||
@@ -120,19 +121,19 @@ HAVE_VSPRINTF=
|
||||
# Big Endian: Amdahl, 68k, Pyramid, Mips, Sparc, ...
|
||||
# Little Endian: Vax, 32k, Spim (Dec Mips), i386, i486, ...
|
||||
#
|
||||
# If in doubt, leave BYTE_ORDER empty. This Makefile will attempt to
|
||||
# If in doubt, leave CALC_BYTE_ORDER empty. This Makefile will attempt to
|
||||
# use BYTE_ORDER in <machine/endian.h> or it will attempt to run
|
||||
# the endian program. If you get syntax errors when you compile,
|
||||
# try forcing the value to be -DBIG_ENDIAN and run the calc regression
|
||||
# tests. (see the README file) If the calc regression tests fail, do
|
||||
# a make clobber and try -DLITTLE_ENDIAN. If that fails, ask a wizard
|
||||
# a make clobber and try -DCALC_LITTLE_ENDIAN. If that fails, ask a wizard
|
||||
# for help.
|
||||
#
|
||||
# Select BYTE_ORDER= -DLITTLE_ENDIAN for DJGPP.
|
||||
# Select CALC_BYTE_ORDER= -DCALC_LITTLE_ENDIAN for DJGPP.
|
||||
#
|
||||
BYTE_ORDER=
|
||||
#BYTE_ORDER= -DBIG_ENDIAN
|
||||
#BYTE_ORDER= -DLITTLE_ENDIAN
|
||||
CALC_BYTE_ORDER=
|
||||
#CALC_BYTE_ORDER= -DCALC_BIG_ENDIAN
|
||||
#CALC_BYTE_ORDER= -DCALC_LITTLE_ENDIAN
|
||||
|
||||
# Determine the number of bits in a long
|
||||
#
|
||||
@@ -767,13 +768,33 @@ MANMAKE= /usr/local/bin/manmake
|
||||
MANMODE= 0444
|
||||
CATMODE= 0444
|
||||
|
||||
# By default, custom builtin functions may only be executed if calc
|
||||
# is given the -C option. This is because custom builtin functions
|
||||
# may invoke non-standard or non-portable code. One may completely
|
||||
# disable custom builtin functions by not compiling any of code
|
||||
#
|
||||
# ALLOW_CUSTOM= -DCUSTOM # allow custom only if -C is given
|
||||
# ALLOW_CUSTOM= # disable custom even if -C is given
|
||||
#
|
||||
# If in doubt, use ALLOW_CUSTOM= -DCUSTOM
|
||||
#
|
||||
ALLOW_CUSTOM= -DCUSTOM
|
||||
#ALLOW_CUSTOM=
|
||||
|
||||
# If the $CALCPATH environment variable is not defined, then the following
|
||||
# path will be search for calc resource file routines.
|
||||
#
|
||||
# Select CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR};${CUSTOMCALDIR} for DJGPP.
|
||||
#
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
ifdef ALLOW_CUSTOM
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
CALCPATH= .:./cal:~/.cal:${CALC_SHAREDIR}:${CUSTOMCALDIR}
|
||||
#CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR};${CUSTOMCALDIR}
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
else
|
||||
CALCPATH= .:./cal:~/.cal:${CALC_SHAREDIR}
|
||||
endif
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
|
||||
# If the $CALCRC environment variable is not defined, then the following
|
||||
# path will be search for calc resource files.
|
||||
@@ -793,6 +814,8 @@ CALCRC= ${CALC_SHAREDIR}/startup:~/.calcrc:./.calcinit
|
||||
#
|
||||
# READLINE_LIB The flags needed to link in the readline
|
||||
# and history link libraries
|
||||
# READLINE_EXTRAS Flags and libs needed to use the readline
|
||||
# and history link libraries
|
||||
# READLINE_INCLUDE Where the readline include files reside
|
||||
# (leave blank if they are /usr/include/readline)
|
||||
#
|
||||
@@ -806,14 +829,22 @@ USE_READLINE=
|
||||
#USE_READLINE= -DUSE_READLINE
|
||||
#
|
||||
READLINE_LIB=
|
||||
#READLINE_LIB= -lreadline -lhistory -lncurses
|
||||
#READLINE_LIB= -L/usr/gnu/lib -lreadline -lhistory -lncurses
|
||||
#READLINE_LIB= -L/usr/local/lib -lreadline -lhistory -lncurses
|
||||
READLINE_EXTRAS=
|
||||
#
|
||||
#READLINE_LIB= -lreadline
|
||||
#READLINE_EXTRAS= -lhistory -lncurses
|
||||
#
|
||||
#READLINE_LIB= -L/usr/gnu/lib -lreadline
|
||||
#READLINE_EXTRAS= -lhistory -lncurses
|
||||
#
|
||||
#READLINE_LIB= -L/usr/local/lib -lreadline
|
||||
#READLINE_EXTRAS= -lhistory -lncurses
|
||||
#
|
||||
# For Apple OS X: install fink from http://fink.sourceforge.net
|
||||
# and then do a 'fink install readline' and then use:
|
||||
#
|
||||
#READLINE_LIB= -L/sw/lib -lreadline -lhistory -lncurses
|
||||
#READLINE_LIB= -L/sw/lib -lreadline
|
||||
#READLINE_EXTRAS= -lhistory -lncurses
|
||||
#
|
||||
READLINE_INCLUDE=
|
||||
#READLINE_INCLUDE= -I/usr/gnu/include
|
||||
@@ -923,18 +954,6 @@ CALC_ENV= CALCPATH=./cal LD_LIBRARY_PATH=.
|
||||
# MALLOC_FASTCHK=1 MALLOC_FULLWARN=1 MALLOC_CLEAR_FREE=1 \
|
||||
# MALLOC_CLEAR_MALLOC=1 LD_LIBRARY_PATH=.:./custom
|
||||
|
||||
# By default, custom builtin functions may only be executed if calc
|
||||
# is given the -C option. This is because custom builtin functions
|
||||
# may invoke non-standard or non-portable code. One may completely
|
||||
# disable custom builtin functions by not compiling any of code
|
||||
#
|
||||
# ALLOW_CUSTOM= -DCUSTOM # allow custom only if -C is given
|
||||
# ALLOW_CUSTOM= # disable custom even if -C is given
|
||||
#
|
||||
# If in doubt, use ALLOW_CUSTOM= -DCUSTOM
|
||||
#
|
||||
ALLOW_CUSTOM= -DCUSTOM
|
||||
#ALLOW_CUSTOM=
|
||||
|
||||
# The install rule uses:
|
||||
#
|
||||
@@ -965,8 +984,8 @@ EXT=
|
||||
|
||||
# The default calc versions
|
||||
#
|
||||
VERSION= 2.12.2.1
|
||||
VERS= 2.12.2
|
||||
VERSION= 2.12.3.3
|
||||
VERS= 2.12.3
|
||||
VER= 2.12
|
||||
VE= 2
|
||||
|
||||
@@ -1036,7 +1055,15 @@ EXTRA_LDFLAGS=
|
||||
# COMMON_CFLAGS are the common ${CC} flags used for all progs, both
|
||||
# intermediate and final calc and calc related progs
|
||||
#
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
ifdef ALLOW_CUSTOM
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
COMMON_CFLAGS= -DCALC_SRC ${ALLOW_CUSTOM} ${CCWARN} ${CCMISC} ${EXTRA_CFLAGS}
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
else
|
||||
COMMON_CFLAGS= -DCALC_SRC -UCUSTOM ${CCWARN} ${CCMISC} ${EXTRA_CFLAGS}
|
||||
endif
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
|
||||
# COMMON_LDFLAGS are the common flags used for linking all progs, both
|
||||
# intermediate and final calc and calc related progs
|
||||
@@ -1108,7 +1135,11 @@ DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
||||
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
||||
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC=
|
||||
LD_STATIC=
|
||||
@@ -1137,7 +1168,11 @@ CC_SHARE= -fPIC
|
||||
DEFAULT_LIB_INSTALL_PATH= ${PWD}:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= ${DARWIN_ARCH}
|
||||
LIBCALC_SHLIB= -single_module -undefined dynamic_lookup -dynamiclib
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -single_module -undefined dynamic_lookup -dynamiclib
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC=
|
||||
LD_STATIC= ${DARWIN_ARCH}
|
||||
@@ -1158,6 +1193,8 @@ LIB_EXT_VERSION:= .${VERSION}${LIB_EXT}
|
||||
LIB_EXT_VERS:= .${VERS}${LIB_EXT}
|
||||
LIB_EXT_VER:= .${VER}${LIB_EXT}
|
||||
LIB_EXT_VE:= .${VE}${LIB_EXT}
|
||||
# LDCONFIG not required on this platform, so we redefine it to an empty string
|
||||
LDCONFIG:=
|
||||
# DARWIN_ARCH= -arch i386 -arch ppc # Universal binary
|
||||
# DARWIN_ARCH= -arch i386 # Intel binary
|
||||
# DARWIN_ARCH= -arch ppc # PPC binary
|
||||
@@ -1185,7 +1222,11 @@ DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
||||
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
||||
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC=
|
||||
LD_STATIC=
|
||||
@@ -1204,12 +1245,17 @@ MAKE= gmake
|
||||
#
|
||||
endif
|
||||
|
||||
######################
|
||||
# Sun Solaris target #
|
||||
######################
|
||||
##################
|
||||
# OpenBSD target #
|
||||
##################
|
||||
|
||||
# XXX - this needs to be tested
|
||||
ifeq ($(target),solaris)
|
||||
########################################################################
|
||||
# NOTE: You MUST either use gmake (GNU Make) or you must try your luck #
|
||||
# with Makefile.simple and custom/Makefile.simple versions. #
|
||||
# See HOWTO.INSTALL for more information. #
|
||||
########################################################################
|
||||
|
||||
ifeq ($(target),OpenBSD)
|
||||
#
|
||||
BLD_TYPE= calc-dynamic-only
|
||||
#
|
||||
@@ -1218,7 +1264,48 @@ DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
||||
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
||||
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC=
|
||||
LD_STATIC=
|
||||
LIBCALC_STATIC=
|
||||
LIBCUSTCALC_STATIC=
|
||||
#
|
||||
CCWARN= -Wall
|
||||
CCWERR=
|
||||
CCOPT= ${DEBUG}
|
||||
CCMISC=
|
||||
#
|
||||
LCC= gcc
|
||||
CC= ${PURIFY} ${LCC} ${CCWERR}
|
||||
#
|
||||
MAKE= gmake
|
||||
#
|
||||
endif
|
||||
|
||||
################
|
||||
# SunOS target #
|
||||
################
|
||||
|
||||
# XXX - this needs to be tested
|
||||
ifeq ($(target),SunOS)
|
||||
#
|
||||
BLD_TYPE= calc-dynamic-only
|
||||
#
|
||||
CC_SHARE= -fPIC
|
||||
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
||||
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
||||
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC=
|
||||
LIBCALC_STATIC=
|
||||
@@ -1283,6 +1370,52 @@ LDFLAGS= ${LD_DEBUG} ${ILDFLAGS} ${LIBCALC_STATIC} ${LIBCUSTCALC_STATIC}
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
endif
|
||||
|
||||
###################################################
|
||||
# MINGW32_NT-5.0 target #
|
||||
###################################################
|
||||
|
||||
|
||||
ifeq ($(target),MINGW32_NT-5.0)
|
||||
|
||||
EXT=.exe
|
||||
TERMCONTROL= -DUSE_WIN32
|
||||
ifdef ALLOW_CUSTOM
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR};${CUSTOMCALDIR}
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
else
|
||||
CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR}
|
||||
endif
|
||||
CALCRC= ${CALC_SHAREDIR}/startup;~/.calcrc;./.calcinit
|
||||
#
|
||||
BLD_TYPE= calc-static-only
|
||||
#
|
||||
CC_SHARE= -fPIC
|
||||
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
||||
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
||||
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC= -DSTATIC_ONLY
|
||||
LIBCALC_STATIC=
|
||||
LIBCUSTCALC_STATIC=
|
||||
LD_STATIC=
|
||||
#
|
||||
CCWARN= -Wall -W -Wno-comment
|
||||
CCWERR=
|
||||
CCOPT= ${DEBUG}
|
||||
CCMISC= -DNOTCYGWIN
|
||||
#
|
||||
LCC= gcc
|
||||
CC= ${PURIFY} ${LCC} ${CCWERR}
|
||||
#
|
||||
endif
|
||||
|
||||
###################################################
|
||||
# default target - when no specific target exists #
|
||||
###################################################
|
||||
@@ -1299,7 +1432,11 @@ DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
||||
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
||||
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC=
|
||||
LIBCALC_STATIC=
|
||||
@@ -1341,7 +1478,6 @@ CFLAGS= ${ICFLAGS} ${CCOPT}
|
||||
#
|
||||
ILDFLAGS= ${COMMON_LDFLAGS}
|
||||
LDFLAGS= ${LD_DEBUG} ${ILDFLAGS}
|
||||
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
|
||||
#######################################################################
|
||||
@@ -1462,7 +1598,7 @@ UTIL_TMP= ll_tmp fpos_tmp fposv_tmp const_tmp uid_tmp newstr_tmp vs_tmp \
|
||||
memmv_tmp offscl_tmp posscl_tmp newstr_tmp \
|
||||
getsid_tmp gettime_tmp getprid_tmp rusage_tmp strdup_tmp
|
||||
|
||||
# these utility executables may be created in the process of
|
||||
# these utility executables may be created in the process of
|
||||
# building the BUILD_H_SRC file set
|
||||
#
|
||||
UTIL_PROGS= align32${EXT} fposval${EXT} have_uid_t${EXT} have_const${EXT} \
|
||||
@@ -1572,9 +1708,6 @@ HELP_PASSDOWN= \
|
||||
COMMON_CFLAGS="${COMMON_CFLAGS}" \
|
||||
COMMON_LDFLAGS="${COMMON_LDFLAGS}" \
|
||||
CP=${CP} \
|
||||
CUSTOMCALDIR="${CUSTOMCALDIR}" \
|
||||
CUSTOMHELPDIR="${CUSTOMHELPDIR}" \
|
||||
CUSTOMINCDIR="${CUSTOMINCDIR}" \
|
||||
EXT=${EXT} \
|
||||
FMT=${FMT} \
|
||||
HELPDIR="${HELPDIR}" \
|
||||
@@ -1609,9 +1742,6 @@ CAL_PASSDOWN= \
|
||||
CMP=${CMP} \
|
||||
CO=${CO} \
|
||||
CP=${CP} \
|
||||
CUSTOMCALDIR="${CUSTOMCALDIR}" \
|
||||
CUSTOMHELPDIR="${CUSTOMHELPDIR}" \
|
||||
CUSTOMINCDIR="${CUSTOMINCDIR}" \
|
||||
HELPDIR="${HELPDIR}" \
|
||||
INCDIR="${INCDIR}" \
|
||||
LANG=${LANG} \
|
||||
@@ -1640,9 +1770,6 @@ CSCRIPT_PASSDOWN= \
|
||||
CMP=${CMP} \
|
||||
CO=${CO} \
|
||||
CP=${CP} \
|
||||
CUSTOMCALDIR="${CUSTOMCALDIR}" \
|
||||
CUSTOMHELPDIR="${CUSTOMHELPDIR}" \
|
||||
CUSTOMINCDIR="${CUSTOMINCDIR}" \
|
||||
FMT=${FMT} \
|
||||
HELPDIR="${HELPDIR}" \
|
||||
INCDIR="${INCDIR}" \
|
||||
@@ -1691,18 +1818,43 @@ OBJS= ${LIBOBJS} ${CALCOBJS} ${UTIL_OBJS} ${SAMPLE_OBJS}
|
||||
|
||||
# static library build
|
||||
#
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
ifdef ALLOW_CUSTOM
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
CALC_STATIC_LIBS= libcalc.a libcustcalc.a
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
else
|
||||
CALC_STATIC_LIBS= libcalc.a
|
||||
endif
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
|
||||
# Libaraies created and used to build calc
|
||||
#
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
ifdef ALLOW_CUSTOM
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
CALC_DYNAMIC_LIBS= libcalc${LIB_EXT_VERSION} libcustcalc${LIB_EXT_VERSION}
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
else
|
||||
CALC_DYNAMIC_LIBS= libcalc${LIB_EXT_VERSION}
|
||||
endif
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
|
||||
# Symlinks of dymanic shared libraries
|
||||
#
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
ifdef ALLOW_CUSTOM
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
SYM_DYNAMIC_LIBS= libcalc${LIB_EXT_VER} libcalc${LIB_EXT_VE} libcalc${LIB_EXT} \
|
||||
libcalc${LIB_EXT_VERS} libcustcalc${LIB_EXT_VERSION} \
|
||||
libcustcalc${LIB_EXT_VERS} libcustcalc${LIB_EXT_VER} \
|
||||
libcustcalc${LIB_EXT_VE} libcustcalc${LIB_EXT}
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
else
|
||||
SYM_DYNAMIC_LIBS= libcalc${LIB_EXT_VER} libcalc${LIB_EXT_VE} libcalc${LIB_EXT} \
|
||||
libcalc${LIB_EXT_VERS}
|
||||
endif
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
|
||||
# list of sample programs to that need to be built to satisfy sample rule
|
||||
#
|
||||
@@ -1733,7 +1885,15 @@ STATIC_FIRST_TARGETS= ${LICENSE} .static
|
||||
|
||||
# early targets - things needed before the main build phase can begin
|
||||
#
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
ifdef ALLOW_CUSTOM
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
EARLY_TARGETS= custom/Makefile hsrc .hsrc custom/.all
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
else
|
||||
EARLY_TARGETS= hsrc .hsrc
|
||||
endif
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
|
||||
# late targets - things needed after the main build phase is complete
|
||||
#
|
||||
@@ -1777,7 +1937,7 @@ calc-dynamic-only: ${DYNAMIC_FIRST_TARGETS} ${EARLY_TARGETS} \
|
||||
${Q} for i in .static calc-static${EXT} ${SAMPLE_STATIC_TARGETS} \
|
||||
libcalc.a custom/libcustcalc.a; do \
|
||||
r="calc-dynamic-only"; \
|
||||
if [ -e "$$i" ]; then \
|
||||
if [ -r "$$i" ]; then \
|
||||
echo "Found the static target $$i file. You must:" 1>&2; \
|
||||
echo "" 1>&2; \
|
||||
echo " ${MAKE} -f ${MAKE_FILE} clobber" 1>&2; \
|
||||
@@ -1795,7 +1955,9 @@ calc-static-only: ${STATIC_FIRST_TARGETS} ${EARLY_TARGETS} \
|
||||
${CALC_STATIC_LIBS} calc-static${EXT} \
|
||||
${SAMPLE_STATIC_TARGETS} ${LATE_TARGETS}
|
||||
${Q} for i in calc${EXT} ${SAMPLE_TARGETS}; do \
|
||||
if ! ${CMP} -s "$$i-static" "$$i"; then \
|
||||
if ${CMP} -s "$$i-static" "$$i"; then \
|
||||
${TRUE}; \
|
||||
else \
|
||||
${RM} -f "$$i"; \
|
||||
${LN} "$$i-static" "$$i"; \
|
||||
fi; \
|
||||
@@ -1821,7 +1983,7 @@ calc-static-only: ${STATIC_FIRST_TARGETS} ${EARLY_TARGETS} \
|
||||
${Q} for i in .dynamic ${CALC_DYNAMIC_LIBS} ${SYM_DYNAMIC_LIBS} \
|
||||
custom/libcustcalc${LIB_EXT_VERSION}; do \
|
||||
r="calc-static-only"; \
|
||||
if [ -e "$$i" ]; then \
|
||||
if [ -r "$$i" ]; then \
|
||||
echo "Found the dynamic target $$i file. You must:" 1>&2; \
|
||||
echo "" 1>&2; \
|
||||
echo " ${MAKE} -f ${MAKE_FILE} clobber" 1>&2; \
|
||||
@@ -1838,10 +2000,11 @@ calc-static-only: ${STATIC_FIRST_TARGETS} ${EARLY_TARGETS} \
|
||||
calc${EXT}: .hsrc ${CALCOBJS} ${CALC_DYNAMIC_LIBS} ${MAKE_FILE}
|
||||
${RM} -f $@
|
||||
${CC} ${CALCOBJS} ${LDFLAGS} ${LD_SHARE} ${CALC_DYNAMIC_LIBS} \
|
||||
${READLINE_LIB} -o $@
|
||||
${READLINE_LIB} ${READLINE_EXTRAS} -o $@
|
||||
|
||||
libcalc${LIB_EXT_VERSION}: ${LIBOBJS} ver_calc${EXT} ${MAKE_FILE}
|
||||
${CC} ${LIBCALC_SHLIB} ${LIBOBJS} -o libcalc${LIB_EXT_VERSION}
|
||||
${CC} ${LIBCALC_SHLIB} ${LIBOBJS} \
|
||||
${READLINE_LIB} ${READLINE_EXTRAS} -o libcalc${LIB_EXT_VERSION}
|
||||
|
||||
libcalc${LIB_EXT_VERS}: libcalc${LIB_EXT_VERSION}
|
||||
${Q} ${RM} -f $@
|
||||
@@ -1900,11 +2063,11 @@ sample: ${SAMPLE_TARGETS}
|
||||
|
||||
sample_rand${EXT}: sample_rand.o ${CALC_DYNAMIC_LIBS} ${MAKE_FILE}
|
||||
${CC} sample_rand.o ${CLDFALGS} ${LD_SHARE} ${CALC_DYNAMIC_LIBS} \
|
||||
${READLINE_LIB} -o $@
|
||||
${READLINE_LIB} ${READLINE_EXTRAS} -o $@
|
||||
|
||||
sample_many${EXT}: sample_many.o ${CALC_DYNAMIC_LIBS} ${MAKE_FILE}
|
||||
${CC} sample_many.o ${CLDFALGS} ${LD_SHARE} ${CALC_DYNAMIC_LIBS} \
|
||||
${READLINE_LIB} -o $@
|
||||
${READLINE_LIB} ${READLINE_EXTRAS} -o $@
|
||||
|
||||
###
|
||||
#
|
||||
@@ -1968,11 +2131,17 @@ conf.h: ${MAKE_FILE}
|
||||
${Q} echo '#define HELPDIR "${HELPDIR}"' >> conf.h
|
||||
${Q} echo '#endif /* HELPDIR */' >> conf.h
|
||||
${Q} echo '' >> conf.h
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
ifdef ALLOW_CUSTOM
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
${Q} echo '/* the location of the custom help directory */' >> conf.h
|
||||
${Q} echo '#if !defined(CUSTOMHELPDIR)' >> conf.h
|
||||
${Q} echo '#define CUSTOMHELPDIR "${CUSTOMHELPDIR}"' >> conf.h
|
||||
${Q} echo '#endif /* CUSTOMHELPDIR */' >> conf.h
|
||||
${Q} echo '' >> conf.h
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
endif
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
${Q} echo '/* the default pager to use */' >> conf.h
|
||||
${Q} echo '#if !defined(DEFAULTCALCPAGER)' >> conf.h
|
||||
${Q} echo '#define DEFAULTCALCPAGER "${CALCPAGER}"' >> conf.h
|
||||
@@ -2004,7 +2173,7 @@ endian_calc.h: endian${EXT} ${MAKE_FILE}
|
||||
${Q} echo '' >> endian_calc.h
|
||||
${Q} echo '' >> endian_calc.h
|
||||
${Q} echo '/* what byte order are we? */' >> endian_calc.h
|
||||
-${Q} if [ X"${BYTE_ORDER}" = X ]; then \
|
||||
-${Q} if [ X"${CALC_BYTE_ORDER}" = X ]; then \
|
||||
if [ -f ${INCDIR}/endian.h ]; then \
|
||||
echo '#include <endian.h>' >> endian_calc.h; \
|
||||
echo '#define CALC_BYTE_ORDER BYTE_ORDER' >> endian_calc.h; \
|
||||
@@ -2950,7 +3119,7 @@ have_urandom.h: ${MAKE_FILE}
|
||||
echo '#define HAVE_URANDOM_H /* yes */' >> have_urandom.h; \
|
||||
elif [ X"${HAVE_URANDOM_H}" = X"NO" ]; then \
|
||||
echo '#undef HAVE_URANDOM_H /* no */' >> have_urandom.h; \
|
||||
elif [ -e /dev/urandom ] 2>/dev/null; then \
|
||||
elif [ -r /dev/urandom ] 2>/dev/null; then \
|
||||
echo '#define HAVE_URANDOM_H /* yes */' >> have_urandom.h; \
|
||||
else \
|
||||
echo '#undef HAVE_URANDOM_H /* no */' >> have_urandom.h; \
|
||||
@@ -3260,7 +3429,7 @@ win32_hsrc: win32.mkdef ${MAKE_FILE}
|
||||
###
|
||||
|
||||
endian.o: endian.c have_unistd.h
|
||||
${LCC} ${ICFLAGS} ${BYTE_ORDER} endian.c -c
|
||||
${LCC} ${ICFLAGS} ${CALC_BYTE_ORDER} endian.c -c
|
||||
|
||||
endian${EXT}: endian.o
|
||||
${RM} -f $@
|
||||
@@ -3315,6 +3484,9 @@ ${CSCRIPT_TARGETS}: cscript/Makefile
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo '=-=-=-=-= ${MAKE_FILE} end of $@ rule =-=-=-=-='
|
||||
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
ifdef ALLOW_CUSTOM
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
custom/.all: custom/Makefile
|
||||
${V} echo '=-=-=-=-= ${MAKE_FILE} start of $@ rule =-=-=-=-='
|
||||
${V} echo '=-=-=-=-= Invoking all rule for custom =-=-=-=-='
|
||||
@@ -3349,6 +3521,9 @@ libcustcalc${LIB_EXT_VE}: libcustcalc${LIB_EXT_VERSION}
|
||||
libcustcalc${LIB_EXT}: libcustcalc${LIB_EXT_VERSION}
|
||||
${Q} ${RM} -f $@
|
||||
${LN} -s $? $@
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
endif
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
|
||||
###
|
||||
#
|
||||
@@ -3360,7 +3535,7 @@ calc-static${EXT}: .hsrc ${CALCOBJS} \
|
||||
${CALC_STATIC_LIBS} ${MAKE_FILE}
|
||||
${RM} -f $@
|
||||
${CC} ${LDFLAGS} ${CALCOBJS} ${LD_STATIC} ${CALC_STATIC_LIBS} \
|
||||
${READLINE_LIB} -o $@
|
||||
${READLINE_LIB} ${READLINE_EXTRAS} -o $@
|
||||
|
||||
libcustcalc.a: custom/libcustcalc.a
|
||||
${Q} ${RM} -f $@
|
||||
@@ -3372,16 +3547,22 @@ libcalc.a: ${LIBOBJS} ${MAKE_FILE}
|
||||
${RANLIB} libcalc.a
|
||||
${CHMOD} 0644 libcalc.a
|
||||
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
ifdef ALLOW_CUSTOM
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
custom/libcustcalc.a: custom/Makefile
|
||||
cd custom; ${MAKE} -f Makefile ${CUSTOM_PASSDOWN} libcustcalc.a
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
endif
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
|
||||
sample_rand-static${EXT}: sample_rand.o ${CALC_STATIC_LIBS} ${MAKE_FILE}
|
||||
${CC} ${LDFLAGS} sample_rand.o ${LD_STATIC} \
|
||||
${CALC_STATIC_LIBS} ${READLINE_LIB} -o $@
|
||||
${CALC_STATIC_LIBS} ${READLINE_LIB} ${READLINE_EXTRAS} -o $@
|
||||
|
||||
sample_many-static${EXT}: sample_many.o ${CALC_STATIC_LIBS} ${MAKE_FILE}
|
||||
${CC} ${LDFLAGS} sample_many.o ${LD_STATIC} \
|
||||
${CALC_STATIC_LIBS} ${READLINE_LIB} -o $@
|
||||
${CALC_STATIC_LIBS} ${READLINE_LIB} ${READLINE_EXTRAS} -o $@
|
||||
|
||||
###
|
||||
#
|
||||
@@ -3785,6 +3966,7 @@ env:
|
||||
@echo 'PURIFY=${PURIFY}'; echo ''
|
||||
@echo 'Q=${Q}'; echo ''
|
||||
@echo 'RANLIB=${RANLIB}'; echo ''
|
||||
@echo 'READLINE_EXTRAS=${READLINE_EXTRAS}'; echo ''
|
||||
@echo 'READLINE_INCLUDE=${READLINE_INCLUDE}'; echo ''
|
||||
@echo 'READLINE_LIB=${READLINE_LIB}'; echo ''
|
||||
@echo 'RM=${RM}'; echo ''
|
||||
@@ -3822,12 +4004,11 @@ env:
|
||||
@echo 'target=${target}'; echo ''
|
||||
@echo '=-=-=-=-= ${MAKE_FILE} end of major make variable dump =-=-=-=-='
|
||||
|
||||
mkdebug: env version.c rpm.release
|
||||
mkdebug: env version.c
|
||||
@echo '=-=-=-=-= ${MAKE_FILE} start of $@ rule =-=-=-=-='
|
||||
@echo '=-=-=-=-= Determining the source version =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ ver_calc${EXT}
|
||||
-@./ver_calc${EXT}
|
||||
-@./ver_calc${EXT} -r rpm.release
|
||||
@echo '=-=-=-=-= Invoking ${MAKE} -f Makefile Q= V=@ all =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ all
|
||||
@echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
@@ -3836,7 +4017,7 @@ mkdebug: env version.c rpm.release
|
||||
@echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
@echo '=-=-=-=-= ${MAKE_FILE} end of $@ rule =-=-=-=-='
|
||||
|
||||
debug: env rpm.release
|
||||
debug: env
|
||||
@echo '=-=-=-=-= ${MAKE_FILE} start of $@ rule =-=-=-=-='
|
||||
@echo '=-=-=-=-= Invoking ${MAKE} -f Makefile Q= V=@ clobber =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ clobber
|
||||
@@ -3844,7 +4025,6 @@ debug: env rpm.release
|
||||
@echo '=-=-=-=-= Determining the source version =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ ver_calc${EXT}
|
||||
-@./ver_calc${EXT}
|
||||
-@./ver_calc${EXT} -r rpm.release
|
||||
@echo '=-=-=-=-= Invoking ${MAKE} -f Makefile Q= V=@ all =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ all
|
||||
@echo '=-=-=-=-= Determining the binary version =-=-=-=-='
|
||||
@@ -4058,25 +4238,27 @@ clobber: custom/Makefile clean
|
||||
${RM} -f libcustcalc.a
|
||||
${RM} -f calc-static${EXT}
|
||||
${RM} -f ${CALC_STATIC_LIBS}
|
||||
${RM} -f all
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for help =-=-=-=-='
|
||||
-cd help; ${MAKE} -f Makefile ${HELP_PASSDOWN} clobber
|
||||
-cd help; ${RM} -f all; ${MAKE} -f Makefile ${HELP_PASSDOWN} $@
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for cal =-=-=-=-='
|
||||
-cd cal; ${MAKE} -f Makefile ${CAL_PASSDOWN} clobber
|
||||
-cd cal; ${RM} -f all; ${MAKE} -f Makefile ${CAL_PASSDOWN} $@
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for custom =-=-=-=-='
|
||||
cd custom; ${MAKE} -f Makefile ${CUSTOM_PASSDOWN} clobber
|
||||
cd custom; ${RM} -f all; ${MAKE} -f Makefile ${CUSTOM_PASSDOWN} $@
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for cscript =-=-=-=-='
|
||||
cd cscript; ${MAKE} -f Makefile ${CSCRIPT_PASSDOWN} clobber
|
||||
cd cscript; ${RM} -f all; ${MAKE} -f Makefile ${CSCRIPT_PASSDOWN} $@
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo remove files that are obsolete
|
||||
${RM} -rf win32 build
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
${RM} -f Makefile.simple
|
||||
${RM} -f custom/Makefile
|
||||
-${MAKE} -f ${MAKE_FILE} custom/Makefile
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
${RM} -f .static .dynamic
|
||||
${RM} -f .static .dynamic calc-dynamic-only calc-static-only
|
||||
${V} echo '=-=-=-=-= ${MAKE_FILE} end of $@ rule =-=-=-=-='
|
||||
|
||||
# install everything
|
||||
@@ -4141,6 +4323,9 @@ install: custom/Makefile ${LIB_H_SRC} ${BUILD_H_SRC} calc.1 all
|
||||
else \
|
||||
${TRUE}; \
|
||||
fi
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
ifdef ALLOW_CUSTOM
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
-${Q} if [ ! -d ${T}${CUSTOMCALDIR} ]; then \
|
||||
echo ${MKDIR} ${MKDIR_ARG} ${T}${CUSTOMCALDIR}; \
|
||||
${MKDIR} ${MKDIR_ARG} ${T}${CUSTOMCALDIR}; \
|
||||
@@ -4165,6 +4350,9 @@ install: custom/Makefile ${LIB_H_SRC} ${BUILD_H_SRC} calc.1 all
|
||||
else \
|
||||
${TRUE}; \
|
||||
fi
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
endif
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
-${Q} if [ ! -d ${T}${SCRIPTDIR} ]; then \
|
||||
echo ${MKDIR} ${MKDIR_ARG} ${T}${SCRIPTDIR}; \
|
||||
${MKDIR} ${MKDIR_ARG} ${T}${SCRIPTDIR}; \
|
||||
@@ -4226,9 +4414,15 @@ install: custom/Makefile ${LIB_H_SRC} ${BUILD_H_SRC} calc.1 all
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for cal =-=-=-=-='
|
||||
${Q} cd cal; ${MAKE} -f Makefile ${CAL_PASSDOWN} install
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
ifdef ALLOW_CUSTOM
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for custom =-=-=-=-='
|
||||
${Q} cd custom; ${MAKE} -f Makefile ${CUSTOM_PASSDOWN} install
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
endif
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for cscript =-=-=-=-='
|
||||
${Q} cd cscript; ${MAKE} -f Makefile ${CSCRIPT_PASSDOWN} install
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
@@ -4290,9 +4484,11 @@ install: custom/Makefile ${LIB_H_SRC} ${BUILD_H_SRC} calc.1 all
|
||||
${T}${LIBDIR}/libcustcalc${LIB_EXT}; \
|
||||
echo "installed ${T}${LIBDIR}/libcalc${LIB_EXT}"; \
|
||||
if [ -z "${T}" -o "/" = "${T}" ]; then \
|
||||
echo "running ${LDCONFIG}"; \
|
||||
${LDCONFIG}; \
|
||||
echo "finished ${LDCONFIG}"; \
|
||||
if [ ! -z "${LDCONFIG}" ]; then \
|
||||
echo "running ${LDCONFIG}"; \
|
||||
${LDCONFIG} -v; \
|
||||
echo "finished ${LDCONFIG}"; \
|
||||
fi; \
|
||||
fi; \
|
||||
fi
|
||||
-${Q} for i in ${LIB_H_SRC} ${BUILD_H_SRC} /dev/null; do \
|
||||
@@ -4365,8 +4561,6 @@ install: custom/Makefile ${LIB_H_SRC} ${BUILD_H_SRC} calc.1 all
|
||||
fi; \
|
||||
fi; \
|
||||
fi
|
||||
${V} # NOTE: remove ${T}${CALC_INCDIR}/custom if it is empty
|
||||
-${Q} ${RMDIR} ${T}${CALC_INCDIR}/custom 2>/dev/null
|
||||
${V} # NOTE: misc install cleanup
|
||||
${Q} ${RM} -f tmp
|
||||
${V} echo '=-=-=-=-= ${MAKE_FILE} end of $@ rule =-=-=-=-='
|
||||
@@ -4495,9 +4689,11 @@ uninstall: custom/Makefile
|
||||
fi; \
|
||||
fi
|
||||
-${Q} if [ -z "${T}" -o "/" = "${T}" ]; then \
|
||||
echo "running ${LDCONFIG}"; \
|
||||
${LDCONFIG}; \
|
||||
echo "finished ${LDCONFIG}"; \
|
||||
if [ ! -z "${LDCONFIG}" ]; then \
|
||||
echo "running ${LDCONFIG}"; \
|
||||
${LDCONFIG} -v; \
|
||||
echo "finished ${LDCONFIG}"; \
|
||||
fi; \
|
||||
fi
|
||||
-${Q} if [ -f "${T}${LIBDIR}/libcalc.a" ]; then \
|
||||
${RM} -f "${T}${LIBDIR}/libcalc.a"; \
|
||||
|
146
Makefile.simple
146
Makefile.simple
@@ -11,7 +11,7 @@
|
||||
# (Generic calc makefile)
|
||||
#
|
||||
# NOTE: This is NOT the calc rpm Makefile. This Makefile is a generic
|
||||
# Makefile for the people who build calc from the gziped tarball.
|
||||
# Makefile for the people who build calc from the bzip2-ed tarball.
|
||||
# Without modification, it not assume the system has readline, ncurses
|
||||
# or less. It compiles with gcc -O3 -g3 as well. You can change all
|
||||
# this by modifying the Makefile variables below.
|
||||
@@ -20,7 +20,8 @@
|
||||
# has the GNU readline headers and libaraies:
|
||||
#
|
||||
# USE_READLINE= -DUSE_READLINE
|
||||
# READLINE_LIB= -lreadline -lhistory -lncurses
|
||||
# READLINE_LIB= -lreadline
|
||||
# READLINE_EXTRAS= -lhistory -lncurses
|
||||
#
|
||||
# Copyright (C) 1999-2007 Landon Curt Noll
|
||||
#
|
||||
@@ -38,8 +39,8 @@
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
MAKEFILE_REV= $$Revision: 30.21 $$
|
||||
# @(#) $Id: Makefile.ship,v 30.21 2007/09/06 08:08:39 chongo Exp $
|
||||
MAKEFILE_REV= $$Revision: 30.35 $$
|
||||
# @(#) $Id: Makefile.ship,v 30.35 2008/05/10 11:58:05 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/RCS/Makefile.ship,v $
|
||||
#
|
||||
# Under source code control: 1990/02/15 01:48:41
|
||||
@@ -105,19 +106,19 @@ HAVE_VSPRINTF=
|
||||
# Big Endian: Amdahl, 68k, Pyramid, Mips, Sparc, ...
|
||||
# Little Endian: Vax, 32k, Spim (Dec Mips), i386, i486, ...
|
||||
#
|
||||
# If in doubt, leave BYTE_ORDER empty. This Makefile will attempt to
|
||||
# If in doubt, leave CALC_BYTE_ORDER empty. This Makefile will attempt to
|
||||
# use BYTE_ORDER in <machine/endian.h> or it will attempt to run
|
||||
# the endian program. If you get syntax errors when you compile,
|
||||
# try forcing the value to be -DBIG_ENDIAN and run the calc regression
|
||||
# tests. (see the README file) If the calc regression tests fail, do
|
||||
# a make clobber and try -DLITTLE_ENDIAN. If that fails, ask a wizard
|
||||
# a make clobber and try -DCALC_LITTLE_ENDIAN. If that fails, ask a wizard
|
||||
# for help.
|
||||
#
|
||||
# Select BYTE_ORDER= -DLITTLE_ENDIAN for DJGPP.
|
||||
# Select CALC_BYTE_ORDER= -DCALC_LITTLE_ENDIAN for DJGPP.
|
||||
#
|
||||
BYTE_ORDER=
|
||||
#BYTE_ORDER= -DBIG_ENDIAN
|
||||
#BYTE_ORDER= -DLITTLE_ENDIAN
|
||||
CALC_BYTE_ORDER=
|
||||
#CALC_BYTE_ORDER= -DCALC_BIG_ENDIAN
|
||||
#CALC_BYTE_ORDER= -DCALC_LITTLE_ENDIAN
|
||||
|
||||
# Determine the number of bits in a long
|
||||
#
|
||||
@@ -752,13 +753,25 @@ MANMAKE= /usr/local/bin/manmake
|
||||
MANMODE= 0444
|
||||
CATMODE= 0444
|
||||
|
||||
# By default, custom builtin functions may only be executed if calc
|
||||
# is given the -C option. This is because custom builtin functions
|
||||
# may invoke non-standard or non-portable code. One may completely
|
||||
# disable custom builtin functions by not compiling any of code
|
||||
#
|
||||
# ALLOW_CUSTOM= -DCUSTOM # allow custom only if -C is given
|
||||
# ALLOW_CUSTOM= # disable custom even if -C is given
|
||||
#
|
||||
# If in doubt, use ALLOW_CUSTOM= -DCUSTOM
|
||||
#
|
||||
ALLOW_CUSTOM= -DCUSTOM
|
||||
#ALLOW_CUSTOM=
|
||||
|
||||
# If the $CALCPATH environment variable is not defined, then the following
|
||||
# path will be search for calc resource file routines.
|
||||
#
|
||||
# Select CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR};${CUSTOMCALDIR} for DJGPP.
|
||||
#
|
||||
CALCPATH= .:./cal:~/.cal:${CALC_SHAREDIR}:${CUSTOMCALDIR}
|
||||
#CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR};${CUSTOMCALDIR}
|
||||
|
||||
# If the $CALCRC environment variable is not defined, then the following
|
||||
# path will be search for calc resource files.
|
||||
@@ -778,6 +791,8 @@ CALCRC= ${CALC_SHAREDIR}/startup:~/.calcrc:./.calcinit
|
||||
#
|
||||
# READLINE_LIB The flags needed to link in the readline
|
||||
# and history link libraries
|
||||
# READLINE_EXTRAS Flags and libs needed to use the readline
|
||||
# and history link libraries
|
||||
# READLINE_INCLUDE Where the readline include files reside
|
||||
# (leave blank if they are /usr/include/readline)
|
||||
#
|
||||
@@ -791,14 +806,22 @@ USE_READLINE=
|
||||
#USE_READLINE= -DUSE_READLINE
|
||||
#
|
||||
READLINE_LIB=
|
||||
#READLINE_LIB= -lreadline -lhistory -lncurses
|
||||
#READLINE_LIB= -L/usr/gnu/lib -lreadline -lhistory -lncurses
|
||||
#READLINE_LIB= -L/usr/local/lib -lreadline -lhistory -lncurses
|
||||
READLINE_EXTRAS=
|
||||
#
|
||||
#READLINE_LIB= -lreadline
|
||||
#READLINE_EXTRAS= -lhistory -lncurses
|
||||
#
|
||||
#READLINE_LIB= -L/usr/gnu/lib -lreadline
|
||||
#READLINE_EXTRAS= -lhistory -lncurses
|
||||
#
|
||||
#READLINE_LIB= -L/usr/local/lib -lreadline
|
||||
#READLINE_EXTRAS= -lhistory -lncurses
|
||||
#
|
||||
# For Apple OS X: install fink from http://fink.sourceforge.net
|
||||
# and then do a 'fink install readline' and then use:
|
||||
#
|
||||
#READLINE_LIB= -L/sw/lib -lreadline -lhistory -lncurses
|
||||
#READLINE_LIB= -L/sw/lib -lreadline
|
||||
#READLINE_EXTRAS= -lhistory -lncurses
|
||||
#
|
||||
READLINE_INCLUDE=
|
||||
#READLINE_INCLUDE= -I/usr/gnu/include
|
||||
@@ -908,18 +931,6 @@ CALC_ENV= CALCPATH=./cal LD_LIBRARY_PATH=.
|
||||
# MALLOC_FASTCHK=1 MALLOC_FULLWARN=1 MALLOC_CLEAR_FREE=1 \
|
||||
# MALLOC_CLEAR_MALLOC=1 LD_LIBRARY_PATH=.:./custom
|
||||
|
||||
# By default, custom builtin functions may only be executed if calc
|
||||
# is given the -C option. This is because custom builtin functions
|
||||
# may invoke non-standard or non-portable code. One may completely
|
||||
# disable custom builtin functions by not compiling any of code
|
||||
#
|
||||
# ALLOW_CUSTOM= -DCUSTOM # allow custom only if -C is given
|
||||
# ALLOW_CUSTOM= # disable custom even if -C is given
|
||||
#
|
||||
# If in doubt, use ALLOW_CUSTOM= -DCUSTOM
|
||||
#
|
||||
ALLOW_CUSTOM= -DCUSTOM
|
||||
#ALLOW_CUSTOM=
|
||||
|
||||
# The install rule uses:
|
||||
#
|
||||
@@ -950,8 +961,8 @@ EXT=
|
||||
|
||||
# The default calc versions
|
||||
#
|
||||
VERSION= 2.12.2.1
|
||||
VERS= 2.12.2
|
||||
VERSION= 2.12.3.3
|
||||
VERS= 2.12.3
|
||||
VER= 2.12
|
||||
VE= 2
|
||||
|
||||
@@ -1115,6 +1126,7 @@ CFLAGS= ${ICFLAGS} ${CCOPT}
|
||||
ILDFLAGS= ${COMMON_LDFLAGS} ${LD_STATIC}
|
||||
LDFLAGS= ${LD_DEBUG} ${ILDFLAGS} ${LIBCALC_STATIC} ${LIBCUSTCALC_STATIC}
|
||||
#
|
||||
CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR};${CUSTOMCALDIR}
|
||||
|
||||
#######################################################################
|
||||
#-=-=-=-=-=- end of target section - only make rules below -=-=-=-=-=-#
|
||||
@@ -1234,7 +1246,7 @@ UTIL_TMP= ll_tmp fpos_tmp fposv_tmp const_tmp uid_tmp newstr_tmp vs_tmp \
|
||||
memmv_tmp offscl_tmp posscl_tmp newstr_tmp \
|
||||
getsid_tmp gettime_tmp getprid_tmp rusage_tmp strdup_tmp
|
||||
|
||||
# these utility executables may be created in the process of
|
||||
# these utility executables may be created in the process of
|
||||
# building the BUILD_H_SRC file set
|
||||
#
|
||||
UTIL_PROGS= align32${EXT} fposval${EXT} have_uid_t${EXT} have_const${EXT} \
|
||||
@@ -1344,9 +1356,6 @@ HELP_PASSDOWN= \
|
||||
COMMON_CFLAGS="${COMMON_CFLAGS}" \
|
||||
COMMON_LDFLAGS="${COMMON_LDFLAGS}" \
|
||||
CP=${CP} \
|
||||
CUSTOMCALDIR="${CUSTOMCALDIR}" \
|
||||
CUSTOMHELPDIR="${CUSTOMHELPDIR}" \
|
||||
CUSTOMINCDIR="${CUSTOMINCDIR}" \
|
||||
EXT=${EXT} \
|
||||
FMT=${FMT} \
|
||||
HELPDIR="${HELPDIR}" \
|
||||
@@ -1381,9 +1390,6 @@ CAL_PASSDOWN= \
|
||||
CMP=${CMP} \
|
||||
CO=${CO} \
|
||||
CP=${CP} \
|
||||
CUSTOMCALDIR="${CUSTOMCALDIR}" \
|
||||
CUSTOMHELPDIR="${CUSTOMHELPDIR}" \
|
||||
CUSTOMINCDIR="${CUSTOMINCDIR}" \
|
||||
HELPDIR="${HELPDIR}" \
|
||||
INCDIR="${INCDIR}" \
|
||||
LANG=${LANG} \
|
||||
@@ -1412,9 +1418,6 @@ CSCRIPT_PASSDOWN= \
|
||||
CMP=${CMP} \
|
||||
CO=${CO} \
|
||||
CP=${CP} \
|
||||
CUSTOMCALDIR="${CUSTOMCALDIR}" \
|
||||
CUSTOMHELPDIR="${CUSTOMHELPDIR}" \
|
||||
CUSTOMINCDIR="${CUSTOMINCDIR}" \
|
||||
FMT=${FMT} \
|
||||
HELPDIR="${HELPDIR}" \
|
||||
INCDIR="${INCDIR}" \
|
||||
@@ -1549,7 +1552,7 @@ calc-dynamic-only: ${DYNAMIC_FIRST_TARGETS} ${EARLY_TARGETS} \
|
||||
${Q} for i in .static calc-static${EXT} ${SAMPLE_STATIC_TARGETS} \
|
||||
libcalc.a custom/libcustcalc.a; do \
|
||||
r="calc-dynamic-only"; \
|
||||
if [ -e "$$i" ]; then \
|
||||
if [ -r "$$i" ]; then \
|
||||
echo "Found the static target $$i file. You must:" 1>&2; \
|
||||
echo "" 1>&2; \
|
||||
echo " ${MAKE} -f ${MAKE_FILE} clobber" 1>&2; \
|
||||
@@ -1567,7 +1570,9 @@ calc-static-only: ${STATIC_FIRST_TARGETS} ${EARLY_TARGETS} \
|
||||
${CALC_STATIC_LIBS} calc-static${EXT} \
|
||||
${SAMPLE_STATIC_TARGETS} ${LATE_TARGETS}
|
||||
${Q} for i in calc${EXT} ${SAMPLE_TARGETS}; do \
|
||||
if ! ${CMP} -s "$$i-static" "$$i"; then \
|
||||
if ${CMP} -s "$$i-static" "$$i"; then \
|
||||
${TRUE}; \
|
||||
else \
|
||||
${RM} -f "$$i"; \
|
||||
${LN} "$$i-static" "$$i"; \
|
||||
fi; \
|
||||
@@ -1593,7 +1598,7 @@ calc-static-only: ${STATIC_FIRST_TARGETS} ${EARLY_TARGETS} \
|
||||
${Q} for i in .dynamic ${CALC_DYNAMIC_LIBS} ${SYM_DYNAMIC_LIBS} \
|
||||
custom/libcustcalc${LIB_EXT_VERSION}; do \
|
||||
r="calc-static-only"; \
|
||||
if [ -e "$$i" ]; then \
|
||||
if [ -r "$$i" ]; then \
|
||||
echo "Found the dynamic target $$i file. You must:" 1>&2; \
|
||||
echo "" 1>&2; \
|
||||
echo " ${MAKE} -f ${MAKE_FILE} clobber" 1>&2; \
|
||||
@@ -1610,10 +1615,11 @@ calc-static-only: ${STATIC_FIRST_TARGETS} ${EARLY_TARGETS} \
|
||||
calc${EXT}: .hsrc ${CALCOBJS} ${CALC_DYNAMIC_LIBS} ${MAKE_FILE}
|
||||
${RM} -f $@
|
||||
${CC} ${CALCOBJS} ${LDFLAGS} ${LD_SHARE} ${CALC_DYNAMIC_LIBS} \
|
||||
${READLINE_LIB} -o $@
|
||||
${READLINE_LIB} ${READLINE_EXTRAS} -o $@
|
||||
|
||||
libcalc${LIB_EXT_VERSION}: ${LIBOBJS} ver_calc${EXT} ${MAKE_FILE}
|
||||
${CC} ${LIBCALC_SHLIB} ${LIBOBJS} -o libcalc${LIB_EXT_VERSION}
|
||||
${CC} ${LIBCALC_SHLIB} ${LIBOBJS} \
|
||||
${READLINE_LIB} ${READLINE_EXTRAS} -o libcalc${LIB_EXT_VERSION}
|
||||
|
||||
libcalc${LIB_EXT_VERS}: libcalc${LIB_EXT_VERSION}
|
||||
${Q} ${RM} -f $@
|
||||
@@ -1672,11 +1678,11 @@ sample: ${SAMPLE_TARGETS}
|
||||
|
||||
sample_rand${EXT}: sample_rand.o ${CALC_DYNAMIC_LIBS} ${MAKE_FILE}
|
||||
${CC} sample_rand.o ${CLDFALGS} ${LD_SHARE} ${CALC_DYNAMIC_LIBS} \
|
||||
${READLINE_LIB} -o $@
|
||||
${READLINE_LIB} ${READLINE_EXTRAS} -o $@
|
||||
|
||||
sample_many${EXT}: sample_many.o ${CALC_DYNAMIC_LIBS} ${MAKE_FILE}
|
||||
${CC} sample_many.o ${CLDFALGS} ${LD_SHARE} ${CALC_DYNAMIC_LIBS} \
|
||||
${READLINE_LIB} -o $@
|
||||
${READLINE_LIB} ${READLINE_EXTRAS} -o $@
|
||||
|
||||
###
|
||||
#
|
||||
@@ -1776,7 +1782,7 @@ endian_calc.h: endian${EXT} ${MAKE_FILE}
|
||||
${Q} echo '' >> endian_calc.h
|
||||
${Q} echo '' >> endian_calc.h
|
||||
${Q} echo '/* what byte order are we? */' >> endian_calc.h
|
||||
-${Q} if [ X"${BYTE_ORDER}" = X ]; then \
|
||||
-${Q} if [ X"${CALC_BYTE_ORDER}" = X ]; then \
|
||||
if [ -f ${INCDIR}/endian.h ]; then \
|
||||
echo '#include <endian.h>' >> endian_calc.h; \
|
||||
echo '#define CALC_BYTE_ORDER BYTE_ORDER' >> endian_calc.h; \
|
||||
@@ -2722,7 +2728,7 @@ have_urandom.h: ${MAKE_FILE}
|
||||
echo '#define HAVE_URANDOM_H /* yes */' >> have_urandom.h; \
|
||||
elif [ X"${HAVE_URANDOM_H}" = X"NO" ]; then \
|
||||
echo '#undef HAVE_URANDOM_H /* no */' >> have_urandom.h; \
|
||||
elif [ -e /dev/urandom ] 2>/dev/null; then \
|
||||
elif [ -r /dev/urandom ] 2>/dev/null; then \
|
||||
echo '#define HAVE_URANDOM_H /* yes */' >> have_urandom.h; \
|
||||
else \
|
||||
echo '#undef HAVE_URANDOM_H /* no */' >> have_urandom.h; \
|
||||
@@ -3032,7 +3038,7 @@ win32_hsrc: win32.mkdef ${MAKE_FILE}
|
||||
###
|
||||
|
||||
endian.o: endian.c have_unistd.h
|
||||
${LCC} ${ICFLAGS} ${BYTE_ORDER} endian.c -c
|
||||
${LCC} ${ICFLAGS} ${CALC_BYTE_ORDER} endian.c -c
|
||||
|
||||
endian${EXT}: endian.o
|
||||
${RM} -f $@
|
||||
@@ -3132,7 +3138,7 @@ calc-static${EXT}: .hsrc ${CALCOBJS} \
|
||||
${CALC_STATIC_LIBS} ${MAKE_FILE}
|
||||
${RM} -f $@
|
||||
${CC} ${LDFLAGS} ${CALCOBJS} ${LD_STATIC} ${CALC_STATIC_LIBS} \
|
||||
${READLINE_LIB} -o $@
|
||||
${READLINE_LIB} ${READLINE_EXTRAS} -o $@
|
||||
|
||||
libcustcalc.a: custom/libcustcalc.a
|
||||
${Q} ${RM} -f $@
|
||||
@@ -3149,11 +3155,11 @@ custom/libcustcalc.a: custom/Makefile
|
||||
|
||||
sample_rand-static${EXT}: sample_rand.o ${CALC_STATIC_LIBS} ${MAKE_FILE}
|
||||
${CC} ${LDFLAGS} sample_rand.o ${LD_STATIC} \
|
||||
${CALC_STATIC_LIBS} ${READLINE_LIB} -o $@
|
||||
${CALC_STATIC_LIBS} ${READLINE_LIB} ${READLINE_EXTRAS} -o $@
|
||||
|
||||
sample_many-static${EXT}: sample_many.o ${CALC_STATIC_LIBS} ${MAKE_FILE}
|
||||
${CC} ${LDFLAGS} sample_many.o ${LD_STATIC} \
|
||||
${CALC_STATIC_LIBS} ${READLINE_LIB} -o $@
|
||||
${CALC_STATIC_LIBS} ${READLINE_LIB} ${READLINE_EXTRAS} -o $@
|
||||
|
||||
###
|
||||
#
|
||||
@@ -3531,6 +3537,7 @@ env:
|
||||
@echo 'PURIFY=${PURIFY}'; echo ''
|
||||
@echo 'Q=${Q}'; echo ''
|
||||
@echo 'RANLIB=${RANLIB}'; echo ''
|
||||
@echo 'READLINE_EXTRAS=${READLINE_EXTRAS}'; echo ''
|
||||
@echo 'READLINE_INCLUDE=${READLINE_INCLUDE}'; echo ''
|
||||
@echo 'READLINE_LIB=${READLINE_LIB}'; echo ''
|
||||
@echo 'RM=${RM}'; echo ''
|
||||
@@ -3568,12 +3575,11 @@ env:
|
||||
@echo 'target=${target}'; echo ''
|
||||
@echo '=-=-=-=-= ${MAKE_FILE} end of major make variable dump =-=-=-=-='
|
||||
|
||||
mkdebug: env version.c rpm.release
|
||||
mkdebug: env version.c
|
||||
@echo '=-=-=-=-= ${MAKE_FILE} start of $@ rule =-=-=-=-='
|
||||
@echo '=-=-=-=-= Determining the source version =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ ver_calc${EXT}
|
||||
-@./ver_calc${EXT}
|
||||
-@./ver_calc${EXT} -r rpm.release
|
||||
@echo '=-=-=-=-= Invoking ${MAKE} -f Makefile Q= V=@ all =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ all
|
||||
@echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
@@ -3582,7 +3588,7 @@ mkdebug: env version.c rpm.release
|
||||
@echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
@echo '=-=-=-=-= ${MAKE_FILE} end of $@ rule =-=-=-=-='
|
||||
|
||||
debug: env rpm.release
|
||||
debug: env
|
||||
@echo '=-=-=-=-= ${MAKE_FILE} start of $@ rule =-=-=-=-='
|
||||
@echo '=-=-=-=-= Invoking ${MAKE} -f Makefile Q= V=@ clobber =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ clobber
|
||||
@@ -3590,7 +3596,6 @@ debug: env rpm.release
|
||||
@echo '=-=-=-=-= Determining the source version =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ ver_calc${EXT}
|
||||
-@./ver_calc${EXT}
|
||||
-@./ver_calc${EXT} -r rpm.release
|
||||
@echo '=-=-=-=-= Invoking ${MAKE} -f Makefile Q= V=@ all =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ all
|
||||
@echo '=-=-=-=-= Determining the binary version =-=-=-=-='
|
||||
@@ -3804,21 +3809,22 @@ clobber: custom/Makefile clean
|
||||
${RM} -f libcustcalc.a
|
||||
${RM} -f calc-static${EXT}
|
||||
${RM} -f ${CALC_STATIC_LIBS}
|
||||
${RM} -f all
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for help =-=-=-=-='
|
||||
-cd help; ${MAKE} -f Makefile ${HELP_PASSDOWN} clobber
|
||||
-cd help; ${RM} -f all; ${MAKE} -f Makefile ${HELP_PASSDOWN} $@
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for cal =-=-=-=-='
|
||||
-cd cal; ${MAKE} -f Makefile ${CAL_PASSDOWN} clobber
|
||||
-cd cal; ${RM} -f all; ${MAKE} -f Makefile ${CAL_PASSDOWN} $@
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for custom =-=-=-=-='
|
||||
cd custom; ${MAKE} -f Makefile.simple ${CUSTOM_PASSDOWN} clobber
|
||||
cd custom; ${RM} -f all; ${MAKE} -f Makefile ${CUSTOM_PASSDOWN} $@
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for cscript =-=-=-=-='
|
||||
cd cscript; ${MAKE} -f Makefile ${CSCRIPT_PASSDOWN} clobber
|
||||
cd cscript; ${RM} -f all; ${MAKE} -f Makefile ${CSCRIPT_PASSDOWN} $@
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo remove files that are obsolete
|
||||
${RM} -rf win32 build
|
||||
${RM} -f .static .dynamic
|
||||
${RM} -f .static .dynamic calc-dynamic-only calc-static-only
|
||||
${V} echo '=-=-=-=-= ${MAKE_FILE} end of $@ rule =-=-=-=-='
|
||||
|
||||
# install everything
|
||||
@@ -4032,9 +4038,11 @@ install: custom/Makefile ${LIB_H_SRC} ${BUILD_H_SRC} calc.1 all
|
||||
${T}${LIBDIR}/libcustcalc${LIB_EXT}; \
|
||||
echo "installed ${T}${LIBDIR}/libcalc${LIB_EXT}"; \
|
||||
if [ -z "${T}" -o "/" = "${T}" ]; then \
|
||||
echo "running ${LDCONFIG}"; \
|
||||
${LDCONFIG}; \
|
||||
echo "finished ${LDCONFIG}"; \
|
||||
if [ ! -z "${LDCONFIG}" ]; then \
|
||||
echo "running ${LDCONFIG}"; \
|
||||
${LDCONFIG} -v; \
|
||||
echo "finished ${LDCONFIG}"; \
|
||||
fi; \
|
||||
fi; \
|
||||
fi
|
||||
-${Q} for i in ${LIB_H_SRC} ${BUILD_H_SRC} /dev/null; do \
|
||||
@@ -4107,8 +4115,6 @@ install: custom/Makefile ${LIB_H_SRC} ${BUILD_H_SRC} calc.1 all
|
||||
fi; \
|
||||
fi; \
|
||||
fi
|
||||
${V} # NOTE: remove ${T}${CALC_INCDIR}/custom if it is empty
|
||||
-${Q} ${RMDIR} ${T}${CALC_INCDIR}/custom 2>/dev/null
|
||||
${V} # NOTE: misc install cleanup
|
||||
${Q} ${RM} -f tmp
|
||||
${V} echo '=-=-=-=-= ${MAKE_FILE} end of $@ rule =-=-=-=-='
|
||||
@@ -4237,9 +4243,11 @@ uninstall: custom/Makefile
|
||||
fi; \
|
||||
fi
|
||||
-${Q} if [ -z "${T}" -o "/" = "${T}" ]; then \
|
||||
echo "running ${LDCONFIG}"; \
|
||||
${LDCONFIG}; \
|
||||
echo "finished ${LDCONFIG}"; \
|
||||
if [ ! -z "${LDCONFIG}" ]; then \
|
||||
echo "running ${LDCONFIG}"; \
|
||||
${LDCONFIG} -v; \
|
||||
echo "finished ${LDCONFIG}"; \
|
||||
fi; \
|
||||
fi
|
||||
-${Q} if [ -f "${T}${LIBDIR}/libcalc.a" ]; then \
|
||||
${RM} -f "${T}${LIBDIR}/libcalc.a"; \
|
||||
|
7
alloc.h
7
alloc.h
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: alloc.h,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: alloc.h,v 30.2 2008/04/15 21:17:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/alloc.h,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:29
|
||||
@@ -46,6 +46,9 @@
|
||||
# include <string.h>
|
||||
|
||||
#else
|
||||
#if defined(_WIN32) && defined(NOTCYGWIN)
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
# if defined(HAVE_NEWSTR)
|
||||
E_FUNC void *memcpy();
|
||||
|
13
cal/Makefile
13
cal/Makefile
@@ -18,8 +18,8 @@
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# @(#) $Revision: 30.2 $
|
||||
# @(#) $Id: Makefile,v 30.2 2007/03/22 07:34:47 chongo Exp $
|
||||
# @(#) $Revision: 30.3 $
|
||||
# @(#) $Id: Makefile,v 30.3 2007/09/21 01:27:27 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/cal/RCS/Makefile,v $
|
||||
#
|
||||
# Under source code control: 1991/07/21 05:00:54
|
||||
@@ -111,9 +111,6 @@ CALC_SHAREDIR= /usr/share/calc
|
||||
# ---------------------------------------------------------------
|
||||
# ${HELPDIR} where the help directory is installed
|
||||
# ${CALC_INCDIR} where the calc include files are installed
|
||||
# ${CUSTOMCALDIR} where custom *.cal files are installed
|
||||
# ${CUSTOMHELPDIR} where custom help files are installed
|
||||
# ${CUSTOMINCDIR} where custom .h files are installed
|
||||
# ${SCRIPTDIR} where calc shell scripts are installed
|
||||
#
|
||||
# NOTE: The install rule prepends installation paths with ${T}, which
|
||||
@@ -124,16 +121,10 @@ CALC_SHAREDIR= /usr/share/calc
|
||||
#
|
||||
# HELPDIR= ${CALC_SHAREDIR}/help
|
||||
# CALC_INCDIR= ${INCDIR}/calc
|
||||
# CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
||||
# CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
||||
# CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
||||
# SCRIPTDIR= ${BINDIR}/cscript
|
||||
#
|
||||
HELPDIR= ${CALC_SHAREDIR}/help
|
||||
CALC_INCDIR= ${INCDIR}/calc
|
||||
CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
||||
CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
||||
CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
||||
SCRIPTDIR= ${BINDIR}/cscript
|
||||
|
||||
# T - top level directory under which calc will be installed
|
||||
|
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.3 $
|
||||
* @(#) $Id: regress.cal,v 30.3 2007/07/11 22:58:26 chongo Exp $
|
||||
* @(#) $Revision: 30.4 $
|
||||
* @(#) $Id: regress.cal,v 30.4 2008/02/24 07:41:49 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/cal/RCS/regress.cal,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:50:36
|
||||
@@ -1412,7 +1412,39 @@ define test_functions()
|
||||
vrfy(isnum(systime()), '1206: isnum(systime())');
|
||||
vrfy(isnum(usertime()), '1207: isnum(usertime())');
|
||||
|
||||
print '1208: Ending test_functions';
|
||||
/* more jacobi tests */
|
||||
vrfy(jacobi(987897,987) == 0, '1208: jacobi(987897,987) == 0');
|
||||
vrfy(jacobi(897,987) == 0, '1209: jacobi(897,987) == 0');
|
||||
vrfy(jacobi(987,897) == 0, '1210: jacobi(987,897) == 0');
|
||||
vrfy(jacobi(90,897) == 0, '1211: jacobi(90,897) == 0');
|
||||
vrfy(jacobi(45,897) == 0, '1212: jacobi(45,897) == 0');
|
||||
vrfy(jacobi(897,45) == 0, '1213: jacobi(897,45) == 0');
|
||||
vrfy(jacobi(42,45) == 0, '1214: jacobi(42,45) == 0');
|
||||
vrfy(jacobi(21,45) == 0, '1215: jacobi(21,45) == 0');
|
||||
vrfy(jacobi(45,21) == 0, '1216: jacobi(45,21) == 0');
|
||||
vrfy(jacobi(3,21) == 0, '1217: jacobi(3,21) == 0');
|
||||
vrfy(jacobi(0,21) == 0, '1218: jacobi(0,21) == 0');
|
||||
vrfy(jacobi(0,20003) == 0, '1219: jacobi(0,20003) == 0');
|
||||
vrfy(jacobi(1,20003) == 1, '1220: jacobi(1,20003) == 1');
|
||||
vrfy(jacobi(1236,20003) == 1, '1221: jacobi(1236,20003) == 1');
|
||||
vrfy(jacobi(618,20003) == -1, '1222: jacobi(618,20003) == -1');
|
||||
vrfy(jacobi(309,20003) == 1, '1223: jacobi(309,20003) == 1');
|
||||
vrfy(jacobi(227,309) == 1, '1224: jacobi(227,309) == 1');
|
||||
vrfy(jacobi(82,227) == 1, '1225: jacobi(82,227) == 1');
|
||||
vrfy(jacobi(41,227) == -1, '1226: jacobi(41,227) == -1');
|
||||
vrfy(jacobi(22,41) == -1, '1227: jacobi(22,41) == -1');
|
||||
vrfy(jacobi(11,41) == -1, '1228: jacobi(11,41) == -1');
|
||||
vrfy(jacobi(8,11) == -1, '1229: jacobi(8,11) == -1');
|
||||
vrfy(jacobi(4,11) == 1, '1230: jacobi(4,11) == 1');
|
||||
vrfy(jacobi(2,11) == -1, '1231: jacobi(2,11) == -1');
|
||||
vrfy(jacobi(1,11) == 1, '1232: jacobi(1,11) == 1');
|
||||
vrfy(jacobi(0,11) == 0, '1233: jacobi(0,11) == 0');
|
||||
vrfy(jacobi(0,0) == 0, '1234: jacobi(0,0) == 0');
|
||||
vrfy(jacobi(-1,0) == 0, '1235: jacobi(-1,0) == 0');
|
||||
vrfy(jacobi(-1,-1) == 0, '1236: jacobi(-1,-1) == 0');
|
||||
vrfy(jacobi(0,-1) == 0, '1237: jacobi(0,-1) == 0');
|
||||
|
||||
print '1238: Ending test_functions';
|
||||
}
|
||||
print '017: parsed test_functions()';
|
||||
|
||||
|
6
calc.c
6
calc.c
@@ -19,8 +19,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.3 $
|
||||
* @(#) $Id: calc.c,v 30.3 2007/07/15 02:03:42 chongo Exp $
|
||||
* @(#) $Revision: 30.4 $
|
||||
* @(#) $Id: calc.c,v 30.4 2008/04/15 21:17:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:11
|
||||
@@ -42,6 +42,7 @@
|
||||
|
||||
#if defined(_WIN32)
|
||||
# include <io.h>
|
||||
# if !defined(NOTCYGWIN)
|
||||
/*
|
||||
* getopt.h file is from the Cygwin GNU library
|
||||
*
|
||||
@@ -49,6 +50,7 @@
|
||||
* http://sources.redhat.com/cygwin/
|
||||
*/
|
||||
# include "../getopt/getopt.h"
|
||||
# endif
|
||||
# define strdup _strdup
|
||||
# define isatty _isatty
|
||||
#endif /* Windoz */
|
||||
|
18
calc.man
18
calc.man
@@ -15,8 +15,8 @@
|
||||
.\" received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
.\"
|
||||
.\" @(#) $Revision: 30.2 $
|
||||
.\" @(#) $Id: calc.man,v 30.2 2007/08/18 17:28:29 chongo Exp $
|
||||
.\" @(#) $Revision: 30.3 $
|
||||
.\" @(#) $Id: calc.man,v 30.3 2007/09/08 02:53:09 chongo Exp $
|
||||
.\" @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.man,v $
|
||||
.\"
|
||||
.\" Under source code control: 1991/07/23 05:48:26
|
||||
@@ -275,18 +275,14 @@ See
|
||||
.TP
|
||||
.B \-i
|
||||
Become interactive if possible.
|
||||
If
|
||||
.I calc_cmd
|
||||
args are given,
|
||||
.B calc
|
||||
by default, calc will execute them and exit.
|
||||
This flag causes
|
||||
.B calc
|
||||
to drop into interactive mode after the commands are executed.
|
||||
This flag will cause
|
||||
.B calc
|
||||
to drop into interactive mode after the
|
||||
commands are executed.
|
||||
.I calc_cmd
|
||||
arguments on the command line are evaluated.
|
||||
Without this flag,
|
||||
.B calc
|
||||
will exit after they are evaluated.
|
||||
.sp 1
|
||||
For example:
|
||||
.sp 1
|
||||
|
@@ -18,8 +18,8 @@
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# @(#) $Revision: 30.5 $
|
||||
# @(#) $Id: calc.spec.in,v 30.5 2007/09/06 06:13:46 chongo Exp $
|
||||
# @(#) $Revision: 30.6 $
|
||||
# @(#) $Id: calc.spec.in,v 30.6 2007/10/16 12:22:22 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.spec.in,v $
|
||||
#
|
||||
# Under source code control: 2003/02/16 20:21:39
|
||||
@@ -40,7 +40,7 @@ Version: <<<PROJECT_VERSION>>>
|
||||
Release: 1.1
|
||||
License: LGPL
|
||||
Group: Applications/Engineering
|
||||
Source: %{name}-%{version}.tar.gz
|
||||
Source: %{name}-%{version}.tar.bz2
|
||||
URL: http://www.isthe.com/chongo/tech/comp/calc/index.html
|
||||
Requires: ncurses >= 5.2-26, readline >= 4.2, less >= 358
|
||||
BuildRequires: ncurses-devel >= 5.2-26, readline-devel >= 4.2
|
||||
|
7
config.h
7
config.h
@@ -19,8 +19,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: config.h,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: config.h,v 30.2 2007/09/21 01:27:27 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/config.h,v $
|
||||
*
|
||||
* Under source code control: 1995/11/01 22:20:17
|
||||
@@ -193,7 +193,8 @@ typedef struct config CONFIG;
|
||||
#define CALCDBG_TTY (0x00000010) /* report TTY state changes */
|
||||
#define CALCDBG_RUNSTATE (0x00000020) /* report run_state changes */
|
||||
#define CALCDBG_RAND (0x00000040) /* report rand() activity */
|
||||
#define CALCDBG_MASK (0x0000007f)
|
||||
#define CALCDBG_CUSTOM (0x00000080) /* custom function debug */
|
||||
#define CALCDBG_MASK (0x000000ff)
|
||||
|
||||
/*
|
||||
* ctrl-d meanings
|
||||
|
@@ -17,8 +17,8 @@
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# @(#) $Revision: 30.2 $
|
||||
# @(#) $Id: Makefile,v 30.2 2007/03/22 07:34:47 chongo Exp $
|
||||
# @(#) $Revision: 30.3 $
|
||||
# @(#) $Id: Makefile,v 30.3 2007/09/21 01:27:27 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/cscript/RCS/Makefile,v $
|
||||
#
|
||||
# Under source code control: 1999/11/29 11:10:26
|
||||
@@ -111,9 +111,6 @@ CALC_SHAREDIR= /usr/share/calc
|
||||
# ---------------------------------------------------------------
|
||||
# ${HELPDIR} where the help directory is installed
|
||||
# ${CALC_INCDIR} where the calc include files are installed
|
||||
# ${CUSTOMCALDIR} where custom *.cal files are installed
|
||||
# ${CUSTOMHELPDIR} where custom help files are installed
|
||||
# ${CUSTOMINCDIR} where custom .h files are installed
|
||||
# ${SCRIPTDIR} where calc shell scripts are installed
|
||||
#
|
||||
# NOTE: The install rule prepends installation paths with ${T}, which
|
||||
@@ -124,16 +121,10 @@ CALC_SHAREDIR= /usr/share/calc
|
||||
#
|
||||
# HELPDIR= ${CALC_SHAREDIR}/help
|
||||
# CALC_INCDIR= ${INCDIR}/calc
|
||||
# CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
||||
# CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
||||
# CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
||||
# SCRIPTDIR= ${BINDIR}/cscript
|
||||
#
|
||||
HELPDIR= ${CALC_SHAREDIR}/help
|
||||
CALC_INCDIR= ${INCDIR}/calc
|
||||
CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
||||
CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
||||
CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
||||
SCRIPTDIR= ${BINDIR}/cscript
|
||||
|
||||
# T - top level directory under which calc will be installed
|
||||
|
15
custom.c
15
custom.c
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: custom.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: custom.c,v 30.2 2007/09/21 01:27:27 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/custom.c,v $
|
||||
*
|
||||
* Under source code control: 1997/03/03 04:53:08
|
||||
@@ -100,6 +100,12 @@ custom(char *name, int count, VALUE **vals)
|
||||
fprintf(stderr,
|
||||
"%sCalc was built with custom functions disabled\n",
|
||||
(conf->tab_ok ? "\t" : ""));
|
||||
if (conf->calc_debug & CALCDBG_CUSTOM) {
|
||||
fprintf(stderr,
|
||||
"%scustom function %s with %d args, %s vals not executed\n",
|
||||
(conf->tab_ok ? "\t" : ""), name, count,
|
||||
(vals == NULL) ? "NULL" : "non-NULL");
|
||||
}
|
||||
return error_value(E_NO_CUSTOM);
|
||||
|
||||
#endif /* CUSTOM */
|
||||
@@ -211,6 +217,11 @@ customhelp(char *name)
|
||||
fprintf(stderr,
|
||||
"%sCalc was built with custom functions disabled\n",
|
||||
(conf->tab_ok ? "\t" : ""));
|
||||
if (conf->calc_debug & CALCDBG_CUSTOM) {
|
||||
fprintf(stderr, "%scustom help for %s unavailable\n",
|
||||
(conf->tab_ok ? "\t" : ""),
|
||||
((name == NULL) ? "((NULL))" : name));
|
||||
}
|
||||
|
||||
#endif /* CUSTOM */
|
||||
}
|
||||
|
@@ -363,6 +363,25 @@ Step 5: Write your custom function
|
||||
very_tiny_variable = z1tol(z_num);
|
||||
}
|
||||
|
||||
You can (and should) add debugging statements to your custom code
|
||||
by examining bit 8 of the calc_debug config flag:
|
||||
|
||||
if (conf->calc_debug & CALCDBG_CUSTOM) {
|
||||
fprintf(stderr, "%ssome custom debug note: msg\n",
|
||||
(conf->tab_ok ? "\t" : ""),
|
||||
((msg == NULL) ? "((NULL))" : msg));
|
||||
}
|
||||
|
||||
One is able to set bit 8 by way of the calc command line:
|
||||
|
||||
calc -D 128
|
||||
|
||||
See the calc man page for details. One may also set that bit
|
||||
while running calc by way of the config() builtin function:
|
||||
|
||||
config("calc_debug", 128);
|
||||
|
||||
See the help/config file for details on calc_debug.
|
||||
|
||||
Step 6: Register the function in the custom interface table
|
||||
|
||||
@@ -642,8 +661,8 @@ Step 12: Contribute
|
||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
##
|
||||
## @(#) $Revision: 30.3 $
|
||||
## @(#) $Id: HOW_TO_ADD,v 30.3 2007/07/13 23:45:54 chongo Exp $
|
||||
## @(#) $Revision: 30.4 $
|
||||
## @(#) $Id: HOW_TO_ADD,v 30.4 2007/09/21 01:27:27 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/custom/RCS/HOW_TO_ADD,v $
|
||||
##
|
||||
## Under source code control: 1997/03/10 03:03:21
|
||||
|
129
custom/Makefile
129
custom/Makefile
@@ -18,8 +18,8 @@
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# @(#) $Revision: 30.14 $
|
||||
# @(#) $Id: Makefile.head,v 30.14 2007/09/06 08:08:39 chongo Exp $
|
||||
# @(#) $Revision: 30.18 $
|
||||
# @(#) $Id: Makefile.head,v 30.18 2008/05/10 11:58:05 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/custom/RCS/Makefile.head,v $
|
||||
#
|
||||
# Under source code control: 1997/03/09 02:28:54
|
||||
@@ -366,8 +366,8 @@ EXT=
|
||||
|
||||
# The default calc versions
|
||||
#
|
||||
VERSION= 2.12.2.1
|
||||
VERS= 2.12.2
|
||||
VERSION= 2.12.3.3
|
||||
VERS= 2.12.3
|
||||
VER= 2.12
|
||||
VE= 2
|
||||
|
||||
@@ -524,7 +524,11 @@ DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
||||
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
||||
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC=
|
||||
LD_STATIC=
|
||||
@@ -553,7 +557,11 @@ CC_SHARE= -fPIC
|
||||
DEFAULT_LIB_INSTALL_PATH= ${PWD}:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= ${DARWIN_ARCH}
|
||||
LIBCALC_SHLIB= -single_module -undefined dynamic_lookup -dynamiclib
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -single_module -undefined dynamic_lookup -dynamiclib
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC=
|
||||
LD_STATIC= ${DARWIN_ARCH}
|
||||
@@ -574,6 +582,8 @@ LIB_EXT_VERSION:= .${VERSION}${LIB_EXT}
|
||||
LIB_EXT_VERS:= .${VERS}${LIB_EXT}
|
||||
LIB_EXT_VER:= .${VER}${LIB_EXT}
|
||||
LIB_EXT_VE:= .${VE}${LIB_EXT}
|
||||
# LDCONFIG not required on this platform, so we redefine it to an empty string
|
||||
LDCONFIG:=
|
||||
# DARWIN_ARCH= -arch i386 -arch ppc # Universal binary
|
||||
# DARWIN_ARCH= -arch i386 # Intel binary
|
||||
# DARWIN_ARCH= -arch ppc # PPC binary
|
||||
@@ -601,7 +611,11 @@ DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
||||
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
||||
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC=
|
||||
LD_STATIC=
|
||||
@@ -620,12 +634,17 @@ MAKE= gmake
|
||||
#
|
||||
endif
|
||||
|
||||
######################
|
||||
# Sun Solaris target #
|
||||
######################
|
||||
##################
|
||||
# OpenBSD target #
|
||||
##################
|
||||
|
||||
# XXX - this needs to be tested
|
||||
ifeq ($(target),solaris)
|
||||
########################################################################
|
||||
# NOTE: You MUST either use gmake (GNU Make) or you must try your luck #
|
||||
# with Makefile.simple and custom/Makefile.simple versions. #
|
||||
# See HOWTO.INSTALL for more information. #
|
||||
########################################################################
|
||||
|
||||
ifeq ($(target),OpenBSD)
|
||||
#
|
||||
BLD_TYPE= calc-dynamic-only
|
||||
#
|
||||
@@ -634,7 +653,48 @@ DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
||||
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
||||
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC=
|
||||
LD_STATIC=
|
||||
LIBCALC_STATIC=
|
||||
LIBCUSTCALC_STATIC=
|
||||
#
|
||||
CCWARN= -Wall
|
||||
CCWERR=
|
||||
CCOPT= ${DEBUG}
|
||||
CCMISC=
|
||||
#
|
||||
LCC= gcc
|
||||
CC= ${PURIFY} ${LCC} ${CCWERR}
|
||||
#
|
||||
MAKE= gmake
|
||||
#
|
||||
endif
|
||||
|
||||
################
|
||||
# SunOS target #
|
||||
################
|
||||
|
||||
# XXX - this needs to be tested
|
||||
ifeq ($(target),SunOS)
|
||||
#
|
||||
BLD_TYPE= calc-dynamic-only
|
||||
#
|
||||
CC_SHARE= -fPIC
|
||||
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
||||
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
||||
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC=
|
||||
LIBCALC_STATIC=
|
||||
@@ -699,6 +759,52 @@ LDFLAGS= ${LD_DEBUG} ${ILDFLAGS} ${LIBCALC_STATIC} ${LIBCUSTCALC_STATIC}
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
endif
|
||||
|
||||
###################################################
|
||||
# MINGW32_NT-5.0 target #
|
||||
###################################################
|
||||
|
||||
|
||||
ifeq ($(target),MINGW32_NT-5.0)
|
||||
|
||||
EXT=.exe
|
||||
TERMCONTROL= -DUSE_WIN32
|
||||
ifdef ALLOW_CUSTOM
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR};${CUSTOMCALDIR}
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
else
|
||||
CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR}
|
||||
endif
|
||||
CALCRC= ${CALC_SHAREDIR}/startup;~/.calcrc;./.calcinit
|
||||
#
|
||||
BLD_TYPE= calc-static-only
|
||||
#
|
||||
CC_SHARE= -fPIC
|
||||
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
||||
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
||||
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC= -DSTATIC_ONLY
|
||||
LIBCALC_STATIC=
|
||||
LIBCUSTCALC_STATIC=
|
||||
LD_STATIC=
|
||||
#
|
||||
CCWARN= -Wall -W -Wno-comment
|
||||
CCWERR=
|
||||
CCOPT= ${DEBUG}
|
||||
CCMISC= -DNOTCYGWIN
|
||||
#
|
||||
LCC= gcc
|
||||
CC= ${PURIFY} ${LCC} ${CCWERR}
|
||||
#
|
||||
endif
|
||||
|
||||
###################################################
|
||||
# default target - when no specific target exists #
|
||||
###################################################
|
||||
@@ -715,7 +821,11 @@ DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
||||
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
||||
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC=
|
||||
LIBCALC_STATIC=
|
||||
@@ -757,7 +867,6 @@ CFLAGS= ${ICFLAGS} ${CCOPT}
|
||||
#
|
||||
ILDFLAGS= ${COMMON_LDFLAGS}
|
||||
LDFLAGS= ${LD_DEBUG} ${ILDFLAGS}
|
||||
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
|
||||
#######################################################################
|
||||
|
@@ -18,8 +18,8 @@
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# @(#) $Revision: 30.14 $
|
||||
# @(#) $Id: Makefile.head,v 30.14 2007/09/06 08:08:39 chongo Exp $
|
||||
# @(#) $Revision: 30.18 $
|
||||
# @(#) $Id: Makefile.head,v 30.18 2008/05/10 11:58:05 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/custom/RCS/Makefile.head,v $
|
||||
#
|
||||
# Under source code control: 1997/03/09 02:28:54
|
||||
@@ -366,8 +366,8 @@ EXT=
|
||||
|
||||
# The default calc versions
|
||||
#
|
||||
VERSION= 2.12.2.1
|
||||
VERS= 2.12.2
|
||||
VERSION= 2.12.3.3
|
||||
VERS= 2.12.3
|
||||
VER= 2.12
|
||||
VE= 2
|
||||
|
||||
|
@@ -18,8 +18,8 @@
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# @(#) $Revision: 30.14 $
|
||||
# @(#) $Id: Makefile.head,v 30.14 2007/09/06 08:08:39 chongo Exp $
|
||||
# @(#) $Revision: 30.18 $
|
||||
# @(#) $Id: Makefile.head,v 30.18 2008/05/10 11:58:05 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/custom/RCS/Makefile.head,v $
|
||||
#
|
||||
# Under source code control: 1997/03/09 02:28:54
|
||||
@@ -351,8 +351,8 @@ EXT=
|
||||
|
||||
# The default calc versions
|
||||
#
|
||||
VERSION= 2.12.2.1
|
||||
VERS= 2.12.2
|
||||
VERSION= 2.12.3.3
|
||||
VERS= 2.12.3
|
||||
VER= 2.12
|
||||
VE= 2
|
||||
|
||||
@@ -506,6 +506,7 @@ CFLAGS= ${ICFLAGS} ${CCOPT}
|
||||
ILDFLAGS= ${COMMON_LDFLAGS} ${LD_STATIC}
|
||||
LDFLAGS= ${LD_DEBUG} ${ILDFLAGS} ${LIBCALC_STATIC} ${LIBCUSTCALC_STATIC}
|
||||
#
|
||||
CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR};${CUSTOMCALDIR}
|
||||
|
||||
#######################################################################
|
||||
#-=-=-=-=-=- end of target section - only make rules below -=-=-=-=-=-#
|
||||
|
14
decl.h
14
decl.h
@@ -19,8 +19,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: decl.h,v 30.2 2007/07/05 13:30:38 chongo Exp $
|
||||
* @(#) $Revision: 30.3 $
|
||||
* @(#) $Id: decl.h,v 30.3 2008/04/15 21:17:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/decl.h,v $
|
||||
*
|
||||
* Under source code control: 2007/02/09 05:24:25
|
||||
@@ -62,10 +62,14 @@
|
||||
|
||||
|
||||
/* determine which type of DLL we must generate */
|
||||
# if defined(_EXPORTING)
|
||||
# define DLL __declspec(dllexport)
|
||||
# if !defined(STATIC_ONLY)
|
||||
# if defined(_EXPORTING)
|
||||
# define DLL __declspec(dllexport)
|
||||
# else
|
||||
# define DLL __declspec(dllimport)
|
||||
# endif
|
||||
# else
|
||||
# define DLL __declspec(dllimport)
|
||||
# define DLL
|
||||
# endif
|
||||
|
||||
/* variable related macros */
|
||||
|
22
endian.c
22
endian.c
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: endian.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: endian.c,v 30.2 2007/09/29 16:56:40 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/endian.c,v $
|
||||
*
|
||||
* Under source code control: 1993/11/15 04:32:58
|
||||
@@ -53,10 +53,8 @@ char byte[8] = { (char)0x12, (char)0x36, (char)0x48, (char)0x59,
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
#if !defined(LITTLE_ENDIAN) && !defined(BIG_ENDIAN)
|
||||
/* pointers into the byte order array */
|
||||
int *intp = (int *)byte;
|
||||
#endif
|
||||
#if defined(DEBUG)
|
||||
short *shortp = (short *)byte;
|
||||
long *longp = (long *)byte;
|
||||
@@ -73,13 +71,16 @@ main(void)
|
||||
#endif
|
||||
|
||||
/* Print the standard <machine/endian.h> defines */
|
||||
printf("#undef BIG_ENDIAN\n");
|
||||
printf("#define BIG_ENDIAN\t4321\n");
|
||||
printf("#undef LITTLE_ENDIAN\n");
|
||||
printf("#define LITTLE_ENDIAN\t1234\n");
|
||||
printf("#undef CALC_BYTE_ORDER\n");
|
||||
|
||||
#if defined(LITTLE_ENDIAN)
|
||||
printf("#define CALC_BYTE_ORDER\tLITTLE_ENDIAN\n");
|
||||
#elif defined(BIG_ENDIAN)
|
||||
#if defined(CALC_BIG_ENDIAN)
|
||||
printf("#define CALC_BYTE_ORDER\tBIG_ENDIAN\n");
|
||||
#elif defined(CALC_LITTLE_ENDIAN)
|
||||
printf("#define CALC_BYTE_ORDER\tLITTLW_ENDIAN\n");
|
||||
#else
|
||||
/* Determine byte order */
|
||||
if (intp[0] == 0x12364859) {
|
||||
@@ -89,8 +90,11 @@ main(void)
|
||||
/* Least Significant Byte first */
|
||||
printf("#define CALC_BYTE_ORDER\tLITTLE_ENDIAN\n");
|
||||
} else {
|
||||
fprintf(stderr,
|
||||
"Unknown int Byte Order, set CALC_BYTE_ORDER in Makefile\n");
|
||||
fprintf(stderr, "@=-=@ Fatal build error - cannot @=-=@\n");
|
||||
fprintf(stderr, "@=-=@ determine byte order. Set @=-=@\n");
|
||||
fprintf(stderr, "@=-=@ ${CALC_BYTE_ORDER} in the Makefile @=-=@\n");
|
||||
fprintf(stderr, "@=-=@ to be either -DCALC_BIG_ENDIAN or @=-=@\n");
|
||||
fprintf(stderr, "@=-=@ to be -DCALC_LITTLE_ENDIAN @=-=@\n");
|
||||
exit(1);
|
||||
}
|
||||
#endif
|
||||
|
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: fposval.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: fposval.c,v 30.2 2007/09/19 22:34:22 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/fposval.c,v $
|
||||
*
|
||||
* Under source code control: 1994/11/05 03:19:52
|
||||
@@ -129,7 +129,7 @@ main(int argc, char **argv)
|
||||
* systems a FILEPOS is not a scalar hince we must memcpy.
|
||||
*/
|
||||
printf("#define SWAP_HALF_IN_FILEPOS(dest, src)\t%s\n",
|
||||
"memcpy((void *)(dest), (void *)(src), sizeof(FPOS_POS_BITS))");
|
||||
"memcpy((void *)(dest), (void *)(src), sizeof(FPOS_POS_LEN))");
|
||||
#endif /* HAVE_FILEPOS_SCALAR */
|
||||
#endif /* CALC_BYTE_ORDER == BIG_ENDIAN */
|
||||
putchar('\n');
|
||||
|
6
func.c
6
func.c
@@ -19,8 +19,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: func.c,v 30.2 2007/07/05 17:37:41 chongo Exp $
|
||||
* @(#) $Revision: 30.3 $
|
||||
* @(#) $Id: func.c,v 30.3 2008/04/15 21:17:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/func.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:15
|
||||
@@ -5721,7 +5721,9 @@ f_fflush(int count, VALUE **vals)
|
||||
i = 0;
|
||||
errno = 0;
|
||||
if (count == 0) {
|
||||
#if !defined(_WIN32)
|
||||
i = flushall();
|
||||
#endif /* Windoz free systems */
|
||||
} else {
|
||||
for (n = 0; n < count; n++) {
|
||||
if (vals[n]->v_type != V_FILE)
|
||||
|
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: have_fpos_pos.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: have_fpos_pos.c,v 30.2 2007/09/19 22:34:22 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/have_fpos_pos.c,v $
|
||||
*
|
||||
* Under source code control: 2000/12/17 01:23
|
||||
@@ -51,17 +51,21 @@ main(void)
|
||||
printf("#define HAVE_FPOS_POS 1 /* yes */\n\n");
|
||||
|
||||
/* determine __pos element size */
|
||||
printf("#undef FPOS_POS_BITS\t/* no */\n");
|
||||
printf("#undef FPOS_POS_BITS\n");
|
||||
printf("#undef FPOS_POS_LEN\n");
|
||||
# if defined(FPOS_POS_BITS)
|
||||
printf("#define FPOS_POS_BITS %d\n\n", FPOS_POS_BITS);
|
||||
printf("#define FPOS_POS_BITS %d\n", FPOS_POS_BITS);
|
||||
printf("#define FPOS_POS_LEN %d\n", int(FPOS_POS_BITS/8));
|
||||
# else
|
||||
printf("#define FPOS_POS_BITS %d\n\n", sizeof(pos.__pos)*8);
|
||||
printf("#define FPOS_POS_BITS %d\n", sizeof(pos.__pos)*8);
|
||||
printf("#define FPOS_POS_LEN %d\n", sizeof(pos.__pos));
|
||||
# endif
|
||||
|
||||
#else
|
||||
/* we have no __pos element */
|
||||
printf("#undef HAVE_FPOS_POS\t/* no */\n");
|
||||
printf("#undef FPOS_POS_BITS\n");
|
||||
printf("#undef FPOS_POS_LEN\n");
|
||||
#endif
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
|
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: have_offscl.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: have_offscl.c,v 30.2 2008/04/15 21:17:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/have_offscl.c,v $
|
||||
*
|
||||
* Under source code control: 1996/07/13 12:57:22
|
||||
@@ -66,9 +66,11 @@ main(void)
|
||||
if (value > (off_t)1) {
|
||||
--value;
|
||||
}
|
||||
#if !defined(_WIN32)
|
||||
if (value <= (off_t)getppid()) {
|
||||
--value;
|
||||
}
|
||||
#endif
|
||||
if (value == value2) {
|
||||
value += value2;
|
||||
}
|
||||
|
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: have_posscl.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: have_posscl.c,v 30.2 2008/04/15 21:17:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/have_posscl.c,v $
|
||||
*
|
||||
* Under source code control: 1996/07/13 12:57:22
|
||||
@@ -66,9 +66,11 @@ main(void)
|
||||
if (value > (FILEPOS)1) {
|
||||
--value;
|
||||
}
|
||||
#if !defined(_WIN32)
|
||||
if (value <= (FILEPOS)getppid()) {
|
||||
--value;
|
||||
}
|
||||
#endif
|
||||
if (value == value2) {
|
||||
value += value2;
|
||||
}
|
||||
|
10
help.c
10
help.c
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: help.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: help.c,v 30.2 2007/09/21 01:27:27 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/help.c,v $
|
||||
*
|
||||
* Under source code control: 1997/09/14 10:58:30
|
||||
@@ -249,11 +249,15 @@ givehelp(char *type)
|
||||
/*
|
||||
* open the helpfile (looking in HELPDIR first)
|
||||
*/
|
||||
#if defined(CUSTOM)
|
||||
if (sizeof(CUSTOMHELPDIR) > sizeof(HELPDIR)) {
|
||||
helppath = (char *)malloc(sizeof(CUSTOMHELPDIR)+1+strlen(type));
|
||||
} else {
|
||||
helppath = (char *)malloc(sizeof(HELPDIR)+1+strlen(type));
|
||||
}
|
||||
#else /* CUSTOM */
|
||||
helppath = (char *)malloc(sizeof(HELPDIR)+1+strlen(type));
|
||||
#endif /* CUSTOM */
|
||||
if (helppath == NULL) {
|
||||
fprintf(stderr, "malloc failure in givehelp()\n");
|
||||
return;
|
||||
@@ -268,6 +272,7 @@ givehelp(char *type)
|
||||
page_file(stream);
|
||||
(void) fclose(stream);
|
||||
|
||||
#if defined(CUSTOM)
|
||||
/*
|
||||
* open the the helpfile (looking in CUSTOMHELPDIR last)
|
||||
*/
|
||||
@@ -287,6 +292,7 @@ givehelp(char *type)
|
||||
page_file(stream);
|
||||
(void) fclose(stream);
|
||||
}
|
||||
#endif /* CUSTOM */
|
||||
}
|
||||
|
||||
/*
|
||||
|
@@ -18,8 +18,8 @@
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# @(#) $Revision: 30.4 $
|
||||
# @(#) $Id: Makefile,v 30.4 2007/09/02 05:49:56 chongo Exp $
|
||||
# @(#) $Revision: 30.5 $
|
||||
# @(#) $Id: Makefile,v 30.5 2007/09/21 01:27:27 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/help/RCS/Makefile,v $
|
||||
#
|
||||
# Under source code control: 1991/07/23 06:47:57
|
||||
@@ -111,9 +111,6 @@ CALC_SHAREDIR= /usr/share/calc
|
||||
# ---------------------------------------------------------------
|
||||
# ${HELPDIR} where the help directory is installed
|
||||
# ${CALC_INCDIR} where the calc include files are installed
|
||||
# ${CUSTOMCALDIR} where custom *.cal files are installed
|
||||
# ${CUSTOMHELPDIR} where custom help files are installed
|
||||
# ${CUSTOMINCPDIR} where custom .h files are installed
|
||||
# ${SCRIPTDIR} where calc shell scripts are installed
|
||||
#
|
||||
# NOTE: The install rule prepends installation paths with ${T}, which
|
||||
@@ -124,16 +121,10 @@ CALC_SHAREDIR= /usr/share/calc
|
||||
#
|
||||
# HELPDIR= ${CALC_SHAREDIR}/help
|
||||
# CALC_INCDIR= ${INCDIR}/calc
|
||||
# CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
||||
# CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
||||
# CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
||||
# SCRIPTDIR= ${BINDIR}/cscript
|
||||
#
|
||||
HELPDIR= ${CALC_SHAREDIR}/help
|
||||
CALC_INCDIR= ${INCDIR}/calc
|
||||
CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
||||
CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
||||
CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
||||
SCRIPTDIR= ${BINDIR}/cscript
|
||||
|
||||
# T - top level directory under which calc will be installed
|
||||
|
@@ -600,7 +600,9 @@ DESCRIPTION
|
||||
|
||||
6 Report on rand() subtractive 100 shuffle generator issues.
|
||||
|
||||
Bits >= 7 are reserved for future use and should not be used at this time.
|
||||
7 Report on custom function issues.
|
||||
|
||||
Bits >= 8 are reserved for future use and should not be used at this time.
|
||||
|
||||
By default, "calc_debug" is 0. The initial value may be overridden
|
||||
by the -D command line option.
|
||||
@@ -972,8 +974,8 @@ SEE ALSO
|
||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
##
|
||||
## @(#) $Revision: 30.2 $
|
||||
## @(#) $Id: config,v 30.2 2007/07/05 17:37:41 chongo Exp $
|
||||
## @(#) $Revision: 30.3 $
|
||||
## @(#) $Id: config,v 30.3 2007/09/21 01:27:27 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/config,v $
|
||||
##
|
||||
## Under source code control: 1991/07/21 04:37:17
|
||||
|
25
help/rand
25
help/rand
@@ -2,18 +2,21 @@ NAME
|
||||
rand - subtractive 100 shuffle pseudo-random number generator
|
||||
|
||||
SYNOPSIS
|
||||
rand([[min, ] max])
|
||||
rand([[min, ] beyond])
|
||||
|
||||
TYPES
|
||||
min integer
|
||||
max integer
|
||||
beyond integer
|
||||
|
||||
return integer
|
||||
|
||||
DESCRIPTION
|
||||
Generate a pseudo-random number using an subtractive 100 shuffle generator.
|
||||
We return a pseudo-random number over the half closed interval [min,max).
|
||||
By default, min is 0 and max is 2^64.
|
||||
We return a pseudo-random number over the half closed interval:
|
||||
|
||||
[min,beyond) ((min <= return < beyond))
|
||||
|
||||
By default, min is 0 and beyond is 2^64.
|
||||
|
||||
The shuffle method is fast and serves as a fairly good standard
|
||||
pseudo-random generator. If you need a fast generator and do not
|
||||
@@ -26,7 +29,7 @@ DESCRIPTION
|
||||
Other arg forms:
|
||||
|
||||
rand() Same as rand(0, 2^64)
|
||||
rand(max) Same as rand(0, max)
|
||||
rand(beyond) Same as rand(0, beyond)
|
||||
|
||||
The rand generator generates the highest order bit first. Thus:
|
||||
|
||||
@@ -230,17 +233,17 @@ EXAMPLE
|
||||
2 658186291252503497642116 1 -324097
|
||||
|
||||
LIMITS
|
||||
min < max
|
||||
min < beyond
|
||||
|
||||
LINK LIBRARY
|
||||
void zrand(long cnt, ZVALUE *res)
|
||||
void zrandrange(ZVALUE low, ZVALUE high, ZVALUE *res)
|
||||
long irand(long max)
|
||||
void zrandrange(ZVALUE low, ZVALUE beyond, ZVALUE *res)
|
||||
long irand(long beyond)
|
||||
|
||||
SEE ALSO
|
||||
seed, srand, randbit, isrand, random, srandom, israndom
|
||||
|
||||
## Copyright (C) 1999 Landon Curt Noll
|
||||
## Copyright (C) 1999-2007 Landon Curt Noll
|
||||
##
|
||||
## Calc is open software; you can redistribute it and/or modify it under
|
||||
## the terms of the version 2.1 of the GNU Lesser General Public License
|
||||
@@ -256,8 +259,8 @@ SEE ALSO
|
||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
##
|
||||
## @(#) $Revision: 30.1 $
|
||||
## @(#) $Id: rand,v 30.1 2007/03/16 11:10:42 chongo Exp $
|
||||
## @(#) $Revision: 30.3 $
|
||||
## @(#) $Id: rand,v 30.3 2007/09/21 02:16:29 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/rand,v $
|
||||
##
|
||||
## Under source code control: 1996/01/01 02:16:09
|
||||
|
27
help/random
27
help/random
@@ -2,18 +2,21 @@ NAME
|
||||
random - Blum-Blum-Shub pseudo-random number generator
|
||||
|
||||
SYNOPSIS
|
||||
random([[min, ] max])
|
||||
random([[min, ] beyond])
|
||||
|
||||
TYPES
|
||||
min integer
|
||||
max integer
|
||||
beyond integer
|
||||
|
||||
return integer
|
||||
|
||||
DESCRIPTION
|
||||
Generate a pseudo-random number using a Blum-Blum-Shub generator.
|
||||
We return a pseudo-random number over the half closed interval [min,max).
|
||||
By default, min is 0 and max is 2^64.
|
||||
We return a pseudo-random number over the half closed interval:
|
||||
|
||||
[min,beyond) ((min <= return < beyond))
|
||||
|
||||
By default, min is 0 and beyond is 2^64.
|
||||
|
||||
While the Blum-Blum-Shub generator is not painfully slow, it is not
|
||||
a fast generator. For a faster, but lesser quality generator
|
||||
@@ -22,8 +25,8 @@ DESCRIPTION
|
||||
|
||||
Other arg forms:
|
||||
|
||||
random() Same as rand(0, 2^64)
|
||||
random(max) Same as rand(0, max)
|
||||
random() Same as random(0, 2^64)
|
||||
random(beyond) Same as random(0, beyond)
|
||||
|
||||
The random generator generates the highest order bit first. Thus:
|
||||
|
||||
@@ -146,17 +149,17 @@ EXAMPLE
|
||||
10 483381144668580304003305 0 -70235
|
||||
|
||||
LIMITS
|
||||
min < max
|
||||
min < beyond
|
||||
|
||||
LINK LIBRARY
|
||||
void zrandom(long cnt, ZVALUE *res)
|
||||
void zrandomrange(ZVALUE low, ZVALUE high, ZVALUE *res)
|
||||
long irandom(long max)
|
||||
void zrandomrange(ZVALUE low, ZVALUE beyond, ZVALUE *res)
|
||||
long irandom(long beyond)
|
||||
|
||||
SEE ALSO
|
||||
seed, srand, randbit, isrand, rand, srandom, israndom
|
||||
|
||||
## Copyright (C) 1999 Landon Curt Noll
|
||||
## Copyright (C) 1999-2007 Landon Curt Noll
|
||||
##
|
||||
## Calc is open software; you can redistribute it and/or modify it under
|
||||
## the terms of the version 2.1 of the GNU Lesser General Public License
|
||||
@@ -172,8 +175,8 @@ SEE ALSO
|
||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
##
|
||||
## @(#) $Revision: 30.1 $
|
||||
## @(#) $Id: random,v 30.1 2007/03/16 11:10:42 chongo Exp $
|
||||
## @(#) $Revision: 30.3 $
|
||||
## @(#) $Id: random,v 30.3 2007/09/21 02:16:29 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/random,v $
|
||||
##
|
||||
## Under source code control: 1997/02/17 01:18:22
|
||||
|
14
help/todo
14
help/todo
@@ -51,6 +51,12 @@ Very High priority items:
|
||||
|
||||
* Consider using GNU autoconf / configure to build calc.
|
||||
|
||||
* It is overkill to have nearly everything wind up in libcalc.
|
||||
Form a libcalcmath and a libcalclang so that an application
|
||||
that just wants to link with the calc math libs can use them
|
||||
without dragging in all of the other calc language, I/O,
|
||||
and builtin functions.
|
||||
|
||||
* Fix any 'Known bugs' as noted in the BUGS file or as
|
||||
displayed by 'calc help bugs'.
|
||||
|
||||
@@ -102,8 +108,6 @@ Medium priority items:
|
||||
at by 'fizbin' and the HALF array pointer at by 'data' should be
|
||||
treated as read-only.
|
||||
|
||||
* It is overkill to have nearly everything wind up in libcalc.a.
|
||||
|
||||
One should make available a the fundamental math operations
|
||||
on ZVALUE, NUMBER and perhaps COMPLEX (without all of the
|
||||
other stuff) in a separate library.
|
||||
@@ -113,7 +117,7 @@ Medium priority items:
|
||||
* Add a builtin function to access the 64 bit FNV hash which
|
||||
is currently being used internally in seed.c.
|
||||
|
||||
## Copyright (C) 1999-2006 Landon Curt Noll
|
||||
## Copyright (C) 1999-2007 Landon Curt Noll
|
||||
##
|
||||
## Calc is open software; you can redistribute it and/or modify it under
|
||||
## the terms of the version 2.1 of the GNU Lesser General Public License
|
||||
@@ -129,8 +133,8 @@ Medium priority items:
|
||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
##
|
||||
## @(#) $Revision: 30.1 $
|
||||
## @(#) $Id: todo,v 30.1 2007/03/16 11:10:42 chongo Exp $
|
||||
## @(#) $Revision: 30.2 $
|
||||
## @(#) $Id: todo,v 30.2 2007/09/08 02:52:42 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/todo,v $
|
||||
##
|
||||
## Under source code control: 1999/10/20 07:42:55
|
||||
|
@@ -4,6 +4,10 @@ Unexpected
|
||||
surprises in calc syntax and usage. Persons familiar with C should
|
||||
review this file.
|
||||
|
||||
Persons familiar with shell scripting may want to review this file
|
||||
as well, particularly notes dealing with command line evaluation
|
||||
and execution.
|
||||
|
||||
|
||||
The Comma
|
||||
=========
|
||||
@@ -75,7 +79,7 @@ Unexpected
|
||||
|
||||
(-1) ^ 0.5 == 1i
|
||||
|
||||
because the above expresssion in parsed as:
|
||||
because the above expression in parsed as:
|
||||
|
||||
-(1 ^ 0.5) == -1
|
||||
|
||||
@@ -335,7 +339,66 @@ Unexpected
|
||||
NOTE: See "help statement", "help todo", and "help bugs".
|
||||
|
||||
|
||||
## Copyright (C) 1999-2006 Landon Curt Noll
|
||||
Shell evaluation of command line arguments
|
||||
==========================================
|
||||
|
||||
In most interactive shells:
|
||||
|
||||
calc 2 * 3
|
||||
|
||||
will frequently produce a "Missing operator" error because the '*' is
|
||||
evaluated as a "shell glob". To avoid this you must quote or escape
|
||||
argument with characters that your interactive shell interprets.
|
||||
|
||||
For example, bash / ksh / sh shell users should use:
|
||||
|
||||
calc '2 * 3'
|
||||
|
||||
or:
|
||||
|
||||
calc 2 \* 3
|
||||
|
||||
or some other form of shell meta-character escaping.
|
||||
|
||||
|
||||
Calc reads standard input after processing command line args
|
||||
============================================================
|
||||
|
||||
The shell command:
|
||||
|
||||
seq 5 | while read i; do calc "($i+3)^2"; done
|
||||
|
||||
FYI: The command "seq 5" will write 1 through 5 on separate
|
||||
lines on standard output, while read i sets $i to
|
||||
the value of each line that is read from stdin.
|
||||
|
||||
will produce:
|
||||
|
||||
16
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
|
||||
The reason why the last 4 lines of output are 2 through 5 is
|
||||
that after calc evaluates the first line and prints (1+3)^2
|
||||
(i.e., 16), calc continues to read stdin and slurps up all
|
||||
of the remaining data on the pipe.
|
||||
|
||||
To avoid this problem, use:
|
||||
|
||||
seq 5 | while read i; do calc "($i+3)^2" </dev/null; done
|
||||
|
||||
which produces the expected results:
|
||||
|
||||
16
|
||||
25
|
||||
36
|
||||
49
|
||||
64
|
||||
|
||||
|
||||
## Copyright (C) 1999-2007 Landon Curt Noll
|
||||
##
|
||||
## Calc is open software; you can redistribute it and/or modify it under
|
||||
## the terms of the version 2.1 of the GNU Lesser General Public License
|
||||
@@ -351,8 +414,8 @@ Unexpected
|
||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
##
|
||||
## @(#) $Revision: 30.2 $
|
||||
## @(#) $Id: unexpected,v 30.2 2007/07/11 23:00:39 chongo Exp $
|
||||
## @(#) $Revision: 30.3 $
|
||||
## @(#) $Id: unexpected,v 30.3 2007/09/08 02:48:45 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/unexpected,v $
|
||||
##
|
||||
## Under source code control: 1997/03/21 13:15:18
|
||||
|
17
input.c
17
input.c
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: input.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: input.c,v 30.2 2008/04/15 21:17:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/input.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:16
|
||||
@@ -37,6 +37,8 @@
|
||||
#include <ctype.h>
|
||||
#if !defined(_WIN32)
|
||||
# include <pwd.h>
|
||||
#else
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
@@ -971,17 +973,14 @@ isinoderead(struct stat *sbuf)
|
||||
/* scan the entire readset */
|
||||
for (i=0; i < maxreadset; ++i) {
|
||||
#if defined(_WIN32) || defined(__MSDOS__)
|
||||
tmp = _fullpath(NULL, cip->i_name, _MAX_PATH);
|
||||
if (readset[i].active &&
|
||||
tmp != NULL &&
|
||||
char tmp[_MAX_PATH+1];
|
||||
tmp[_MAX_PATH] = '\0';
|
||||
if (_fullpath(tmp, cip->i_name, _MAX_PATH) &&
|
||||
readset[i].active &&
|
||||
strcasecmp(readset[i].path, tmp) == 0) {
|
||||
/* found a match */
|
||||
free(tmp);
|
||||
return i;
|
||||
}
|
||||
if (tmp != NULL) {
|
||||
free(tmp);
|
||||
}
|
||||
#else /* Windoz free systems */
|
||||
if (readset[i].active &&
|
||||
sbuf->st_dev == readset[i].inode.st_dev &&
|
||||
|
18
rpm.mk
18
rpm.mk
@@ -19,8 +19,8 @@
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
MAKEFILE_REV= $$Revision: 30.3 $$
|
||||
# @(#) $Id: rpm.mk,v 30.3 2007/09/02 09:30:11 chongo Exp $
|
||||
MAKEFILE_REV= $$Revision: 30.4 $$
|
||||
# @(#) $Id: rpm.mk,v 30.4 2007/10/16 12:22:22 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/RCS/rpm.mk,v $
|
||||
#
|
||||
# Under source code control: 2003/02/16 20:21:39
|
||||
@@ -43,7 +43,7 @@ MD5SUM= md5sum
|
||||
SHA1SUM= sha1sum
|
||||
SED= sed
|
||||
FIND= find
|
||||
GZIP_PROG= gzip
|
||||
BZIP2_PROG= bzip2
|
||||
TAR= tar
|
||||
RM= rm
|
||||
LS= ls
|
||||
@@ -61,7 +61,7 @@ PROJECT_VERSION=
|
||||
PROJECT_RELEASE=
|
||||
PROJECT= $(PROJECT_NAME)-$(PROJECT_VERSION)
|
||||
SPECFILE= $(PROJECT_NAME).spec
|
||||
TARBALL= $(PROJECT).${TAR}.gz
|
||||
TARBALL= $(PROJECT).${TAR}.bz2
|
||||
RPM686= $(PROJECT)-$(PROJECT_RELEASE).${TARCH}.rpm
|
||||
DRPM686= $(PROJECT_NAME)-devel-$(PROJECT_VERSION)-$(PROJECT_RELEASE).${TARCH}.rpm
|
||||
SRPM= $(PROJECT)-$(PROJECT_RELEASE).src.rpm
|
||||
@@ -88,7 +88,7 @@ all: calc.spec ver_calc
|
||||
calc.spec.in`" rpm
|
||||
${V} echo '=-=-=-=-= rpm.mk end of $@ rule =-=-=-=-='
|
||||
|
||||
pkgme: $(PROJECT_NAME)-spec.${TAR}.gz
|
||||
pkgme: $(PROJECT_NAME)-spec.${TAR}.bz2
|
||||
|
||||
ver_calc:
|
||||
${V} echo '=-=-=-=-= rpm.mk start of $@ rule =-=-=-=-='
|
||||
@@ -112,12 +112,12 @@ calc.spec: calc.spec.in ver_calc
|
||||
srcpkg: make_rhdir
|
||||
${V} echo '=-=-=-=-= rpm.mk start of $@ rule =-=-=-=-='
|
||||
${FIND} . -depth -print | \
|
||||
${EGREP} -v '/RCS|/CVS|/NOTES|/\.|\.out$$|\.safe$$' | \
|
||||
${EGREP} -v '/RCS|/CVS|/NOTES|/\.|\.out$$|\.safe$$\.tar\.bz2$$' | \
|
||||
${EGREP} -v '/old[._-]|\.old$$|\.tar\.gz$$|/ver_calc$$' | \
|
||||
LANG=C ${SORT} | \
|
||||
${CPIO} -dumpv "$(TMPDIR)/$(PROJECT)"
|
||||
(cd "$(TMPDIR)"; ${TAR} cf - "$(PROJECT)") | \
|
||||
${GZIP_PROG} -c > "$(RPMDIR)/SOURCES/$(TARBALL)"
|
||||
${BZIP2_PROG} --best -c -z > "$(RPMDIR)/SOURCES/$(TARBALL)"
|
||||
${RM} -fr "$(TMPDIR)/$(PROJECT)"
|
||||
${V} echo '=-=-=-=-= rpm.mk end of $@ rule =-=-=-=-='
|
||||
|
||||
@@ -228,10 +228,10 @@ uninstallrpm:
|
||||
${RPM_TOOL} -e "$(PROJECT_NAME)"
|
||||
${V} echo '=-=-=-=-= rpm.mk end of $@ rule =-=-=-=-='
|
||||
|
||||
$(PROJECT_NAME)-spec.${TAR}.gz: rpm.mk $(PROJECT_NAME).spec.in
|
||||
$(PROJECT_NAME)-spec.${TAR}.bz2: rpm.mk $(PROJECT_NAME).spec.in
|
||||
${V} echo '=-=-=-=-= rpm.mk start of $@ rule =-=-=-=-='
|
||||
${RM} -f "$@"
|
||||
${TAR} cf - "$^" | ${GZIP_PROG} -c > "$@"
|
||||
${TAR} cf - "$^" | ${BZIP2_PROG} --best -c -z > "$@"
|
||||
${V} echo '=-=-=-=-= rpm.mk end of $@ rule =-=-=-=-='
|
||||
|
||||
#****
|
||||
|
22
version.c
22
version.c
@@ -19,8 +19,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.4 $
|
||||
* @(#) $Id: version.c,v 30.4 2007/09/06 06:14:11 chongo Exp $
|
||||
* @(#) $Revision: 30.9 $
|
||||
* @(#) $Id: version.c,v 30.9 2008/05/10 10:53:34 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/version.c,v $
|
||||
*
|
||||
* Under source code control: 1990/05/22 11:00:58
|
||||
@@ -48,8 +48,8 @@ static char *program;
|
||||
|
||||
#define MAJOR_VER 2 /* major library version */
|
||||
#define MINOR_VER 12 /* minor library version */
|
||||
#define MAJOR_PATCH 2 /* major software level under library version */
|
||||
#define MINOR_PATCH 1 /* minor software level or 0 if none */
|
||||
#define MAJOR_PATCH 3 /* major software level under library version */
|
||||
#define MINOR_PATCH 3 /* minor software level or 0 if not patched */
|
||||
|
||||
|
||||
/*
|
||||
@@ -103,8 +103,6 @@ char *Copyright = "\n"
|
||||
* string does not contain the title, just:
|
||||
*
|
||||
* x.y.z.w
|
||||
* x.y.z
|
||||
* x.y
|
||||
*/
|
||||
char *
|
||||
version(void)
|
||||
@@ -121,15 +119,9 @@ version(void)
|
||||
/*
|
||||
* form the version buffer
|
||||
*/
|
||||
if (MINOR_PATCH > 0) {
|
||||
snprintf(verbuf, BUFSIZ,
|
||||
"%d.%d.%d.%d", calc_major_ver, calc_minor_ver,
|
||||
calc_major_patch, calc_minor_patch);
|
||||
} else {
|
||||
snprintf(verbuf, BUFSIZ,
|
||||
"%d.%d.%d", calc_major_ver,
|
||||
calc_minor_ver, calc_major_patch);
|
||||
}
|
||||
snprintf(verbuf, BUFSIZ,
|
||||
"%d.%d.%d.%d", calc_major_ver, calc_minor_ver,
|
||||
calc_major_patch, calc_minor_patch);
|
||||
|
||||
/*
|
||||
* save the versions string into a newly malloced buffer
|
||||
|
@@ -8,9 +8,8 @@
|
||||
|
||||
|
||||
/* what byte order are we? */
|
||||
#define BIG_ENDIAN 4321
|
||||
#define LITTLE_ENDIAN 1234
|
||||
#define CALC_BYTE_ORDER LITTLE_ENDIAN
|
||||
#include <endian.h>
|
||||
#define CALC_BYTE_ORDER BYTE_ORDER
|
||||
|
||||
|
||||
#endif /* !__ENDIAN_CALC_H__ */
|
||||
|
@@ -10,6 +10,7 @@
|
||||
/* do we have fgetpos & fsetpos functions? */
|
||||
#undef HAVE_FPOS_POS /* no */
|
||||
#undef FPOS_POS_BITS
|
||||
#undef FPOS_POS_LEN
|
||||
|
||||
|
||||
#endif /* !__HAVE_FPOS_POS_H__ */
|
||||
|
49
zfunc.c
49
zfunc.c
@@ -19,8 +19,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: zfunc.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: zfunc.c,v 30.2 2008/02/24 07:41:49 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/zfunc.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:27
|
||||
@@ -374,12 +374,28 @@ zcomb(ZVALUE z1, ZVALUE z2, ZVALUE *res)
|
||||
|
||||
|
||||
/*
|
||||
* Compute the Jacobi function (p / q) for odd q.
|
||||
* If q is prime then the result is:
|
||||
* 1 if p == x^2 (mod q) for some x.
|
||||
* -1 otherwise.
|
||||
* If q is not prime, then the result is not meaningful if it is 1.
|
||||
* This function returns 0 if q is even or q < 0.
|
||||
* Compute the Jacobi function (m / n) for odd n.
|
||||
*
|
||||
* The property of the Jacobi function is: If n>2 is prime then
|
||||
*
|
||||
* the result is 1 if m == x^2 (mod n) for some x.
|
||||
* otherwise the result is -1.
|
||||
*
|
||||
* If n is not prime, then the result does not prove that n is not prine
|
||||
* when the value of the Jacobi is 1.
|
||||
*
|
||||
* Jacobi evaluation of (m / n), where n > 0 is odd AND m > 0 is odd:
|
||||
*
|
||||
* rule 0: (0 / n) == 0
|
||||
* rule 1: (1 / n) == 1
|
||||
* rule 2: (m / n) == (a / n) if m == a % n
|
||||
* rule 3: (m / n) == (2*m / n) if n == 1 % 8 OR n == 7 % 8
|
||||
* rule 4: (m / n) == -(2*m / n) if n != 1 & 8 AND n != 7 % 8
|
||||
* rule 5: (m / n) == (n / m) if m == 3 % 4 AND n == 3 % 4
|
||||
* rule 6: (m / n) == -(n / m) if m != 3 % 4 OR n != 3 % 4
|
||||
*
|
||||
* NOTE: This function returns 0 in invalid Jacobi parameters:
|
||||
* m < 0 OR n is even OR n < 1.
|
||||
*/
|
||||
FLAG
|
||||
zjacobi(ZVALUE z1, ZVALUE z2)
|
||||
@@ -388,16 +404,16 @@ zjacobi(ZVALUE z1, ZVALUE z2)
|
||||
long lowbit;
|
||||
int val;
|
||||
|
||||
/* firewall */
|
||||
if (ziszero(z1) || zisneg(z1))
|
||||
return 0;
|
||||
if (ziseven(z2) || zisneg(z2))
|
||||
return 0;
|
||||
|
||||
/* assume a value of 1 unless we find otherwise */
|
||||
if (zisone(z1))
|
||||
return 1;
|
||||
val = 1;
|
||||
if (ziszero(z1) || zisone(z1))
|
||||
return val;
|
||||
if (zisunit(z1)) {
|
||||
if ((*z2.v - 1) & 0x2)
|
||||
val = -val;
|
||||
return val;
|
||||
}
|
||||
zcopy(z1, &p);
|
||||
zcopy(z2, &q);
|
||||
for (;;) {
|
||||
@@ -406,7 +422,8 @@ zjacobi(ZVALUE z1, ZVALUE z2)
|
||||
p = tmp;
|
||||
if (ziszero(p)) {
|
||||
zfree(p);
|
||||
p = _one_;
|
||||
zfree(q);
|
||||
return 0;
|
||||
}
|
||||
if (ziseven(p)) {
|
||||
lowbit = zlowbit(p);
|
||||
|
22
zrand.c
22
zrand.c
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: zrand.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: zrand.c,v 30.2 2007/09/21 01:47:34 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/zrand.c,v $
|
||||
*
|
||||
* Under source code control: 1995/01/07 09:45:25
|
||||
@@ -123,7 +123,7 @@
|
||||
*
|
||||
* The s100 generator as the following calc interfaces:
|
||||
*
|
||||
* rand(min,max) (where min < max)
|
||||
* rand(min,beyond) (where min < beyond)
|
||||
*
|
||||
* Print an s100 generator random value over interval [a,b).
|
||||
*
|
||||
@@ -2171,17 +2171,17 @@ zrand(long cnt, ZVALUE *res)
|
||||
|
||||
|
||||
/*
|
||||
* zrandrange - generate an s100 random value in the range [low, high)
|
||||
* zrandrange - generate an s100 random value in the range [low, beyond)
|
||||
*
|
||||
* given:
|
||||
* low - low value of range
|
||||
* high - beyond end of range
|
||||
* beyond - beyond end of range
|
||||
* res - where to place the random bits as ZVALUE
|
||||
*/
|
||||
void
|
||||
zrandrange(CONST ZVALUE low, CONST ZVALUE high, ZVALUE *res)
|
||||
zrandrange(CONST ZVALUE low, CONST ZVALUE beyond, ZVALUE *res)
|
||||
{
|
||||
ZVALUE range; /* high-low */
|
||||
ZVALUE range; /* beyond-low */
|
||||
ZVALUE rval; /* random value [0, 2^bitlen) */
|
||||
ZVALUE rangem1; /* range - 1 */
|
||||
long bitlen; /* smallest power of 2 >= diff */
|
||||
@@ -2189,15 +2189,15 @@ zrandrange(CONST ZVALUE low, CONST ZVALUE high, ZVALUE *res)
|
||||
/*
|
||||
* firewall
|
||||
*/
|
||||
if (zrel(low, high) >= 0) {
|
||||
math_error("srand low range >= high range");
|
||||
if (zrel(low, beyond) >= 0) {
|
||||
math_error("srand low range >= beyond range");
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
|
||||
/*
|
||||
* determine the size of the random number needed
|
||||
*/
|
||||
zsub(high, low, &range);
|
||||
zsub(beyond, low, &range);
|
||||
if (zisone(range)) {
|
||||
zfree(range);
|
||||
*res = low;
|
||||
@@ -2226,7 +2226,7 @@ zrandrange(CONST ZVALUE low, CONST ZVALUE high, ZVALUE *res)
|
||||
|
||||
/*
|
||||
* add in low value to produce the range [0+low, diff+low)
|
||||
* which is the range [low, high)
|
||||
* which is the range [low, beyond)
|
||||
*/
|
||||
zadd(rval, low, res);
|
||||
zfree(rval);
|
||||
|
24
zrandom.c
24
zrandom.c
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: zrandom.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: zrandom.c,v 30.2 2007/09/21 01:47:34 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/zrandom.c,v $
|
||||
*
|
||||
* Under source code control: 1997/02/15 04:01:56
|
||||
@@ -133,9 +133,9 @@
|
||||
*
|
||||
* The Blum generator as the following calc interfaces:
|
||||
*
|
||||
* random(min, max) (where min < max)
|
||||
* random(min, beyond) (where min < beyond)
|
||||
*
|
||||
* Print a Blum generator random value over interval [min,max).
|
||||
* Print a Blum generator random value over interval [min,beyond).
|
||||
*
|
||||
* random()
|
||||
*
|
||||
@@ -2904,17 +2904,17 @@ zrandom(long cnt, ZVALUE *res)
|
||||
|
||||
|
||||
/*
|
||||
* zrandomrange - generate a Blum-Blum-Shub random value in [low, high)
|
||||
* zrandomrange - generate a Blum-Blum-Shub random value in [low, beyond)
|
||||
*
|
||||
* given:
|
||||
* low - low value of range
|
||||
* high - beyond end of range
|
||||
* beyond - beyond end of range
|
||||
* res - where to place the random bits as ZVALUE
|
||||
*/
|
||||
void
|
||||
zrandomrange(CONST ZVALUE low, CONST ZVALUE high, ZVALUE *res)
|
||||
zrandomrange(CONST ZVALUE low, CONST ZVALUE beyond, ZVALUE *res)
|
||||
{
|
||||
ZVALUE range; /* high-low */
|
||||
ZVALUE range; /* beyond-low */
|
||||
ZVALUE rval; /* random value [0, 2^bitlen) */
|
||||
ZVALUE rangem1; /* range - 1 */
|
||||
long bitlen; /* smallest power of 2 >= diff */
|
||||
@@ -2922,15 +2922,15 @@ zrandomrange(CONST ZVALUE low, CONST ZVALUE high, ZVALUE *res)
|
||||
/*
|
||||
* firewall
|
||||
*/
|
||||
if (zrel(low, high) >= 0) {
|
||||
math_error("srand low range >= high range");
|
||||
if (zrel(low, beyond) >= 0) {
|
||||
math_error("srand low range >= beyond range");
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
|
||||
/*
|
||||
* determine the size of the random number needed
|
||||
*/
|
||||
zsub(high, low, &range);
|
||||
zsub(beyond, low, &range);
|
||||
if (zisone(range)) {
|
||||
zfree_random(range);
|
||||
zcopy(low, res);
|
||||
@@ -2959,7 +2959,7 @@ zrandomrange(CONST ZVALUE low, CONST ZVALUE high, ZVALUE *res)
|
||||
|
||||
/*
|
||||
* add in low value to produce the range [0+low, diff+low)
|
||||
* which is the range [low, high)
|
||||
* which is the range [low, beyond)
|
||||
*/
|
||||
zadd(rval, low, res);
|
||||
zfree_random(rval);
|
||||
|
Reference in New Issue
Block a user