<short summary of the patch>
authorCamm Maguire <camm@debian.org>
Sat, 3 May 2025 13:21:20 +0000 (09:21 -0400)
committerCamm Maguire <camm@debian.org>
Sat, 3 May 2025 13:21:20 +0000 (09:21 -0400)
TODO: Put a short summary on the line above and replace this paragraph
with a longer explanation of this change. Complete the meta-information
with other relevant fields (see below for details). To make it easier, the
information below has been extracted from the changelog. Adjust it or drop
it.

gcl27 (2.7.1-4) unstable; urgency=medium

  * Version_2_7_2ore3

Gbp-Pq: Name Version_2_7_2ore3

20 files changed:
Makefile.am
Makefile.in
bin/gcl.in
cmpnew/gcl_cmpcall.lsp
cmpnew/gcl_cmpeval.lsp
cmpnew/gcl_cmpflet.lsp
cmpnew/gcl_cmptop.lsp
cmpnew/gcl_cmptype.lsp
configure
configure.ac
git.tag
h/386-macosx.h
h/compprotos.h
h/gclincl.h.in
h/protoize.h
info/internal.texi
lsp/gcl_info.lsp
o/format.c
o/main.c
unixport/init_raw.lsp.in

index d819410af749863aef308e7778a4b39909f4b9a1..53d7d763b70d7e0ae1500ac8efc80e56149d8814 100644 (file)
@@ -23,7 +23,7 @@ gcltkdocdir=$(docdir)/gcl-tk
 
 # primaries
 
-noinst_PROGRAMS=bin/dpp o/grab_defs
+noinst_PROGRAMS=bin/dpp$(EXEEXT) o/grab_defs$(EXEEXT)
 noinst_LIBRARIES=lib/libbase_gcl.a
 
 my_unixport_PROGRAMS=unixport/saved_gcl unixport/saved_ansi_gcl
@@ -31,7 +31,7 @@ my_unixport_LIBRARIES=unixport/libgcl.a unixport/libansi_gcl.a
 bin_SCRIPTS=bin/gcl
 check_SCRIPTS=sb_ansi-tests/test_results sb_bench/timing_results
 info_TEXINFOS=info/gcl.texi info/gcl-si.texi
