* acconfig.h: add HAVE_ARRAYS.
authorGary Houston <ghouston@arglist.com>
Fri, 19 Nov 1999 18:16:19 +0000 (18:16 +0000)
committerGary Houston <ghouston@arglist.com>
Fri, 19 Nov 1999 18:16:19 +0000 (18:16 +0000)
commitafe5177e7fb697041dbe8504ccb64c7df1afe2c8
tree8b0f0a5c87bc7142f0b1da155b047bd1ae6208fd
parent5c11cc9deb3962c0a7b4603327b9414579efe2bf
* acconfig.h: add HAVE_ARRAYS.

* configure.in: add --disable-arrays option, probably temporary.

* the following changes allow guile to be built with the array
"module" omitted.  some of this stuff is just tc7 type support,
which wouldn't be needed if uniform array types were converted
to smobs.

* tag.c (scm_utag_bvect ... scm_utag_cvect): don't define unless
HAVE_ARRAYS.
(scm_tag): don't check array types unless HAVE_ARRAYS.

* sort.c (scm_restricted_vector_sort_x, scm_sorted_p):
remove the unused array types.
* (scm_stable_sort, scm_sort): don't support vectors if not
HAVE_ARRAYS.  a bit excessive.

* random.c (vector_scale, vector_sum_squares,
scm_random_solid_sphere_x, scm_random_hollow_sphere_x,
scm_random_normal_vector_x): don't define unless HAVE_ARRAYS.

* gh_data.c (makvect, gh_chars2byvect, gh_shorts2svect,
gh_longs2ivect, gh_ulongs2uvect, gh_floats2fvect, gh_doubles2dvect,
gh_uniform_vector_length, gh_uniform_vector_ref):
don't define unless HAVE_ARRAYS.
(gh_scm2chars, gh_scm2shorts, gh_scm2longs, gh_scm2floats,
gh_scm2doubles):
don't check vector types if not HAVE_ARRAYS.

* eq.c (scm_equal_p), eval.c (SCM_CEVAL), print.c (scm_iprin1),
gc.c (scm_gc_mark, scm_gc_sweep), objects.c (scm_class_of):
don't support the array types unless HAVE_ARRAYS is defined.

* tags.h: make nine tc7 types conditional on HAVE_ARRAYS.

* read.c (scm_lreadr): don't check for #* unless HAVE_ARRAYS is
defined (this should use read-hash-extend).

* ramap.c, unif.c: don't check whether ARRAYS is defined.

* vectors.c (scm_vector_set_length_x): moved here from unif.c.  call
scm_uniform_element_size if HAVE_ARRAYS.
vectors.h: prototype too.

* unif.c (scm_uniform_element_size): new procedure.

* init.c (scm_boot_guile_1): don't call scm_init_ramap or
scm_init_unif unless HAVE_ARRAYS is defined.

* __scm.h: don't define ARRAYS.

* Makefile.am (EXTRA_libguile_la_SOURCES): unif.c and ramap.c
moved here from libguile_la_SOURCES.

* Makefile.am (ice9_sources): add arrays.scm.

* boot-9.scm: load arrays.scm if 'array is provided.

* arrays.scm: new file with stuff from boot-9.scm.
28 files changed:
ChangeLog
NEWS
acconfig.h
configure.in
ice-9/ChangeLog
ice-9/Makefile.am
ice-9/boot-9.scm
libguile/ChangeLog
libguile/Makefile.am
libguile/__scm.h
libguile/eq.c
libguile/eval.c
libguile/gc.c
libguile/gh.h
libguile/gh_data.c
libguile/init.c
libguile/objects.c
libguile/print.c
libguile/ramap.c
libguile/random.c
libguile/read.c
libguile/sort.c
libguile/tag.c
libguile/tags.h
libguile/unif.c
libguile/unif.h
libguile/vectors.c
libguile/vectors.h