gcl.git - GNU Common Lisp

index : gcl.git
GNU Common Lisp
summary refs log tree commit diff
diff options
context:
space:
mode:
authorCamm Maguire <camm@transcendence.maguirefamily.org>2025年04月27日 16:03:33 -0400
committerCamm Maguire <camm@transcendence.maguirefamily.org>2025年04月27日 16:05:38 -0400
commite7c611c877a66a01a1964c873fd38c558d5aee73 (patch)
tree2fd0d831e8ff968a2c0428b16ca2df79d18c8f25
parentb5cc6d204018b251d4ba1ea7e8beb733ef94de28 (diff)
downloadgcl-e7c611c877a66a01a1964c873fd38c558d5aee73.tar.gz
disable-libboot configure option, prelim coff support
Diffstat
-rw-r--r--gcl/Makefile.am 33
-rw-r--r--gcl/Makefile.in 204
-rwxr-xr-xgcl/configure 42
-rw-r--r--gcl/configure.ac 16
-rw-r--r--gcl/h/gclincl.h.in 3
-rw-r--r--gcl/o/main.c 6
-rw-r--r--gcl/unixport/init_raw.lsp.in 1
7 files changed, 255 insertions, 50 deletions
diff --git a/gcl/Makefile.am b/gcl/Makefile.am
index d819410af..53d7d763b 100644
--- a/gcl/Makefile.am
+++ b/gcl/Makefile.am
@@ -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 $@
diff --git a/gcl/Makefile.in b/gcl/Makefile.in
index 3bd688ce2..41a7208ab 100644
--- a/gcl/Makefile.in
+++ b/gcl/Makefile.in
@@ -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 $@
diff --git a/gcl/configure b/gcl/configure
index 9ec3ceb08..cf8b4c1ba 100755
--- a/gcl/configure
+++ b/gcl/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 :
@@ -11884,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
diff --git a/gcl/configure.ac b/gcl/configure.ac
index ac7d1ae08..cb02d9931 100644
--- a/gcl/configure.ac
+++ b/gcl/configure.ac
@@ -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])
diff --git a/gcl/h/gclincl.h.in b/gcl/h/gclincl.h.in
index 5b3b7e3c2..069435b85 100644
--- a/gcl/h/gclincl.h.in
+++ b/gcl/h/gclincl.h.in
@@ -335,6 +335,9 @@
/* use gprof */
#undef USE_GPROF
+/* boot code in shared library */
+#undef USE_LIBBOOT
+
/* use readline library */
#undef USE_READLINE
diff --git a/gcl/o/main.c b/gcl/o/main.c
index 7728f61c9..79fd138a3 100644
--- a/gcl/o/main.c
+++ b/gcl/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();
diff --git a/gcl/unixport/init_raw.lsp.in b/gcl/unixport/init_raw.lsp.in
index a4471dc07..edecc5f64 100644
--- a/gcl/unixport/init_raw.lsp.in
+++ b/gcl/unixport/init_raw.lsp.in
@@ -90,7 +90,6 @@
(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*)
generated by cgit v1.2.3 (git 2.25.1) at 2025年09月04日 14:56:43 +0000

AltStyle によって変換されたページ (->オリジナル) /