-my_unixport_DATA=$(addprefix unixport/,init_raw.lsp gcl.script libboot.so \
+my_unixport_DATA=$(LIBBOOTSO) $(addprefix unixport/,init_raw.lsp gcl.script \
                                       gcl_cmpnopt_gcl.lsp gcl_cmpnopt_ansi_gcl.lsp)
 my_h_DATA=h/cmpinclude.h
 my_cmpnew_DATA=sb_cmpnew/gcl_collectfn.o cmpnew/gcl_lfun_list.lsp cmpnew/gcl_cmpopt.lsp
@@ -48,6 +48,12 @@ dist_noinst_DATA=
 
 # conditionals
 
+if AMM_LIBBOOT
+LIBBOOTSO=unixport/libboot.so
+else
+BOOT_C=o/boot.c
+endif
+
 if AMM_GPROF
 
 LIBGPROF=lib/libgprof.a
@@ -165,7 +171,7 @@ endif
 BUILT_SOURCES=$(BUILT_H) $(BUILT_C)
 CLEANFILES=$(BUILT_SOURCES) $(INI_FILES) o/boot.ini
 
-lib_libbase_gcl_a_SOURCES=$(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H)
+lib_libbase_gcl_a_SOURCES=$(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H) $(BOOT_C)
 nodist_lib_libbase_gcl_a_SOURCES=$(BUILT_C)
 lib_libgprof_a_SOURCES=o/gprof.c
 lib_libgprof_a_CFLAGS=$(AM_CFLAGS) -fno-omit-frame-pointer -pg
@@ -237,7 +243,7 @@ $(addprefix unixport/saved_,gcl ansi_gcl gcl_gprof ansi_gcl_gprof):\
 unixport/saved_%: unixport/raw_% # rebuild these only when out of date
 
 unixport/saved_%: | unixport/raw_% unixport/gcl_cmpnopt_%.lsp \
-                   unixport/libboot.so unixport/init_raw.lsp
+                   $(LIBBOOTSO) unixport/init_raw.lsp
        rm -rf sb_$* # FIXME sandbox ugliness for parallel builds
        mkdir sb_$*
        cd sb_$* && \
@@ -245,14 +251,17 @@ unixport/saved_%: | unixport/raw_% unixport/gcl_cmpnopt_%.lsp \
                ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \
                mkdir h && \
                ln -snf ../../h/cmpinclude.h h/ && \
-               echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \
+               touch prof_init.lsp && \
+               ( ! echo $@ | grep -q _gprof$$ || echo "(setq compiler::*default-prof-p* t)" >prof_init.lsp ) && \
+               echo "(system:save-system \"../$@\")" | \
+               cat ../unixport/init_raw.lsp prof_init.lsp - | \
                        GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \
                                ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/  && \
                rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue
        rm -rf sb_$*
 
-unixport/raw_%: unixport/lib%.a
-       $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
+unixport/raw_%: unixport/lib%.a $(FF) $(LF)
+       $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $(FF) $< $(LF) $(LIBS) #FIXME relro
 
 unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\
 unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp
@@ -464,15 +473,15 @@ o/boot.h: %.h: %.ini
        cat $< >> $@
        echo '}' >> $@
 
-CLEANFILES+=unixport/libboot.so
-unixport/libboot.so: o/boot.c o/boot.h
+CLEANFILES+=$(LIBBOOTSO)
+$(LIBBOOTSO): o/boot.c o/boot.h
        $(CC) $(AM_CPPFLAGS) -Io $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \
                -fPIC -shared -Wl,-undefined -Wl,dynamic_lookup $< -o $@
 
 o/boot.ini: CPPFLAGS += -DNO_BOOT_H
 # parallel builds can only have one target accessing an intermediate file
 # solved with BUILT_SOURCES
-o/%.ini:  o/%.c | o/grab_defs
+o/%.ini:  o/%.c | o/grab_defs$(EXEEXT)
        @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
        @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
        @rm -f new_$(@F)
@@ -540,8 +549,8 @@ sb_cmpnew/gcl_collectfn.o: cmpnew/gcl_collectfn.lsp | unixport/saved_gcl
        [ -d $(@D) ] || mkdir -p $(@D)
        $(word 1,$|) -compile $< -o $@
 
-%.c: %.d | bin/dpp
-       bin/dpp $< $@
+%.c: %.d | bin/dpp$(EXEEXT)
+       $| $< $@
 
 gcl-tk/demos gcl-tk $(MY_DIRS): % :
        [ -d $@ ] || mkdir -p $@
index 3bd688ce2e138561e76a086bbe8fced3125fe727..41a7208aba1d2a0026d044cee76c057ba8b2259b 100644 (file)
@@ -93,7 +93,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-noinst_PROGRAMS = bin/dpp$(EXEEXT) o/grab_defs$(EXEEXT)
 my_unixport_PROGRAMS = unixport/saved_gcl$(EXEEXT) \
        unixport/saved_ansi_gcl$(EXEEXT) $(am__EXEEXT_1)
 @AMM_GPROF_TRUE@am__append_1 = $(LIBGPROF) lib/libbase_gcl_gprof.a
@@ -176,6 +175,56 @@ am__v_AR_1 =
 lib_libbase_gcl_a_AR = $(AR) $(ARFLAGS)
 lib_libbase_gcl_a_RANLIB = $(RANLIB)
 lib_libbase_gcl_a_LIBADD =
+am__lib_libbase_gcl_a_SOURCES_DIST = o/typespec.c o/alloc.c o/gbc.c \
+       o/bitop.c o/main.c o/eval.c o/macros.c o/lex.c o/bds.c \
+       o/frame.c o/predicate.c o/reference.c o/assignment.c o/bind.c \
+       o/let.c o/conditional.c o/block.c o/iteration.c o/prog.c \
+       o/multival.c o/catch.c o/cfun.c o/cmpaux.c o/big.c o/number.c \
+       o/num_pred.c o/num_comp.c o/num_arith.c o/num_sfun.c \
+       o/num_co.c o/num_log.c o/num_rand.c o/earith.c o/array.c \
+       o/regexpr.c o/structure.c o/toplevel.c o/backq.c o/format.c \
+       o/unixfsys.c o/unixfasl.c o/error.c o/unixtime.c o/unixsys.c \
+       o/unixsave.c o/funlink.c o/fat_string.c o/run_process.c \
+       o/nfunlink.c o/usig.c o/usig2.c o/utils.c o/makefun.c \
+       o/sockets.c o/gmp_wrappers.c o/clxsocket.c o/nsocket.c \
+       o/prelink.c o/sfasl.c o/msbrk.c o/bcmp.c o/bcopy.c o/bzero.c \
+       o/user_init.c o/user_match.c o/mapfun.c h/compbas2.h \
+       h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h \
+       h/eval.h h/fixnum.h h/frame.h h/funlink.h h/globals.h \
+       h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h \
+       h/lu.h h/make-init.h h/mp.h h/notcomp.h h/num_include.h \
+       h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h \
+       h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \
+       h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \
+       o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \
+       h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \
+       h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \
+       h/cmponly_last.h h/elf32_armhf_reloc.h \
+       h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \
+       h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \
+       h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \
+       h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
+       h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \
+       h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \
+       h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \
+       h/elf64_alpha_reloc.h h/elf64_alpha_reloc_special.h \
+       h/elf64_i386_reloc.h h/elf64_i386_reloc_special.h \
+       h/elf64_loongarch64_reloc.h \
+       h/elf64_loongarch64_reloc_special.h h/elf64_mips_reloc.h \
+       h/elf64_mips_reloc_special.h h/elf64_ppcle_reloc.h \
+       h/elf64_ppcle_reloc_special.h h/elf64_ppc_reloc.h \
+       h/elf64_ppc_reloc_special.h h/elf64_riscv64_reloc.h \
+       h/elf64_s390_reloc.h h/elf64_sparc_reloc.h \
+       h/elf64_sparc_reloc_special.h h/mach32_i386_reloc.h \
+       h/mach32_ppc_reloc.h h/mach64_i386_reloc.h h/sh4-linux.h \
+       h/amd64-linux.h h/amd64-kfreebsd.h h/386-linux.h \
+       h/riscv64-linux.h h/386-kfreebsd.h h/amd64-gnu.h h/386-gnu.h \
+       h/m68k-linux.h h/alpha-linux.h h/mips-linux.h h/mipsel-linux.h \
+       h/sparc-linux.h h/aarch64-linux.h h/armhf-linux.h \
+       h/arm-linux.h h/s390-linux.h h/ia64-linux.h h/hppa-linux.h \
+       h/loongarch64-linux.h h/powerpc-linux.h h/powerpc-macosx.h \
+       h/386-macosx.h h/mingw.h h/gnuwin95.h h/FreeBSD.h h/solaris.h \
+       h/solaris-i386.h o/boot.c
 am__dirstamp = $(am__leading_dot)dirstamp
 am__objects_1 = o/typespec.$(OBJEXT) o/alloc.$(OBJEXT) o/gbc.$(OBJEXT) \
        o/bitop.$(OBJEXT) o/main.$(OBJEXT) o/eval.$(OBJEXT) \
@@ -202,20 +251,71 @@ am__objects_1 = o/typespec.$(OBJEXT) o/alloc.$(OBJEXT) o/gbc.$(OBJEXT) \
        o/bzero.$(OBJEXT) o/user_init.$(OBJEXT) o/user_match.$(OBJEXT) \
        o/mapfun.$(OBJEXT)
 am__objects_2 =
+@AMM_LIBBOOT_FALSE@am__objects_3 = o/boot.$(OBJEXT)
 am_lib_libbase_gcl_a_OBJECTS = $(am__objects_1) $(am__objects_2) \
-       $(am__objects_2) $(am__objects_2)
-am__objects_3 = o/character.$(OBJEXT) o/file.$(OBJEXT) \
+       $(am__objects_2) $(am__objects_2) $(am__objects_3)
+am__objects_4 = o/character.$(OBJEXT) o/file.$(OBJEXT) \
        o/gcl_readline.$(OBJEXT) o/hash.$(OBJEXT) o/list.$(OBJEXT) \
        o/package.$(OBJEXT) o/pathname.$(OBJEXT) o/print.$(OBJEXT) \
        o/read.$(OBJEXT) o/sequence.$(OBJEXT) o/string.$(OBJEXT) \
        o/symbol.$(OBJEXT) o/new_init.$(OBJEXT)
-nodist_lib_libbase_gcl_a_OBJECTS = $(am__objects_3)
+nodist_lib_libbase_gcl_a_OBJECTS = $(am__objects_4)
 lib_libbase_gcl_a_OBJECTS = $(am_lib_libbase_gcl_a_OBJECTS) \
        $(nodist_lib_libbase_gcl_a_OBJECTS)
 lib_libbase_gcl_gprof_a_AR = $(AR) $(ARFLAGS)
 lib_libbase_gcl_gprof_a_RANLIB = $(RANLIB)
 lib_libbase_gcl_gprof_a_LIBADD =
-am__objects_4 = o/lib_libbase_gcl_gprof_a-typespec.$(OBJEXT) \
+am__lib_libbase_gcl_gprof_a_SOURCES_DIST = o/typespec.c o/alloc.c \
+       o/gbc.c o/bitop.c o/main.c o/eval.c o/macros.c o/lex.c o/bds.c \
+       o/frame.c o/predicate.c o/reference.c o/assignment.c o/bind.c \
+       o/let.c o/conditional.c o/block.c o/iteration.c o/prog.c \
+       o/multival.c o/catch.c o/cfun.c o/cmpaux.c o/big.c o/number.c \
+       o/num_pred.c o/num_comp.c o/num_arith.c o/num_sfun.c \
+       o/num_co.c o/num_log.c o/num_rand.c o/earith.c o/array.c \
+       o/regexpr.c o/structure.c o/toplevel.c o/backq.c o/format.c \
+       o/unixfsys.c o/unixfasl.c o/error.c o/unixtime.c o/unixsys.c \
+       o/unixsave.c o/funlink.c o/fat_string.c o/run_process.c \
+       o/nfunlink.c o/usig.c o/usig2.c o/utils.c o/makefun.c \
+       o/sockets.c o/gmp_wrappers.c o/clxsocket.c o/nsocket.c \
+       o/prelink.c o/sfasl.c o/msbrk.c o/bcmp.c o/bcopy.c o/bzero.c \
+       o/user_init.c o/user_match.c o/mapfun.c h/compbas2.h \
+       h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h \
+       h/eval.h h/fixnum.h h/frame.h h/funlink.h h/globals.h \
+       h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h \
+       h/lu.h h/make-init.h h/mp.h h/notcomp.h h/num_include.h \
+       h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h \
+       h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \
+       h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \
+       o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \
+       h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \
+       h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \
+       h/cmponly_last.h h/elf32_armhf_reloc.h \
+       h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \
+       h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \
+       h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \
+       h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
+       h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \
+       h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \
+       h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \
+       h/elf64_alpha_reloc.h h/elf64_alpha_reloc_special.h \
+       h/elf64_i386_reloc.h h/elf64_i386_reloc_special.h \
+       h/elf64_loongarch64_reloc.h \
+       h/elf64_loongarch64_reloc_special.h h/elf64_mips_reloc.h \
+       h/elf64_mips_reloc_special.h h/elf64_ppcle_reloc.h \
+       h/elf64_ppcle_reloc_special.h h/elf64_ppc_reloc.h \
+       h/elf64_ppc_reloc_special.h h/elf64_riscv64_reloc.h \
+       h/elf64_s390_reloc.h h/elf64_sparc_reloc.h \
+       h/elf64_sparc_reloc_special.h h/mach32_i386_reloc.h \
+       h/mach32_ppc_reloc.h h/mach64_i386_reloc.h h/sh4-linux.h \
+       h/amd64-linux.h h/amd64-kfreebsd.h h/386-linux.h \
+       h/riscv64-linux.h h/386-kfreebsd.h h/amd64-gnu.h h/386-gnu.h \
+       h/m68k-linux.h h/alpha-linux.h h/mips-linux.h h/mipsel-linux.h \
+       h/sparc-linux.h h/aarch64-linux.h h/armhf-linux.h \
+       h/arm-linux.h h/s390-linux.h h/ia64-linux.h h/hppa-linux.h \
+       h/loongarch64-linux.h h/powerpc-linux.h h/powerpc-macosx.h \
+       h/386-macosx.h h/mingw.h h/gnuwin95.h h/FreeBSD.h h/solaris.h \
+       h/solaris-i386.h o/boot.c o/gprof.c
+am__objects_5 = o/lib_libbase_gcl_gprof_a-typespec.$(OBJEXT) \
        o/lib_libbase_gcl_gprof_a-alloc.$(OBJEXT) \
        o/lib_libbase_gcl_gprof_a-gbc.$(OBJEXT) \
        o/lib_libbase_gcl_gprof_a-bitop.$(OBJEXT) \
@@ -281,11 +381,13 @@ am__objects_4 = o/lib_libbase_gcl_gprof_a-typespec.$(OBJEXT) \
        o/lib_libbase_gcl_gprof_a-user_init.$(OBJEXT) \
        o/lib_libbase_gcl_gprof_a-user_match.$(OBJEXT) \
        o/lib_libbase_gcl_gprof_a-mapfun.$(OBJEXT)
-am__objects_5 = $(am__objects_4) $(am__objects_2) $(am__objects_2) \
-       $(am__objects_2)
-am_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_5) \
+@AMM_LIBBOOT_FALSE@am__objects_6 =  \
+@AMM_LIBBOOT_FALSE@    o/lib_libbase_gcl_gprof_a-boot.$(OBJEXT)
+am__objects_7 = $(am__objects_5) $(am__objects_2) $(am__objects_2) \
+       $(am__objects_2) $(am__objects_6)
+am_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_7) \
        o/lib_libbase_gcl_gprof_a-gprof.$(OBJEXT)
