| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
* RELNOTES: Updated.
* configure, txr.1: Bumped version and date.
* share/txr/stdlib/ver.tl: Likewise.
* tl.vim, txr.vim: Regenerated.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure: Added check for geteuid and related functions.
* sysif.c (getuid_wrap, geteuid_wrap, getgid_wrap, getegid_wrap,
getgroups_wrap, setuid_wrap, seteuid_wrap, setgid_wrap, setegid_wrap):
New static functions.
(sysif_init): Register intrinsics getuid, geteuid, getgid,
getegid, getgroups, setuid, seteuid, setgid, setegid.
* txr.1: Documented new functions.
|
|
|
|
|
|
|
|
|
| |
* Makefile (dbg/%.o): Pass $(DBG_ONLY_FLAGS) to COMPILE_C_WITH_DEPS
recipe macro.
* configure (debug_only_flags): New macro.
(gen_config_make): Generate DBG_ONLY_FLAGS.
Add debug-only-flags to usage help text.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile (PLATFORM_FLAGS): Rename to PLATFORM_CFLAGS.
(LDFLAGS): New variable. Includes -lm and PLATFORM_CFLAGS.
(LINK_PROG): Use $(LDFLAGS) instead of -lm.
* configure (platform_flags): Renamed to platform_cflags.
(platform_ldflags): New variable.
(gen_config_make): Rename PLATFORM_CFLAGS and generate
PLATFORM_LDFLAGS.
Usage help text updated.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This means short, relative names are used for C source files when
compiling in the source directory.
* Makefile (CFLAGS): Exclude -iquote $(top_srcdir) arguments
if top_srcdir is blank. Remove slash after $(top_srcdir),
since the variable includes it now, if its value is not blank.
(SRCS, ABBREV, opt/%-win.o, lex.yy.c, y.tab.c, install): Remove slash
after $(top_srcdir).
(dbg/%.o, opt/%.o): Only include rules for depending
on $(top_srcdir)%.c prerequisite if top_srcdir is not blank.
In the blank case, the rules are redundant.
* configure: if configuring in the root of the source tree,
establish top_srcdir as blank, otherwise establish is as
an absolute path with a trailing slash.
|
|
|
|
|
|
|
|
| |
* configure (have_timegm, tm_gmtoff, tm_tmzone): Unused
variables removed.
(SIZEOF_LONG_LONG_T): Reference to nonexistent variable fixed.
Also, fixed two instances of arithmetic expressions using
unnecessary $ prefixes on variables.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure: Check for the poll function and set
HAVE_POLL accordingly in config.h.
* stream.h (fd_k): External declaration added.
* sysif.c (poll_wrap): New function.
(sysif_init): Registered poll-in, poll-out, poll-err,
poll-pri, poll-rdhup, poll-nval, poll-rdband, poll-wrband
variables and poll function.
* txr.1: Documented poll.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile (CFLAGS, MPI_OBJS): Refer to mpi directory without version
number.
(repatch): Target removed.
(distclean): Don't try to remove old unpacked tarball mpi directory.
* configure (mpi_version, have_quilt, have_patch): Variables removed.
(gen_config_make): Do not generate mpi_version make variable.
Do not test for quilt or patch. No longer extract MPI tarball or
try to apply patches.
* mpi-1.8.6.tar.gz: File removed.
* mpi-patches: Directory and all files under it removed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* configure: Check for pipe.
* sysif.c (exec_wrap, pipe_wrap): New static functions.
(sysif_init): Register exec and pipe intrinsics.
* txr.1: Documented exec and pipe.
* tl.vim, txr.vim: Regenerated.
|
|
|
|
|
|
|
|
|
|
|
| |
* configure: Detect chmod.
* sysif.c (chmod_wrap): New function.
(sysif_init): Register chmod intrinsic.
* txr.1: Documented.
* tl.vim, txr.vim: Regenerated.
|
|
|
|
|
|
| |
* configure (have_git): Don't set this variable if
the TXR repository is missing, even if git is installed.
I.e. have_git means have have the tool and the repo.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile (EXTRA_OBJS-y): New variable.
(WINDRES): New recipe.
* configure: Check for presence of windres,
and generate add_win_res variable in config.make.
* win/txr.xcf: New file: GIMP project for icon.
* win/txr.ico: New file: icon with three sizes generated
from GIMP project.
* win/txr.rc: New file.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
aligned, affecting OS X port.
* configure: Detect a SIZEOF_WCHAR_T when detecting integer
type that will hold a pointer. In the lit_align test,
if we are on Apple Mac OSX, use a lit_align of 2,
so the logic kicks in for padding literals and handling
misalignment.
* lib.h (litptr): Add a case for LIT_ALIGN < 4 and
SIZEOF_WCHAR_T == 4. In this case we do the arithmetic
on the pointer using short *, and then convert to
wchar_t.
* HACKING: New section 2.4.3 about new wchar_t hack.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(glob_wrap, glob_init): New functions.
(errfunc_thunk): New static function.
* glob.h: New file.
* txr.c (main): call glob_init if HAVE_GLOB is defined.
* configure (have_glob): New variable.
(gen_config_make): Add have_glob to config/config.make.
Detect glob function and set have_glob, and add
HAVE_GLOB to config/config.h.
* Makefile (OBJS): Include glob.h if have_glob is "y".
* genvim.txr: Scan glob.c for functions and variables also.
* txr.1: Documented glob and glob-related variables.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
then that header is used when building in a separate directory,
instead of the config.h generated in that directory.
To fix this, we move config.h into a config/ subdirectory.
The $(top_srcdir)/config is not in the include search path
when buiding in a separate build directory.
While we are at it, let's move all the configure materials
generated by the configure script into config/.
* Makefile: include config/config.make at the top. Removing the
rule which asserts the existence of configuration based on
the presence of config.make.
(CFLAGS): Add $(conf_dir) to include search path with -iquote.
(notconfigured): New conditionally-defined target for producing
the error message when the build system is not configured.
(NL, DEP): New variables.
($(OBJS)): Make dependent on config/config.make and config/config.h
with help of DEP macro.
(opt/lex.yy.o, dbg/lex.yy.o): Express dependency using DEP.
(y.tab.h): Split off as a dependent on y.tab.c rather than
a co-target in the rule. The rule has a body to handle
the situation when y.tab.h is missing for some reason, but
y.tab.c already exists (and so won't be re-made, and so
y.tab.h won't be remade).
* configure: Require GNU Make 3.81 rather than 3.80.
(conf_dir): New variable.
(config_h, config_make, config_log): New variables. These are used in
place of config.h, config.make and config.log. Add conf_dir to
config.make variable.
|
| |
|
|
|
|
|
| |
* Makefile (SRCS): Only set if git is available.
(enforce): Fail if we don't have git.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile (TESTS_OUT): We don't need to refer to top_srcdir.
Add the tst/ prefix to .out paths. Find must be used with -H
because tests is a symlink for out-of-tree build directories.
(tests/*): All target-specific assignments are moved to tst/tests/*
paths, and top_srcdir is no longer used in the right hand side
values.
(%.out): Becomes (tst/%.out).
(%.ok): need to compute .expected name from .out differently to
account for tst/ prefix.
(tests.clean): Just remove the tst directory.
(install-tests): Remove the tst directory first so test commands
are forced to run (though it is a dry run).
We no longer need to switch to top_srcdir to find the .txr
files, nor do we have to filter out .out files from the tests
tree. We no longer have to switch to top_srcdir in the recursive
make. Also, show the installation of tests using ABBREV3.
* configure: When configuring in a separate directory, symlink
the tests directory back to the source tree. Since there
are now three things being symlinked, rewrote that as a loop.
The recommendation to build in a separate directory is just a note, not
a warning.
|
|
|
|
|
|
|
|
|
| |
* Makefile (PROG): Variable removed, now set in config.make.
(all): Target now depends on $(BUILD_TARGETS) variable, set
in config.make.
* configure (debug_also) New variable.
(gen_config_make): Generate PROG and BUILD_TARGETS variables.
|
|
|
|
|
| |
symbolically linked. Without this, tests which require txr to have
access to its library do not work.
|
|
|
|
|
|
|
|
|
|
|
|
| |
only causes build issues on some systems where it is not provided
in the standard location, or is not cross-compiled properly.
* Makefile (LEXLIB): Reference to variable removed.
* configure (lexlib): Variable removed.
(LEXLIB): config.make variable not generated.
* parser.l (yywrap): Provide this trivial function as inline.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to C++ style casts when compiling as C++.
* lib.h (strip_qual, convert, coerce): New casting macros.
(TAG_MASK, tag, type, wli_noex, auto_str, static_str,
litptr, num_fast, chr, lit_noex, nil, nao): Use cast macros.
* arith.c (mul, isqrt_fixnum, bit): Use cast macros.
* configure (INT_PTR_MAX): Define using cast macro.
* debug.c (debug_init): Use cast macro.
* eval.c (do_eval, expand_macro, reg_op, reg_mac, eval_init):
Use cast macros.
* filter.c (filter_init): Use cast macro.
* gc.c (more, mark_obj, in_heap, mark, sweep_one, unmark): Use
cast macros.
* hash.c (hash_double, equal_hash, eql_hash, hash_equal_op,
hash_hash_op, hash_print_op, hash_mark, make_hash, make_similar_hash,
copy_hash, gethash_c, gethash, gethash_f, gethash_n, remhash,
hash_count, get_hash_userdata, set_hash_userdata, hash_iter_destroy,
hash_iter_mark, hash_begin, hash_uni, hash_diff, hash_isec): Use
cast macros.
* lib.c (code2type, chk_malloc, chk_malloc_gc_more, chk_calloc,
chk_realloc, chk_strdup, num, c_num, string, mkstring, mkustring,
upcase_str, downcase_str, string_extend, sub_str, cat_str, trim_str,
c_chr, vector, vec_set_length, copy_vec, sub_vec, cat_vec,
cobj_print_op, obj_init): Likewise.
* match.c (do_match_line, hv_trampoline, match_files, dir_tables_init):
Likewise.
* parser.l (grammar): Likewise.
* parser.y (parse): Likewise.
* rand.c (make_state, make_random_state, random_fixnum, random):
Likewise.
* regex.c (CHAR_SET_L2_LO, CHAR_SET_L2_HI, CHAR_SET_L1_LO,
CHAR_SET_L1_HI, CHAR_SET_L0_LO, CHAR_SET_L0_HI, L0_full, L0_fill_range,
L1_full, L1_fill_range, L1_contains, L1_free, L2_full, L2_fill_range,
L2_contains, L2_free, L3_fill_range, L3_contains, L3_free,
char_set_create, char_set_cobj_destroy, nfa_state_accept,
nfa_state_empty, nfa_state_single, nfa_state_wild, nfa_state_set,
|
|
|
|
|
|
|
|
|
|
|
|
| |
* RELNOTES: Updated.
* configure, txr.1: Bumped version.
* share/txr/stdlib/ver.txr: Likewise
* Makefile: Improve binary packaging rules.
* regex.c: #include <stdarg.h> added.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* configure: Add test for getppid.
* eval.c (getppid_wrap, eval_init): use HAVE_GETPPID
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added check for setitimer/getitimer which also
checks for <sys/time.h>.
* signal.c (sig_init): Register itimer-real, itimer-virtual,
itimer-prof variables and getitimer and setitimer functions.
(tv_to_usec): New static function.
(getitimer_wrap, setitimer_wrap): New functions.
* signal.h (getitimer_wrap, setitimer_wrap): Declared.
* txr.1: Documented itimers.
|
|
|
|
|
|
|
|
| |
debug.h, eval.c, eval.h, filter.c, filter.h, gc.c, gc.h, hash.c,
hash.h, lib.c, lib.h, match.c, match.h, parser.h, parser.l, parser.y,
rand.c, rand.h, regex.c, regex.h, signal.c, signal.h, stream.c,
stream.h, syslog.c, syslog.h, txr.c, txr.h, unwind.c, unwind.h,
utf8.c, utf8.h: Synchronize license header with LICENSE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
executable, whether this is due to being required to use C99.
For instance, the Solaris environment requires compilation
using the C99 dialect if _XOPEN_SOURCE is set to 600 or higher.
* debug.c: When compiling as C99, we have to obey the special
C99 conventions for instantiating inline functions.
* hash.c: Likewise.
* lib.c: Likewise.
* parser.y: Likewise.
* unwind.c: Likewise.
|
|
|
|
|
|
|
|
| |
* configure, txr.1: Bumped version.
* share/txr/stdlib/ver.txr: Likewise
* arith.c (log2): Change to static.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
library so we can test for math functions.
* arith.c (log2_init): New static function.
(log2, logtwo): New functions.
(l2): New static variable.
(arith_init): Call log2_init.
* configure (lang_flags): Switching _XOPEN_SOURCE
from 500 to 600 to reveal log2.
Adding test for log2.
* eval.c (eval_init): Register log2 intrinsic.
* lib.h (logtwo): Declared.
* txr.1: Documented log2.
|
|
|
|
|
|
|
|
| |
* RELNOTES: Updated.
* configure, txr.1: Bumped version.
* share/txr/stdlib/ver.txr: Likewise
|
| |
|
|
|
|
| |
* configure: set up EXE variable in config.make, not exe.
|