| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile (DEPGEN): New macro variable.
(OPT_OBJS, DBG_OBJS): Define with := assignment.
(OBJS): New variable.
(dbg/%.o, opt/*.o): Use -MMD and -MT options of gcc to generate
dependencies. Also use DEPGEN macro to rewrite each dependency
makefile's rule into a DEP_ variable assignment.
(DEP_INSTANTIATE): New macro variable.
(include dep.mk): Removed, replaced by eval hack that
includes all the .d files and instantiates the rule from
the DEP_ variable in each one.
(opt/lex.yy.o, dbg/lex.yy.o): We need to hard code the dependency
of these on y.tab.h, to force that header to generate.
(DEP_opt/lex.yy.o, DEP_dbg/lex.yy.o): New variables, related
to above.
(depend): Target removed.
* dep.mk: File removed.
* depend.txr: File removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
variables to remove the dependencies from the output.
(ABBREV2): No longer needed, removed.
(dbg/%.o, opt/%.o, %.o): Just use ABBREV instead of ABBREV2; it does
the right thing. Dependency of objects on config.make removed.
* dep.mk: Regenerated. Now provides variable assignments
in addition to rules, and each object is made dependent
on config.make.
* depend.txr: Adjusted to generate dep.mk in new format.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Optimized object files are under opt/ and debug
object files are under dbg/. The debug txr executable
is called txr-dbg.
* Makefile (CFLAGS): $(OPT_FLAGS) is omitted from CFLAGS,
so we can expand it where appropriate.
(ADD_CONF, EACH_CONF): New variables, used as macros.
(DBG_OBJS, OPT_OBJS): New variables.
(dbg/%.o, opt/%.o): New rules.
(all): New target.
($(PROG)-dbg): New target.
(clean): Remove the object directories with rm -rf.
Remove $(PROG)-dbg.
(depend): Pass $(OPT_OBJS) and $(DBG_OBJS) to depend.txr
Also: various target-specific assignments for object files
had to be split for rel and dbg.
* depend.txr: Updated to handle dbg/ or rel/ prefix on
object file paths.
* dep.mk: Regenerated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bignums, based on Michael Fromberger's MPI library, are integrated
into the input syntax, stream output, equality testing, the garbage
collector, and hashing.
The plus operation handles transitions between fixnums and bignums.
Other operations are still fixnum only.
* Makefile (CFLAGS): Add mpi directory to include file search.
(OBJS): Include new arith.o module and all of MPI_OBJS.
(MPI_OBJS, MPI_OBJS_BASE): New variables.
* configure (mpi_version, have_quilt, have_patch): New variables.
Script detects whether patch and quilt are available. Unpacks
mpi library, applies patches. Detects 128 bit integer type.
Records more information in config.h about the sizes of types.
* dep.mk: Updated.
* depend.txr: Make work with paths that have directory components.
* eval.c (eval_init): Rename of nump to fixnump.
* gc.c (finalize, mark_obj): Handle BGNUM case.
* hash.c: (hash_c_str): Changed to return unsigned long
instead of long.
(equal_hash): Handle BGNUM case.
(eql_hash): Handle bignums with equal-hash, but other
objects as eq.
* lib.c (num_s): Variable renamed to fixnum_s.
(bignum_s): New symbol variable.
(code2type): Follow rename of num_s. Handle BGNUM case.
(typeof): Follow rename of num_s.
(eql): Handle bignums using equal, and other types using eq.
(equal): Handle BGNUM case.
(chk_calloc): New function.
(c_num): Wording change in error message: is not a fixnum.
(nump): Renamed to fixnump.
(bignump): New function.
(plus): Function removed, reimplemented in arith.c.
(int_str): Handle integers which are too large for wcstol
using bignum conversion. Base 0 is no longer passed to
wcstol but converted to 10 because the special semantics
for 0 would be inconsistent for bignums.
(obj_init): Follow rename of num_s. Initialize bignum_s.
|
|
|
|
| |
files that are not in the project.
|
|
|
|
|
|
|
| |
* depend.txr: Add "config.h" to list of headers that are not
prefixed with $(top_srcdir).
* dep.mk: Regenerated.
|
| |
|
|
|