-am__objects_6 = o/lib_libbase_gcl_gprof_a-character.$(OBJEXT) \
+am__objects_8 = o/lib_libbase_gcl_gprof_a-character.$(OBJEXT) \
        o/lib_libbase_gcl_gprof_a-file.$(OBJEXT) \
        o/lib_libbase_gcl_gprof_a-gcl_readline.$(OBJEXT) \
        o/lib_libbase_gcl_gprof_a-hash.$(OBJEXT) \
@@ -298,8 +400,8 @@ am__objects_6 = o/lib_libbase_gcl_gprof_a-character.$(OBJEXT) \
        o/lib_libbase_gcl_gprof_a-string.$(OBJEXT) \
        o/lib_libbase_gcl_gprof_a-symbol.$(OBJEXT) \
        o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT)
-am__objects_7 = $(am__objects_6)
-nodist_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_7)
+am__objects_9 = $(am__objects_8)
+nodist_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_9)
 lib_libbase_gcl_gprof_a_OBJECTS =  \
        $(am_lib_libbase_gcl_gprof_a_OBJECTS) \
        $(nodist_lib_libbase_gcl_gprof_a_OBJECTS)
@@ -311,20 +413,20 @@ lib_libgprof_a_OBJECTS = $(am_lib_libgprof_a_OBJECTS)
 lib_libxgcl_a_AR = $(AR) $(ARFLAGS)
 lib_libxgcl_a_RANLIB = $(RANLIB)
 lib_libxgcl_a_LIBADD =
-am__objects_8 = xgcl-2/Events.$(OBJEXT) xgcl-2/general-c.$(OBJEXT) \
+am__objects_10 = xgcl-2/Events.$(OBJEXT) xgcl-2/general-c.$(OBJEXT) \
        xgcl-2/XStruct-2.$(OBJEXT) xgcl-2/XStruct-4.$(OBJEXT) \
        xgcl-2/Xutil-2.$(OBJEXT)
-am_lib_libxgcl_a_OBJECTS = $(am__objects_8)
+am_lib_libxgcl_a_OBJECTS = $(am__objects_10)
 lib_libxgcl_a_OBJECTS = $(am_lib_libxgcl_a_OBJECTS)
 lib_libxgcl_gprof_a_AR = $(AR) $(ARFLAGS)
 lib_libxgcl_gprof_a_RANLIB = $(RANLIB)
 lib_libxgcl_gprof_a_LIBADD =
-am__objects_9 = xgcl-2/lib_libxgcl_gprof_a-Events.$(OBJEXT) \
+am__objects_11 = xgcl-2/lib_libxgcl_gprof_a-Events.$(OBJEXT) \
        xgcl-2/lib_libxgcl_gprof_a-general-c.$(OBJEXT) \
        xgcl-2/lib_libxgcl_gprof_a-XStruct-2.$(OBJEXT) \
        xgcl-2/lib_libxgcl_gprof_a-XStruct-4.$(OBJEXT) \
        xgcl-2/lib_libxgcl_gprof_a-Xutil-2.$(OBJEXT)
-am_lib_libxgcl_gprof_a_OBJECTS = $(am__objects_9)
+am_lib_libxgcl_gprof_a_OBJECTS = $(am__objects_11)
 lib_libxgcl_gprof_a_OBJECTS = $(am_lib_libxgcl_gprof_a_OBJECTS)
 unixport_libansi_gcl_a_AR = $(AR) $(ARFLAGS)
 unixport_libansi_gcl_a_RANLIB = $(RANLIB)
@@ -351,10 +453,10 @@ unixport_libgcl_gprof_a_OBJECTS =  \
 bin_dpp_SOURCES = bin/dpp.c
 bin_dpp_OBJECTS = bin/dpp.$(OBJEXT)
 bin_dpp_LDADD = $(LDADD)
-am__objects_10 = gcl-tk/gcltkaux-guis.$(OBJEXT) \
+am__objects_12 = gcl-tk/gcltkaux-guis.$(OBJEXT) \
        gcl-tk/gcltkaux-tkAppInit.$(OBJEXT) \
        gcl-tk/gcltkaux-tkMain.$(OBJEXT)
-am_gcl_tk_gcltkaux_OBJECTS = $(am__objects_10)
+am_gcl_tk_gcltkaux_OBJECTS = $(am__objects_12)
 gcl_tk_gcltkaux_OBJECTS = $(am_gcl_tk_gcltkaux_OBJECTS)
 am__DEPENDENCIES_1 =
 gcl_tk_gcltkaux_DEPENDENCIES = $(am__DEPENDENCIES_1) \
@@ -400,8 +502,8 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp.Po \
        o/$(DEPDIR)/array.Po o/$(DEPDIR)/assignment.Po \
        o/$(DEPDIR)/backq.Po o/$(DEPDIR)/bcmp.Po o/$(DEPDIR)/bcopy.Po \
        o/$(DEPDIR)/bds.Po o/$(DEPDIR)/big.Po o/$(DEPDIR)/bind.Po \
-       o/$(DEPDIR)/bitop.Po o/$(DEPDIR)/block.Po o/$(DEPDIR)/bzero.Po \
-       o/$(DEPDIR)/catch.Po o/$(DEPDIR)/cfun.Po \
+       o/$(DEPDIR)/bitop.Po o/$(DEPDIR)/block.Po o/$(DEPDIR)/boot.Po \
+       o/$(DEPDIR)/bzero.Po o/$(DEPDIR)/catch.Po o/$(DEPDIR)/cfun.Po \
        o/$(DEPDIR)/character.Po o/$(DEPDIR)/clxsocket.Po \
        o/$(DEPDIR)/cmpaux.Po o/$(DEPDIR)/conditional.Po \
        o/$(DEPDIR)/earith.Po o/$(DEPDIR)/error.Po o/$(DEPDIR)/eval.Po \
@@ -422,6 +524,7 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp.Po \
        o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po \
        o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po \
        o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po \
+       o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po \
        o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po \
        o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po \
        o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po \
@@ -554,9 +657,10 @@ SOURCES = $(lib_libbase_gcl_a_SOURCES) \
        $(unixport_saved_ansi_gcl_gprof_SOURCES) \
        $(unixport_saved_gcl_SOURCES) \
        $(unixport_saved_gcl_gprof_SOURCES)
-DIST_SOURCES = $(lib_libbase_gcl_a_SOURCES) \
-       $(lib_libbase_gcl_gprof_a_SOURCES) $(lib_libgprof_a_SOURCES) \
-       $(lib_libxgcl_a_SOURCES) $(lib_libxgcl_gprof_a_SOURCES) \
+DIST_SOURCES = $(am__lib_libbase_gcl_a_SOURCES_DIST) \
+       $(am__lib_libbase_gcl_gprof_a_SOURCES_DIST) \
+       $(lib_libgprof_a_SOURCES) $(lib_libxgcl_a_SOURCES) \
+       $(lib_libxgcl_gprof_a_SOURCES) \
        $(unixport_libansi_gcl_a_SOURCES) \
        $(unixport_libansi_gcl_gprof_a_SOURCES) \
        $(unixport_libgcl_a_SOURCES) \
@@ -712,6 +816,7 @@ ETAGS = @ETAGS@
 EXEEXT = @EXEEXT@
 EXT = @EXT@
 EXTRA_LOBJS = @EXTRA_LOBJS@
+FF = @FF@
 FINAL_CFLAGS = @FINAL_CFLAGS@
 GCL_CC = @GCL_CC@
 GMP = @GMP@
@@ -731,6 +836,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 LDFLAGS = @LDFLAGS@
 LEADING_UNDERSCORE = @LEADING_UNDERSCORE@
+LF = @LF@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LI_CC = @LI_CC@
@@ -854,6 +960,9 @@ my_cmpnewdir = $(my_libdir)/cmpnew
 my_clcsdir = $(my_libdir)/clcs
 xgcl2docdir = $(docdir)/xgcl-2
 gcltkdocdir = $(docdir)/gcl-tk
+
+# primaries
+noinst_PROGRAMS = bin/dpp$(EXEEXT) o/grab_defs$(EXEEXT)
 noinst_LIBRARIES = lib/libbase_gcl.a $(am__append_1) $(am__append_4) \
        $(am__append_7)
 my_unixport_LIBRARIES = unixport/libgcl.a unixport/libansi_gcl.a \
@@ -862,7 +971,7 @@ bin_SCRIPTS = bin/gcl
 check_SCRIPTS = sb_ansi-tests/test_results sb_bench/timing_results
 info_TEXINFOS = info/gcl.texi info/gcl-si.texi $(am__append_6) \
        $(am__append_9)
-my_unixport_DATA = $(addprefix unixport/,init_raw.lsp gcl.script libboot.so \
+my_unixport_DATA = $(LIBBOOTSO) $(addprefix unixport/,init_raw.lsp gcl.script \
                                       gcl_cmpnopt_gcl.lsp gcl_cmpnopt_ansi_gcl.lsp)
 
 my_h_DATA = h/cmpinclude.h
@@ -879,6 +988,8 @@ lisp_DATA = elisp/add-default.el elisp/ansi-doc.el elisp/dbl.el elisp/doc-to-tex
 dist_noinst_DATA = $(am__append_5) $(am__append_8)
 
 # conditionals
+@AMM_LIBBOOT_TRUE@LIBBOOTSO = unixport/libboot.so
+@AMM_LIBBOOT_FALSE@BOOT_C = o/boot.c
 @AMM_GPROF_TRUE@LIBGPROF = lib/libgprof.a
 
 #it would be nice someday to sandbox xgcl-2 and gcl-tk builds in tmpdirs
@@ -968,9 +1079,8 @@ BUILT_SOURCES = $(BUILT_H) $(BUILT_C)
 CLEANFILES = $(BUILT_SOURCES) $(INI_FILES) o/boot.ini $(addprefix \
        unixport/raw_,gcl gcl_gprof ansi_gcl ansi_gcl_gprof) \
        h/cmpinclude.h h/mstdint.h h/cmpincludea.h h/mcompdefs.h \
-       unixport/libboot.so gcl-tk/demos/index.lsp \
-       gcl-tk/demos/gc-monitor.o
-lib_libbase_gcl_a_SOURCES = $(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H)
+       $(LIBBOOTSO) gcl-tk/demos/index.lsp gcl-tk/demos/gc-monitor.o
+lib_libbase_gcl_a_SOURCES = $(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H) $(BOOT_C)
 nodist_lib_libbase_gcl_a_SOURCES = $(BUILT_C)
 lib_libgprof_a_SOURCES = o/gprof.c
 lib_libgprof_a_CFLAGS = $(AM_CFLAGS) -fno-omit-frame-pointer -pg
@@ -1293,6 +1403,7 @@ o/bzero.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
 o/user_init.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
 o/user_match.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
 o/mapfun.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+o/boot.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
 o/character.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
 o/file.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
 o/gcl_readline.$(OBJEXT): o/$(am__dirstamp) \
@@ -1447,6 +1558,8 @@ o/lib_libbase_gcl_gprof_a-user_match.$(OBJEXT): o/$(am__dirstamp) \
        o/$(DEPDIR)/$(am__dirstamp)
 o/lib_libbase_gcl_gprof_a-mapfun.$(OBJEXT): o/$(am__dirstamp) \
        o/$(DEPDIR)/$(am__dirstamp)
+o/lib_libbase_gcl_gprof_a-boot.$(OBJEXT): o/$(am__dirstamp) \
+       o/$(DEPDIR)/$(am__dirstamp)
 o/lib_libbase_gcl_gprof_a-gprof.$(OBJEXT): o/$(am__dirstamp) \
        o/$(DEPDIR)/$(am__dirstamp)
 o/lib_libbase_gcl_gprof_a-character.$(OBJEXT): o/$(am__dirstamp) \
@@ -1654,6 +1767,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/bind.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/bitop.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/block.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/boot.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/bzero.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/catch.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/cfun.Po@am__quote@ # am--include-marker
@@ -1688,6 +1802,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po@am__quote@ # am--include-marker
@@ -2761,6 +2876,20 @@ o/lib_libbase_gcl_gprof_a-mapfun.obj: o/mapfun.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-mapfun.obj `if test -f 'o/mapfun.c'; then $(CYGPATH_W) 'o/mapfun.c'; else $(CYGPATH_W) '$(srcdir)/o/mapfun.c'; fi`
 
+o/lib_libbase_gcl_gprof_a-boot.o: o/boot.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-boot.o -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo -c -o o/lib_libbase_gcl_gprof_a-boot.o `test -f 'o/boot.c' || echo '$(srcdir)/'`o/boot.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='o/boot.c' object='o/lib_libbase_gcl_gprof_a-boot.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-boot.o `test -f 'o/boot.c' || echo '$(srcdir)/'`o/boot.c
+
+o/lib_libbase_gcl_gprof_a-boot.obj: o/boot.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-boot.obj -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo -c -o o/lib_libbase_gcl_gprof_a-boot.obj `if test -f 'o/boot.c'; then $(CYGPATH_W) 'o/boot.c'; else $(CYGPATH_W) '$(srcdir)/o/boot.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='o/boot.c' object='o/lib_libbase_gcl_gprof_a-boot.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-boot.obj `if test -f 'o/boot.c'; then $(CYGPATH_W) 'o/boot.c'; else $(CYGPATH_W) '$(srcdir)/o/boot.c'; fi`
+
 o/lib_libbase_gcl_gprof_a-gprof.o: o/gprof.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-gprof.o -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-gprof.Tpo -c -o o/lib_libbase_gcl_gprof_a-gprof.o `test -f 'o/gprof.c' || echo '$(srcdir)/'`o/gprof.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-gprof.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-gprof.Po
@@ -3974,6 +4103,7 @@ distclean: distclean-am
        -rm -f o/$(DEPDIR)/bind.Po
        -rm -f o/$(DEPDIR)/bitop.Po
        -rm -f o/$(DEPDIR)/block.Po
+       -rm -f o/$(DEPDIR)/boot.Po
        -rm -f o/$(DEPDIR)/bzero.Po
        -rm -f o/$(DEPDIR)/catch.Po
        -rm -f o/$(DEPDIR)/cfun.Po
@@ -4008,6 +4138,7 @@ distclean: distclean-am
        -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po
        -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po
        -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po
        -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po
        -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po
        -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po
@@ -4294,6 +4425,7 @@ maintainer-clean: maintainer-clean-am
        -rm -f o/$(DEPDIR)/bind.Po
        -rm -f o/$(DEPDIR)/bitop.Po
        -rm -f o/$(DEPDIR)/block.Po
+       -rm -f o/$(DEPDIR)/boot.Po
        -rm -f o/$(DEPDIR)/bzero.Po
        -rm -f o/$(DEPDIR)/catch.Po
        -rm -f o/$(DEPDIR)/cfun.Po
@@ -4328,6 +4460,7 @@ maintainer-clean: maintainer-clean-am
        -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po
        -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po
        -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po
        -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po
        -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po
        -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po
@@ -4541,7 +4674,7 @@ $(addprefix unixport/saved_,gcl ansi_gcl gcl_gprof ansi_gcl_gprof):\
 unixport/saved_%: unixport/raw_% # rebuild these only when out of date
 
 unixport/saved_%: | unixport/raw_% unixport/gcl_cmpnopt_%.lsp \
-                   unixport/libboot.so unixport/init_raw.lsp
+                   $(LIBBOOTSO) unixport/init_raw.lsp
        rm -rf sb_$* # FIXME sandbox ugliness for parallel builds
        mkdir sb_$*
        cd sb_$* && \
@@ -4549,14 +4682,17 @@ unixport/saved_%: | unixport/raw_% unixport/gcl_cmpnopt_%.lsp \
                ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \
                mkdir h && \
                ln -snf ../../h/cmpinclude.h h/ && \
-               echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \
+               touch prof_init.lsp && \
+               ( ! echo $@ | grep -q _gprof$$ || echo "(setq compiler::*default-prof-p* t)" >prof_init.lsp ) && \
+               echo "(system:save-system \"../$@\")" | \
+               cat ../unixport/init_raw.lsp prof_init.lsp - | \
                        GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \
                                ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/  && \
                rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue
        rm -rf sb_$*
 
-unixport/raw_%: unixport/lib%.a
-       $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
+unixport/raw_%: unixport/lib%.a $(FF) $(LF)
+       $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $(FF) $< $(LF) $(LIBS) #FIXME relro
 
 unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\
 unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp
@@ -4754,14 +4890,14 @@ o/boot.h: %.h: %.ini
        echo 'void gcl_init_boot(void){' >> $@
        cat $< >> $@
        echo '}' >> $@
-unixport/libboot.so: o/boot.c o/boot.h
+$(LIBBOOTSO): o/boot.c o/boot.h
        $(CC) $(AM_CPPFLAGS) -Io $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \
                -fPIC -shared -Wl,-undefined -Wl,dynamic_lookup $< -o $@
 
 o/boot.ini: CPPFLAGS += -DNO_BOOT_H
 # parallel builds can only have one target accessing an intermediate file
 # solved with BUILT_SOURCES
-o/%.ini:  o/%.c | o/grab_defs
+o/%.ini:  o/%.c | o/grab_defs$(EXEEXT)
        @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
        @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
        @rm -f new_$(@F)
@@ -4824,8 +4960,8 @@ sb_cmpnew/gcl_collectfn.o: cmpnew/gcl_collectfn.lsp | unixport/saved_gcl
        [ -d $(@D) ] || mkdir -p $(@D)
        $(word 1,$|) -compile $< -o $@
 
-%.c: %.d | bin/dpp
-       bin/dpp $< $@
+%.c: %.d | bin/dpp$(EXEEXT)
+       $| $< $@
 
 gcl-tk/demos gcl-tk $(MY_DIRS): % :
        [ -d $@ ] || mkdir -p $@
index 766b675efd6e900234a30b74b00cb7262614aa64..2d10d4109ea037a2a72c717357c48345d4958a25 100755 (executable)
@@ -5,13 +5,19 @@ VERS=@VERSION@
 
 if [ -e /etc/default/gcl$EXT ] ; then
     . /etc/default/gcl$EXT ;
-    if ! set | grep -q -w GCL_ANSI ; then GCL_ANSI=$DEFAULT_GCL_ANSI ; fi
+    if ! set | grep -q -w GCL_ANSI ; then
+       if [ "$DEFAULT_GCL_ANSI" != "" ] ; then
+           GCL_ANSI="t" ;
+       else
+           GCL_ANSI="no" ;
+       fi
+    fi
     if ! set | grep -q -w GCL_PROF ; then GCL_PROF=$DEFAULT_GCL_PROF ; fi
 fi
 
 DIR=@prefix@/lib/gcl-$VERS;
 
-if [ "$GCL_ANSI" = "" ] ; then
+if [ "$GCL_ANSI" = "no" ] ; then
     if [ "$GCL_PROF" = "" ] ; then
        EXE=saved_gcl;
     else
index f72c5fee751d5ee6f9034f934556135a1b5e5c7e..1ff8eabb74420dfba7f066889f49b332391e0de1 100644 (file)
          ((append at '(*))))));let call_proc_new foil fast linking and catch errors
 
 (defun add-fast-link (fname la &optional apnarg
-                           &aux n
-                           (at (call-arg-types (mapcar (lambda (x) (link-rt x t)) (get-arg-types fname)) la apnarg))
+                     &aux n
+                       (at (call-arg-types
+                            (adj-call-tps-max (mapcar (lambda (x) (link-rt x t)) (get-arg-types fname)))
+                            la apnarg))
                            (rt (link-rt (get-return-type fname) t))
                            (clp (cclosure-p fname))
                            (tail (list rt at clp apnarg)))
index 6c5c62f55eda91e1e7bdcb84f8e12eee1719a37e..16898b353cb95ffceb1ce99f57377cbab2d0eee5 100644 (file)
    (otherwise                          (when (or always (ltvp val))
                                         `(vv ,val)))))
 
+(defun encap-src-val (val)
+  (typecase val
+    (function  (afe (cons 'df nil) (mf (fle val))))
+    (cons (cons (encap-src-val (car val)) (encap-src-val (cdr val))))
+    (t val)))
+
 (defun c1constant-value (val always &aux (val (if (exit-to-fmla-p) (not (not val)) val)))
   (case 
    val
       (when l 
        `(location 
          ,(make-info :type (or (ltvp val)
-                               (object-type
-                                (typecase val
-                                  (function  (afe (cons 'df nil) (mf (fle val))))
-                                  (list (copy-tree val))
-                                  (t val)))))
+                               (object-type (encap-src-val val))))
          ,l))))))
 
 (defvar *compiler-temps*
index e1e7bdb652f4770f69dc99f47bb5185b454c1f40..ba0b3046a829851d99cb1561a520042999f259e4 100644 (file)
         (clp (when clp (ccb-vs-str (fun-ref-ccb fun))))
         (nm (if clp (ms clp "->fun.fun_self") nm))
         (inl (g1 clp nm sig ap clp (if clp -1 (fun-level fun)))))
-    `(,(car sig) ,(cadr sig) 
+    `(,(adj-call-tps-max (car sig)) ,(cadr sig)
       ,(if mv (flags rfa svt) (flags rfa))
       ,inl)))
 
index 33c4c7ea7de3370186407171dc05596318d3b6f8..d8d7d4545680b384ed1fc0d669ae6231c0540bb5 100644 (file)
     ((cons (eql vv) t) (fm-to-string (cadr form)))
     ((cons (member char-value fixnum-value character-value) t) (fm-to-string (caddr form)))
     ((eql most-negative-fixnum)  #.(string-concatenate "(" (write-to-string (1+ most-negative-fixnum)) "- 1)"))
-    (integer (format nil "~a" form)); string character
+    (fixnum (format nil "~a" form)); string character
     (float (format nil "~10,,,,,,'eG" form))
     ((complex float)
      (string-concatenate "(" (fm-to-string (realpart form)) " + I * " (fm-to-string (imagpart form)) ")"))))
   (string-concatenate
    (cond ((member key '(:cnum :creal)) "")
         ((eq ft tt) "")
-         ((equal ft t)
+        ((equal ft t)
           (if *compiler-new-safety*
               (let ((v (member key '(:char :int :fixnum))))
                 (if v (si::string-concatenate (setq p "object_to_") (strcat key))
     (let ((x (position x +c-global-arg-types+ :test 'type<=)))
       (if x (1+ x) 0))))
 
+(defconstant +max-typed-args+
+  (let ((x (cdr (tp-bnds (cadr (si::sig 'c-function-argd))))))
+    (if (typep x 'fixnum) (1- (truncate (integer-length x) 2)) 0)))
+
+(defun adj-call-tps-max (tps &aux (i -1))
+  (mapcar (lambda (x) (type-or1 (>= (incf i) +max-typed-args+) x)) tps))
+
 (defun new-proclaimed-argd (args return)
   (do* ((type (f-type return) (f-type (pop args)))
        (i 0 (+ 2 i))
        (ans type (logior ans (ash type i))))
-       ((or (>= i 32) (null args)) (the (unsigned-byte 32) ans))))
+       ((or (>= i #.(ash +max-typed-args+ 1)) (null args))
+       (the (unsigned-byte #.(1+ (ash +max-typed-args+ 1))) ans))))
 
 (defun type-f (x)
   (declare (fixnum x))
 (defun t3defun-local-entry (fname cfun lambda-expr sp inline-info
                                  &aux specials *reg-clv* (requireds (caaddr lambda-expr)) nargs)
   (do ((vl requireds (cdr vl))
-       (types (cadr inline-info) (cdr types)))
+       (types (cadr inline-info) (cdr types))
+       (i 0 (1+ i)))
       ((endp vl))
       (cond ((eq (var-kind (car vl)) 'special)
             (push (cons (car vl) (var-loc (car vl))) specials))
            ((var-cb (car vl)) (push (list (eq 'clb (var-loc (car vl))) (car vl)) *reg-clv*))
-;          ((var-cb (car vl)) (push (car vl) *reg-clv*))
            ((setf (var-kind (car vl))
-                  (or (car (member (promoted-c-type (var-type (car vl))) +c-local-arg-types+)) 'object))))
+                  (or (when (< i +max-typed-args+)
+                        (car (member (promoted-c-type (var-type (car vl))) +c-local-arg-types+)))
+                      'object))))
       (setf (var-loc (car vl)) (cs-push (var-type (car vl)) t)))
   (when (is-narg-le lambda-expr)
     (setq nargs (car (last requireds)))
     (wt-h "#define VMRV" cm "(a_,b_)" vstu bdsu frsu " return((" (declaration-type (rep-type return-type)) ")a_);")
     (wt-h "#define VMR" cm "(a_) VMRV" cm "(a_,0);")))
 
-
-(defun wt-requireds (requireds arg-types &optional first narg)
+(defun wt-requireds (requireds arg-types &optional first narg &aux (i -1))
   (declare (ignore arg-types))
   (flet ((wt (x) (wt x) (let ((*compiler-output1* *compiler-output2*)) (wt x))))
        (dolist (v requireds (wt (if narg ",...)" ")")))
          (setq narg (or narg (is-narg-var v)))
-         (let* ((gt (global-type-bump (var-type v)))
+         (let* ((gt (global-type-bump (if (< (incf i) +max-typed-args+) (var-type v) t)))
                 (cvar (cs-push gt t)))
            (when first (wt ","))
            (setq first t)
 ;;                       ,@(mapcar (lambda (x y) 
 ;;                                   `(unbox ,(intern (symbol-name x) 'keyword) ,y)) args syms)))))))
 
+(defun c-key-rep (key)
+  (ecase key
+    ((:object :char :int :long :float :double :fixnum :void) (string-downcase key))
+    (:string "char *")
+    (:ustring "unsigned char *")))
+
 (defmacro defentry (n args c &optional (lt t)
                      &aux (tsyms (load-time-value
                                   (mapl (lambda (x) (setf (car x) (gensym "DEFENTRY")))
         (tps (mapcar (lambda (x) (intern (string (if (consp x) (car x) x)) 'keyword)) args))
         (decl (reduce (lambda (y x)
                         (strcat y (if (> (length y) 0) "," "")
-                                (cdr (assoc (get x 'cmp-lisp-type) +defentry-c-rep-alist+))))
+                                (c-key-rep x)))
                       tps :initial-value ""))
-        (decl (concatenate 'string (string-downcase rt) " " m "(" decl ");"))
+        (decl (concatenate 'string (c-key-rep rt) " " m "(" decl ");"))
         (decl (if st "" decl))
         (syms (mapcar (lambda (x) (declare (ignore x)) (pop tsyms)) args)))
   `(defun ,n ,syms 
 
   (setq h (fun-call fun) at (caar h) rt (cadar h)
        at (mapcar 'global-type-bump at) rt (global-type-bump rt));FIXME
-  (dolist (vl requireds)
-    (cond ((eq (var-kind vl) 'special)
-          (push (cons vl (var-loc vl)) specials))
-         ((var-cb vl) (push (list (eq 'clb (var-loc vl)) vl) *reg-clv*))
-;        ((var-cb vl) (push vl *reg-clv*))
-         ((setf (var-kind vl)
-                (or (car (member (promoted-c-type (var-type vl)) +c-global-arg-types+)) 'object))))
-    (setf (var-loc vl) (cs-push (var-type vl) t)))
+  (do ((vlp requireds (cdr vlp))(i 0 (1+ i)))((endp vlp))
+    (let ((vl (car vlp)))
+      (cond ((eq (var-kind vl) 'special)
+            (push (cons vl (var-loc vl)) specials))
+           ((var-cb vl) (push (list (eq 'clb (var-loc vl)) vl) *reg-clv*))
+           ((setf (var-kind vl)
+                  (or (when (< i +max-typed-args+)
+                        (car (member (promoted-c-type (var-type vl)) +c-global-arg-types+)))
+                      'object))))
+      (setf (var-loc vl) (cs-push (var-type vl) t))))
 
   (wt-comment "local function " (if (fun-name fun) (fun-name fun) nil))
   (wt-h   "static " (declaration-type (rep-type rt))
index 4d9d9f2e3cb8b4372f9ecdd2c0c6d29426b9d4df..a55d3bc314bfb78aca8629658b9213b40491e439 100644 (file)
           (list* nil +c-local-var-types-syms+))
    `((object . "object "))))
 
-(defconstant +defentry-c-rep-alist+
-  (mapcar (lambda (x &aux (z (assoc x *c-types*)))
-           (cons (cadr z) (eighth z)))
-         '(char #+64bit signed-int fixnum short-float long-float string t)))
-
 (defconstant +cmp-type-alist+
   (mapcar (lambda (x) (cons (cmp-norm-tp (car x)) (cdr x))) +type-alist+))
 
index 945c9e993911271cd4a857b1d95cd9641a1c8446..cf8b4c1ba670aca91331d6c5cf50116679a99bd6 100755 (executable)
--- a/configure
+++ b/configure
@@ -719,6 +719,10 @@ LDFLAGS
 CFLAGS
 CC
 PRELINK_CHECK
+AMM_LIBBOOT_FALSE
+AMM_LIBBOOT_TRUE
+LF
+FF
 host_os
 host_vendor
 host_cpu
@@ -807,6 +811,7 @@ ac_user_opts='
 enable_option_checking
 enable_silent_rules
 with_lispdir
+enable_libboot
 enable_machine
 enable_widecons
 enable_safecdr
@@ -1478,6 +1483,7 @@ Optional Features:
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --enable-silent-rules   less verbose build output (undo: "make V=1")
   --disable-silent-rules  verbose build output (undo: "make V=0")
+put bootstrap code in shared library to be discarded
   --enable-machine=XXXX will force the use of one of the definitions in h/XXXX.defs
   --enable-widecons will use a three word cons with simplified typing
   --enable-safecdr will protect cdr from immfix and speed up type processing
@@ -4149,6 +4155,38 @@ case $canonical in
     i?86-pc-solaris*) use=solaris-i386;;
 esac
 
+# Check whether --enable-libboot was given.
+if test ${enable_libboot+y}
+then :
+  enableval=$enable_libboot; libboot=$enableval
+else case e in #(
+  e) libboot="yes" ;;
+esac
+fi
+
+
+if test "$use" = "gnuwin95" ; then
+   FF=o/firstfile.o
+
+   LF=o/lastfile.o
+
+   libboot="no"
+fi
+
+ if test "$libboot" = "yes"; then
+  AMM_LIBBOOT_TRUE=
+  AMM_LIBBOOT_FALSE='#'
+else
+  AMM_LIBBOOT_TRUE='#'
+  AMM_LIBBOOT_FALSE=
+fi
+
+if test "$libboot" = "yes" ; then
+
+printf "%s\n" "#define USE_LIBBOOT 1" >>confdefs.h
+
+fi
+
 # Check whether --enable-machine was given.
 if test ${enable_machine+y}
 then :
@@ -7155,19 +7193,11 @@ case $use in
        assert_arg_to_cflags -mms-bitfields
        for i in makedefc windows/gcl.iss windows/sysdir.bat windows/install.lsp h/gclincl.h;  do
            cat $i.in | sed 's,^\r\n$,\r\n,g' >tmp && mv tmp $i.in;
-       done
-       OLD_LDFLAGS=$LDFLAGS
-       assert_arg_to_ldflags -pg
-       GPL_FLAG="-pg"
-       LDFLAGS=$OLD_LDFLAGS;;
+       done;;
     *gnuwin*)
        assert_arg_to_cflags -fno-zero-initialized-in-bss
        assert_arg_to_cflags -mms-bitfields
-        assert_arg_to_ldflags -Wl,--stack,8000000
-       OLD_LDFLAGS=$LDFLAGS
-       assert_arg_to_ldflags -pg
-       GPL_FLAG="-pg"
-       LDFLAGS=$OLD_LDFLAGS;;
+        assert_arg_to_ldflags -Wl,--stack,8000000;;
     386-linux)
        if ! add_arg_to_cflags -msse2 || ! add_arg_to_cflags -mfpmath=sse ; then
           add_arg_to_cflags -ffloat-store;
@@ -8738,6 +8768,41 @@ esac
 # mechanism, in the PAGE macro.  This offset is subtracted from
 # addresses, in calculating a page for an address in the heap.
 
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
+printf %s "checking size of size_t... " >&6; }
+if test ${ac_cv_sizeof_size_t+y}
+then :
+  printf %s "(cached) " >&6
+else case e in #(
+  e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t"        "$ac_includes_default"
+then :
+
+else case e in #(
+  e) if test "$ac_cv_type_size_t" = yes; then
+     { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (size_t)
+See 'config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_size_t=0
+   fi ;;
+esac
+fi
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5
+printf "%s\n" "$ac_cv_sizeof_size_t" >&6; }
+
+
+
+printf "%s\n" "#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t" >>confdefs.h
+
+
 # The cast to long int works around a bug in the HP C Compiler
 # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
 # declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'.
@@ -9029,7 +9094,8 @@ esac
 printf %s "checking for hugepagewidth... " >&6; }
 j=""
 if test -e /proc/meminfo ; then
-   j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;if (j==$2) printf("%d\n",i+10)}'  /proc/meminfo`
+   j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;
+   if (j==$2) {if (i>11) i=11;printf("%d\n",i+10)}}'  /proc/meminfo`
 fi
 if test "$j" != "" ; then
    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $j" >&5
@@ -11661,9 +11727,6 @@ then :
 fi
 
 
-#LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`"
-LDFLAGS="`echo $GPL_FLAG $LDFLAGS`"
-#AM_LDFLAGS = $LDFLAGS
 BASE_LDFLAGS="$LDFLAGS"
 LDFLAGS=""
 
@@ -11859,6 +11922,10 @@ else
   am__EXEEXT_FALSE=
 fi
 
+if test -z "${AMM_LIBBOOT_TRUE}" && test -z "${AMM_LIBBOOT_FALSE}"; then
+  as_fn_error $? "conditional \"AMM_LIBBOOT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
   as_fn_error $? "conditional \"AMDEP\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
index c35373aa38e932501c60febddd201268376b68a5..cb02d993158c02e74814febe1a3dae4280b645b7 100644 (file)
@@ -71,6 +71,22 @@ case $canonical in
     i?86-pc-solaris*) use=solaris-i386;;
 esac
 
+AC_ARG_ENABLE([libboot],[put bootstrap code in shared library to be discarded],
+             [libboot=$enableval],[libboot="yes"])
+
+if test "$use" = "gnuwin95" ; then
+   FF=o/firstfile.o
+   AC_SUBST(FF)
+   LF=o/lastfile.o
+   AC_SUBST(LF)
+   libboot="no"
+fi
+
+AM_CONDITIONAL([AMM_LIBBOOT],[test "$libboot" = "yes"])
+if test "$libboot" = "yes" ; then
+   AC_DEFINE([USE_LIBBOOT],[1],[boot code in shared library])
+fi
+
 AC_ARG_ENABLE([machine],[  --enable-machine=XXXX will force the use of one of the definitions in h/XXXX.defs],
              [echo enable_machine=$enableval ; use=$enableval])
 
@@ -271,19 +287,11 @@ case $use in
        assert_arg_to_cflags -mms-bitfields
        for i in makedefc windows/gcl.iss windows/sysdir.bat windows/install.lsp h/gclincl.h;  do
            cat $i.in | sed 's,[^\r]\n$,\r\n,g' >tmp && mv tmp $i.in;
-       done
-       OLD_LDFLAGS=$LDFLAGS
-       assert_arg_to_ldflags -pg
-       GPL_FLAG="-pg"
-       LDFLAGS=$OLD_LDFLAGS;;
+       done;;
     *gnuwin*)
        assert_arg_to_cflags -fno-zero-initialized-in-bss
        assert_arg_to_cflags -mms-bitfields
-        assert_arg_to_ldflags -Wl,--stack,8000000
-       OLD_LDFLAGS=$LDFLAGS
-       assert_arg_to_ldflags -pg
-       GPL_FLAG="-pg"
-       LDFLAGS=$OLD_LDFLAGS;;
+        assert_arg_to_ldflags -Wl,--stack,8000000;;
     386-linux)
        if ! add_arg_to_cflags -msse2 || ! add_arg_to_cflags -mfpmath=sse ; then
           add_arg_to_cflags -ffloat-store;
@@ -793,6 +801,7 @@ esac
 # mechanism, in the PAGE macro.  This offset is subtracted from
 # addresses, in calculating a page for an address in the heap.
 
+AC_CHECK_SIZEOF(size_t,0)
 AC_CHECK_SIZEOF(long,0)
 AC_CHECK_SIZEOF(short,0)
 AC_CHECK_SIZEOF(int,0)
@@ -853,7 +862,8 @@ esac
 AC_MSG_CHECKING([for hugepagewidth])
 j=""
 if test -e /proc/meminfo ; then
-   j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;if (j==$2) printf("%d\n",i+10)}'  /proc/meminfo`
+   j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;
+   if (j==$2) {if (i>11) i=11;printf("%d\n",i+10)}}'  /proc/meminfo`
 fi
 if test "$j" != "" ; then
    AC_MSG_RESULT([$j])
@@ -1849,9 +1859,6 @@ AC_CONFIG_FILES([bin/gcl])
 AC_CHECK_HEADERS(sys/mman.h,AC_CHECK_FUNCS(mprotect))
 AC_CHECK_HEADERS(alloca.h)
 
-#LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`"
-LDFLAGS="`echo $GPL_FLAG $LDFLAGS`"
-#AM_LDFLAGS = $LDFLAGS
 BASE_LDFLAGS="$LDFLAGS"
 LDFLAGS=""
 AC_SUBST(BASE_LDFLAGS)
diff --git a/git.tag b/git.tag
index 14ee5e366d1e2d2c92cff6df24c028f088113150..fb66ed5d330d4eefef2b4abb3c5bcf148e592bec 100644 (file)
--- a/git.tag
+++ b/git.tag
@@ -1,2 +1,2 @@
-"Version_2_7_2ore2"
+"Version_2_7_2ore3"
 
index d724430ed01c7fe33e9b7da313f5c50b090b4fc6..f00069f9a48ab2a35d56ff177c0e2db236832682 100644 (file)
@@ -132,7 +132,7 @@ if (realpath (buf, fub) == 0) {                             \
 #define UC(a_) ((ucontext_t *)a_)
 #define SF(a_) ((siginfo_t *)a_)
 
-#define FPE_CODE(i_,v_) make_fixnum(FFN(fSfpe_code)(*(fixnum *)&UC(v_)->uc_mcontext->__fs.__fpu_fsw,UC(v_)->uc_mcontext->__fs.__fpu_mxcsr))
+#define FPE_CODE(i_,v_) make_fixnum((fixnum)FFN(fSfpe_code)(*(fixnum *)&UC(v_)->uc_mcontext->__fs.__fpu_fsw,UC(v_)->uc_mcontext->__fs.__fpu_mxcsr))
 #define FPE_ADDR(i_,v_) make_fixnum(UC(v_)->uc_mcontext->__fs.__fpu_fop ? UC(v_)->uc_mcontext->__fs.__fpu_ip : (fixnum)SF(i_)->si_addr)
 #define FPE_CTXT(v_) list(3,make_fixnum((fixnum)&UC(v_)->uc_mcontext->__ss), \
                          make_fixnum((fixnum)&UC(v_)->uc_mcontext->__fs.__fpu_stmm0), \
index 4008be19f1e84be5effd3bedd00e3e42b75b16be..1347f02d330ef4fee1244e639328f7d3e688a00b 100644 (file)
@@ -85,7 +85,11 @@ char object_to_char(object);
 void not_a_symbol(object);
 object number_expt(object,object);
 object fLrow_major_aref(object,fixnum);
+#if SIZEOF_SIZE_T == SIZEOF_INT
+void *alloca(unsigned);
+#else
 void *alloca(unsigned long);
+#endif
 object cmod(object);
 object ctimes(object,object);
 object cdifference(object,object);
index aa98d861098ed0f4e87a1241f0490d8cc6da8483..069435b8578fae0415a12edaf1f1dec9017824f6 100644 (file)
 /* The size of 'short', as computed by sizeof. */
 #undef SIZEOF_SHORT
 
+/* The size of 'size_t', as computed by sizeof. */
+#undef SIZEOF_SIZE_T
+
 /* staticly linked images */
 #undef STATIC_LINKING
 
 /* use gprof */
 #undef USE_GPROF
 
+/* boot code in shared library */
+#undef USE_LIBBOOT
+
 /* use readline library */
 #undef USE_READLINE
 
index 8abf19849a28abbf5c710f831e5c6fa97d348e6a..c053e8985c825fc88043455c11fd6a4bbf08f2fe 100644 (file)
@@ -1450,8 +1450,6 @@ void init_shared_memory(void);
 
 void * object_to_pointer(object);
 
-void * alloca(unsigned long);
-
 object make_dcomplex(dcomplex);
 
 object find_init_string(const char *);
index 5a9b88dc40d453a69c10088f212daced576de0b4..5adc7e8c173dbd7d78c48749bb94e7442d92a180 100755 (executable)
@@ -218,7 +218,7 @@ GCL specific: The compiler defines a Lisp function whose body consists of a
 calling sequence to the C language function specified by C-FUNCTION.  The
 interpreter ignores this form.  The ARG-TYPES specifies the C types of the
 arguments which C-FUNCTION requires.  The list of allowed types is (object
-char int float double string).  Code will be produced to coerce from a lisp
+char int long float double string).  Code will be produced to coerce from a lisp
 object to the appropriate type before passing the argument to the C-FUNCTION.
 The c-function should be of the form (c-result-type c-fname) where
 c-result-type is a member of (void object char int float double string).
index 5a54b12297007802dd5895670314d734a15a7ba5..303c31aae39398cc7a92204b6a0de104e45b3624 100644 (file)
 
 (defun get-index-node ()
  (or (third *current-info-data*) 
-     (let* (
-           s
-           (node-string (car (nth 1 *current-info-data*)))
-           (node
-            (and node-string (car (get-nodes "Index" node-string)))))
-       (when node
-          (setq s (show-info
-                   node
-                   nil
-                   nil
-                   ))
-       (setf (third *current-info-data*) s)))))
+     (let* ((node-string (car (nth 1 *current-info-data*)))
+           (nodes (when node-string (get-nodes "Index" node-string))))
+       (when nodes
+        (setf (third *current-info-data*)
+              (reduce 'string-concatenate
+                      (mapcar (lambda (x) (show-info x nil nil)) nodes)))))))
 
 (defun nodes-from-index (pat  &aux (i 0) ans
                              (*case-fold-search* t) *match-data*)
index ceb218c9d163c1ca521fe79e36b60d4d06ff53fa..21e61a41c6a2852f9c699b80f6be2bac88728f2c 100644 (file)
@@ -160,11 +160,11 @@ object sSAindent_formatted_outputA;
                        VOL int old_fmt_index; \
                        VOL int old_fmt_end; \
                        VOL object old_fmt_iteration_list; \
-                       jmp_bufp   VOL old_fmt_jmp_bufp; \
+                       jmp_bufp VOL old_fmt_jmp_bufp; \
                        VOL int old_fmt_indents; \
                        VOL object old_fmt_string ; \
-                       VOL object(*old_fmt_advance)(void) ;    \
-                       VOL void (*old_fmt_lt)(volatile bool,bool) ;    \
+                       object(*VOL old_fmt_advance)(void) ;    \
+                       void (*VOL old_fmt_lt)(volatile bool,bool) ;    \
                         VOL format_parameter *old_fmt_paramp
 #define        fmt_save        old_fmt_stream = fmt_stream; \
                        old_ctl_origin = ctl_origin; \
index 7728f61c90a70963a71ad9a82b982c24cfa6601c..79fd138a354cbe4ed529b0899aeaa344db4fa2fa 100644 (file)
--- a/o/main.c
+++ b/o/main.c
@@ -582,7 +582,7 @@ void
 init_boot(void) {
 
   char *sysd=getenv("GCL_SYSDIR"),*d=sysd ? sysd : kcl_self;
-#ifndef __CYGWIN__
+#ifdef USE_LIBBOOT
   void *v,*q;
 #endif
   char *z,*s="libboot.so";
@@ -592,14 +592,14 @@ init_boot(void) {
   sSAoptimize_maximum_pagesA->s.s_dbind=Cnil;
   z=alloca(n);
   snprintf(z,n,"%-*.*s%s",(int)m,(int)m,d,s);
-#ifndef __CYGWIN__
+#ifdef USE_LIBBOOT
   if (!(v=dlopen(z,RTLD_LAZY|RTLD_GLOBAL)))
     printf("%s\n",dlerror());
   if (!(q=dlsym(v,"gcl_init_boot")))
     printf("%s\n",dlerror());
 #endif
   initializing_boot=1;
-#ifdef __CYGWIN__
+#ifndef USE_LIBBOOT
   {
     extern void gcl_init_boot(void);
     gcl_init_boot();
index a4471dc0761204d7cee7aeb3d1c4fc9166978ac7..1b5f38c1f25885276fe7cce3de22608dc6232421 100644 (file)
 
 (in-package :compiler)
 (setq *cc* @LI_CC@
-      *default-prof-p* (> (length @LI_DFP@) 0)
       *ld* @LI_LD@
       *ld-libs* @LI_LD_LIBS@
       *ld-libs* (concatenate 'string "-l" #+ansi-cl "ansi_" "gcl" #+gprof "_gprof" " " *ld-libs*)
       *opt-three* @LI_OPT_THREE@
       *opt-two* @LI_OPT_TWO@
-      *init-lsp* @LI_INIT_LSP@)
+      *init-lsp* @LI_INIT_LSP@
+      si::*info-paths* (cons "@prefix@/share/info/" si::*info-paths*))
 
 (import 'si::(clines defentry defcfun object void int double quit bye gbc system
                     commonp *break-on-warnings* make-char char-bits char-font