5 kx ## Process this file with Automake to create Makefile.in
5 kx ##
5 kx ## Copyright (C) 1998-2004, 2006-2014, 2016-2020
5 kx ## Free Software Foundation, Inc.
5 kx ##
5 kx ## This file is part of GUILE.
5 kx ##
5 kx ## GUILE is free software; you can redistribute it and/or modify it
5 kx ## under the terms of the GNU Lesser General Public License as
5 kx ## published by the Free Software Foundation; either version 3, or
5 kx ## (at your option) any later version.
5 kx ##
5 kx ## GUILE is distributed in the hope that it will be useful, but
5 kx ## WITHOUT ANY WARRANTY; without even the implied warranty of
5 kx ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5 kx ## GNU Lesser General Public License for more details.
5 kx ##
5 kx ## You should have received a copy of the GNU Lesser General Public
5 kx ## License along with GUILE; see the file COPYING.LESSER. If not,
5 kx ## write to the Free Software Foundation, Inc., 51 Franklin Street,
5 kx ## Fifth Floor, Boston, MA 02110-1301 USA
5 kx
5 kx include $(top_srcdir)/am/snarf
5 kx include $(srcdir)/lightening/lightening.am
5 kx
5 kx AUTOMAKE_OPTIONS = gnu
5 kx
5 kx ## Prevent automake from adding extra -I options
5 kx DEFS = @DEFS@
5 kx
5 kx # Override Automake's `DEFAULT_INCLUDES'. By default, it contains
5 kx # "-I$(srcdir)", which causes problems on Tru64 where our "random.h"
5 kx # is picked up by <stdlib.h> instead of the libc's <random.h>.
5 kx DEFAULT_INCLUDES =
5 kx
5 kx ## Check for headers in $(srcdir)/.., so that #include
5 kx ## <libguile/MUMBLE.h> will find MUMBLE.h in this dir when we're
5 kx ## building. Also look for Gnulib headers in `lib'.
5 kx AM_CPPFLAGS = -DBUILDING_LIBGUILE=1 -I$(top_srcdir) -I$(top_builddir) \
5 kx -I$(top_srcdir)/lib -I$(top_builddir)/lib -iquote$(builddir) \
5 kx $(LIBFFI_CFLAGS)
5 kx
5 kx if ENABLE_JIT
5 kx AM_CPPFLAGS += -I$(top_srcdir)/libguile/lightening
5 kx endif
5 kx
5 kx AM_CFLAGS = $(GCC_CFLAGS) $(CFLAG_VISIBILITY)
5 kx
5 kx ## The Gnulib Libtool archive.
5 kx gnulib_library = $(top_builddir)/lib/libgnu.la
5 kx
5 kx ETAGS_ARGS = --regex='/SCM_\(GLOBAL_\)?\(G?PROC\|G?PROC1\|SYMBOL\|VCELL\|CONST_LONG\).*\"\([^\"]\)*\"/\3/' \
5 kx --regex='/[ \t]*SCM_[G]?DEFINE1?[ \t]*(\([^,]*\),[^,]*/\1/'
5 kx
5 kx lib_LTLIBRARIES = libguile-@GUILE_EFFECTIVE_VERSION@.la
5 kx bin_PROGRAMS = guile
5 kx
5 kx noinst_PROGRAMS = guile_filter_doc_snarfage gen-scmconfig
5 kx
5 kx gen_scmconfig_SOURCES = gen-scmconfig.c
5 kx
5 kx ## Override default rule; this should be compiled for BUILD host. Note
5 kx ## that we don't add $(AM_CPPFLAGS) here, as we need to run this
5 kx ## program, but $(top_srcdir)/lib has a gnulib configured for the
5 kx ## target. Instead we manually add $(top_builddir), in order to pick up
5 kx ## the generated config.h and gen-scmconfig.h. Nothing else from Guile
5 kx ## is included by this code generator.
5 kx gen-scmconfig.$(OBJEXT): gen-scmconfig.c
5 kx $(AM_V_GEN) \
5 kx if [ "$(cross_compiling)" = "yes" ]; then \
5 kx $(CC_FOR_BUILD) $(DEFS) $(DEFAULT_INCLUDES) -I$(top_builddir) -I$(top_builddir)/libguile \
5 kx -c -o $@ $<; \
5 kx else \
5 kx $(COMPILE) -c -o $@ $<; \
5 kx fi
5 kx
5 kx ## Override default rule; this should run on BUILD host.
5 kx gen-scmconfig$(EXEEXT): $(gen_scmconfig_OBJECTS) $(gen_scmconfig_DEPENDENCIES)
5 kx $(AM_V_GEN) \
5 kx rm -f gen-scmconfig$(EXEEXT); \
5 kx if [ "$(cross_compiling)" = "yes" ]; then \
5 kx $(CCLD_FOR_BUILD) -o $@ $(gen_scmconfig_OBJECTS); \
5 kx else \
5 kx $(LINK) $(gen_scmconfig_OBJECTS) $(LDADD) $(LIBS); \
5 kx fi
5 kx
5 kx scmconfig.h: ${top_builddir}/config.h gen-scmconfig$(EXEEXT)
5 kx $(AM_V_GEN)(rm -f scmconfig.h.tmp; \
5 kx cat $(srcdir)/scmconfig.h.top > scmconfig.h.tmp; \
5 kx ./gen-scmconfig$(EXEEXT) >> scmconfig.h.tmp; \
5 kx chmod 444 scmconfig.h.tmp; \
5 kx rm -f scmconfig.h; \
5 kx mv scmconfig.h.tmp scmconfig.h)
5 kx
5 kx
5 kx guile_filter_doc_snarfage_SOURCES = c-tokenize.c
5 kx
5 kx ## Override default rule; this should be compiled for BUILD host.
5 kx ## For some reason, OBJEXT does not include the dot
5 kx c-tokenize.$(OBJEXT): c-tokenize.c
5 kx $(AM_V_GEN) \
5 kx if [ "$(cross_compiling)" = "yes" ]; then \
5 kx $(CC_FOR_BUILD) -DCROSS_COMPILING=1 -I$(top_builddir) \
5 kx -c -o "$@" "$<"; \
5 kx else \
5 kx $(COMPILE) -c -o "$@" "$<"; \
5 kx fi
5 kx
5 kx ## Override default rule; this should run on BUILD host.
5 kx guile_filter_doc_snarfage$(EXEEXT): $(guile_filter_doc_snarfage_OBJECTS) $(guile_filter_doc_snarfage_DEPENDENCIES)
5 kx $(AM_V_GEN) \
5 kx rm -f guile_filter_doc_snarfage$(EXEEXT); \
5 kx if [ "$(cross_compiling)" = "yes" ]; then \
5 kx $(CCLD_FOR_BUILD) -o $@ $(guile_filter_doc_snarfage_OBJECTS); \
5 kx else \
5 kx $(LINK) $(guile_filter_doc_snarfage_OBJECTS) $(LDADD) $(gnulib_library) $(LIBS); \
5 kx fi
5 kx
5 kx
5 kx guile_SOURCES = guile.c
5 kx guile_CFLAGS = $(GUILE_CFLAGS) $(AM_CFLAGS)
5 kx guile_LDADD = libguile-@GUILE_EFFECTIVE_VERSION@.la
5 kx guile_LDFLAGS = $(GUILE_CFLAGS)
5 kx
5 kx libguile_@GUILE_EFFECTIVE_VERSION@_la_CFLAGS = $(GUILE_CFLAGS) $(AM_CFLAGS)
5 kx
5 kx libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES = \
5 kx alist.c \
5 kx array-handle.c \
5 kx array-map.c \
5 kx arrays.c \
5 kx async.c \
5 kx atomic.c \
5 kx backtrace.c \
5 kx boolean.c \
5 kx bitvectors.c \
5 kx bytevectors.c \
5 kx chars.c \
5 kx chooks.c \
5 kx control.c \
5 kx continuations.c \
5 kx debug.c \
5 kx deprecated.c \
5 kx deprecation.c \
5 kx dynstack.c \
5 kx dynwind.c \
5 kx eq.c \
5 kx error.c \
5 kx eval.c \
5 kx evalext.c \
5 kx exceptions.c \
5 kx expand.c \
5 kx extensions.c \
5 kx fdes-finalizers.c \
5 kx feature.c \
5 kx filesys.c \
5 kx finalizers.c \
5 kx fluids.c \
5 kx foreign.c \
5 kx foreign-object.c \
5 kx fports.c \
5 kx frames.c \
5 kx gc-malloc.c \
5 kx gc.c \
5 kx gettext.c \
5 kx generalized-arrays.c \
5 kx generalized-vectors.c \
5 kx goops.c \
5 kx gsubr.c \
5 kx guardians.c \
5 kx hash.c \
5 kx hashtab.c \
5 kx hooks.c \
5 kx i18n.c \
5 kx init.c \
5 kx inline.c \
5 kx instructions.c \
5 kx intrinsics.c \
5 kx ioext.c \
5 kx jit.c \
5 kx keywords.c \
5 kx list.c \
5 kx load.c \
5 kx loader.c \
5 kx macros.c \
5 kx mallocs.c \
5 kx memoize.c \
5 kx modules.c \
5 kx null-threads.c \
5 kx numbers.c \
5 kx objprop.c \
5 kx options.c \
5 kx pairs.c \
5 kx poll.c \
5 kx ports.c \
5 kx print.c \
5 kx procprop.c \
5 kx procs.c \
5 kx programs.c \
5 kx promises.c \
5 kx r6rs-ports.c \
5 kx random.c \
5 kx rdelim.c \
5 kx read.c \
5 kx rw.c \
5 kx scmsigs.c \
5 kx script.c \
5 kx simpos.c \
5 kx smob.c \
5 kx sort.c \
5 kx srcprop.c \
5 kx srfi-1.c \
5 kx srfi-4.c \
5 kx srfi-13.c \
5 kx srfi-14.c \
5 kx srfi-60.c \
5 kx stackchk.c \
5 kx stacks.c \
5 kx stime.c \
5 kx strings.c \
5 kx strorder.c \
5 kx strports.c \
5 kx struct.c \
5 kx symbols.c \
5 kx syntax.c \
5 kx threads.c \
5 kx throw.c \
5 kx unicode.c \
5 kx uniform.c \
5 kx values.c \
5 kx variable.c \
5 kx vectors.c \
5 kx version.c \
5 kx vm.c \
5 kx vports.c \
5 kx weak-set.c \
5 kx weak-table.c \
5 kx weak-vector.c
5 kx
5 kx if ENABLE_JIT
5 kx libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES += $(lightening_c_files)
5 kx endif
5 kx
5 kx DOT_X_FILES = \
5 kx alist.x \
5 kx array-handle.x \
5 kx array-map.x \
5 kx arrays.x \
5 kx async.x \
5 kx atomic.x \
5 kx backtrace.x \
5 kx boolean.x \
5 kx bitvectors.x \
5 kx bytevectors.x \
5 kx chars.x \
5 kx control.x \
5 kx continuations.x \
5 kx debug.x \
5 kx deprecated.x \
5 kx deprecation.x \
5 kx dynl.x \
5 kx dynwind.x \
5 kx eq.x \
5 kx error.x \
5 kx eval.x \
5 kx evalext.x \
5 kx exceptions.x \
5 kx expand.x \
5 kx extensions.x \
5 kx fdes-finalizers.x \
5 kx feature.x \
5 kx filesys.x \
5 kx fluids.x \
5 kx foreign.x \
5 kx fports.x \
5 kx frames.x \
5 kx gc-malloc.x \
5 kx gc.x \
5 kx gettext.x \
5 kx generalized-arrays.x \
5 kx generalized-vectors.x \
5 kx goops.x \
5 kx gsubr.x \
5 kx guardians.x \
5 kx hash.x \
5 kx hashtab.x \
5 kx hooks.x \
5 kx i18n.x \
5 kx init.x \
5 kx instructions.x \
5 kx intrinsics.x \
5 kx ioext.x \
5 kx keywords.x \
5 kx list.x \
5 kx load.x \
5 kx loader.x \
5 kx macros.x \
5 kx mallocs.x \
5 kx memoize.x \
5 kx modules.x \
5 kx numbers.x \
5 kx objprop.x \
5 kx options.x \
5 kx pairs.x \
5 kx ports.x \
5 kx print.x \
5 kx procprop.x \
5 kx procs.x \
5 kx programs.x \
5 kx promises.x \
5 kx r6rs-ports.x \
5 kx random.x \
5 kx rdelim.x \
5 kx read.x \
5 kx rw.x \
5 kx scmsigs.x \
5 kx script.x \
5 kx simpos.x \
5 kx smob.x \
5 kx sort.x \
5 kx srcprop.x \
5 kx srfi-1.x \
5 kx srfi-4.x \
5 kx srfi-13.x \
5 kx srfi-14.x \
5 kx srfi-60.x \
5 kx stackchk.x \
5 kx stacks.x \
5 kx stime.x \
5 kx strings.x \
5 kx strorder.x \
5 kx strports.x \
5 kx struct.x \
5 kx symbols.x \
5 kx syntax.x \
5 kx threads.x \
5 kx throw.x \
5 kx unicode.x \
5 kx uniform.x \
5 kx values.x \
5 kx variable.x \
5 kx vectors.x \
5 kx version.x \
5 kx vm.x \
5 kx vports.x \
5 kx weak-set.x \
5 kx weak-table.x \
5 kx weak-vector.x
5 kx
5 kx EXTRA_DOT_X_FILES = @EXTRA_DOT_X_FILES@
5 kx
5 kx DOT_DOC_FILES = \
5 kx alist.doc \
5 kx array-handle.doc \
5 kx array-map.doc \
5 kx arrays.doc \
5 kx async.doc \
5 kx atomic.doc \
5 kx backtrace.doc \
5 kx boolean.doc \
5 kx bitvectors.doc \
5 kx bytevectors.doc \
5 kx chars.doc \
5 kx control.doc \
5 kx continuations.doc \
5 kx debug.doc \
5 kx deprecated.doc \
5 kx deprecation.doc \
5 kx dynl.doc \
5 kx dynwind.doc \
5 kx eq.doc \
5 kx error.doc \
5 kx eval.doc \
5 kx evalext.doc \
5 kx exceptions.doc \
5 kx expand.doc \
5 kx extensions.doc \
5 kx fdes-finalizers.doc \
5 kx feature.doc \
5 kx filesys.doc \
5 kx fluids.doc \
5 kx foreign.doc \
5 kx fports.doc \
5 kx gc-malloc.doc \
5 kx gc.doc \
5 kx gettext.doc \
5 kx generalized-arrays.doc \
5 kx generalized-vectors.doc \
5 kx goops.doc \
5 kx gsubr.doc \
5 kx guardians.doc \
5 kx hash.doc \
5 kx hashtab.doc \
5 kx hooks.doc \
5 kx i18n.doc \
5 kx init.doc \
5 kx ioext.doc \
5 kx keywords.doc \
5 kx list.doc \
5 kx load.doc \
5 kx macros.doc \
5 kx mallocs.doc \
5 kx memoize.doc \
5 kx modules.doc \
5 kx numbers.doc \
5 kx objprop.doc \
5 kx options.doc \
5 kx pairs.doc \
5 kx ports.doc \
5 kx print.doc \
5 kx procprop.doc \
5 kx procs.doc \
5 kx promises.doc \
5 kx r6rs-ports.doc \
5 kx random.doc \
5 kx rdelim.doc \
5 kx read.doc \
5 kx rw.doc \
5 kx scmsigs.doc \
5 kx script.doc \
5 kx simpos.doc \
5 kx smob.doc \
5 kx sort.doc \
5 kx srcprop.doc \
5 kx srfi-1.doc \
5 kx srfi-4.doc \
5 kx srfi-13.doc \
5 kx srfi-14.doc \
5 kx srfi-60.doc \
5 kx stackchk.doc \
5 kx stacks.doc \
5 kx stime.doc \
5 kx strings.doc \
5 kx strorder.doc \
5 kx strports.doc \
5 kx struct.doc \
5 kx symbols.doc \
5 kx syntax.doc \
5 kx threads.doc \
5 kx throw.doc \
5 kx unicode.doc \
5 kx uniform.doc \
5 kx values.doc \
5 kx variable.doc \
5 kx vectors.doc \
5 kx version.doc \
5 kx vports.doc \
5 kx weak-set.doc \
5 kx weak-table.doc \
5 kx weak-vector.doc
5 kx
5 kx EXTRA_DOT_DOC_FILES = @EXTRA_DOT_DOC_FILES@
5 kx
5 kx vm-operations.h: vm-engine.c
5 kx @echo '/* This file was generated automatically from $<; do not' > $@
5 kx @echo ' edit. See the source file for copyright information. */' >> $@
5 kx @echo '' >> $@
5 kx @echo "#define FOR_EACH_VM_OPERATION(M) \\" >> $@
5 kx $(AM_V_GEN)$(GREP) '^ *VM_DEFINE_OP' $< \
5 kx | sed -e 's,VM_DEFINE_OP (\(.*\)).*, M (\1) \\,' >> $@
5 kx @echo '' >> $@
5 kx
5 kx BUILT_INCLUDES = vm-operations.h scmconfig.h libpath.h
5 kx BUILT_SOURCES = cpp-E.c cpp-SIG.c $(BUILT_INCLUDES) \
5 kx $(DOT_X_FILES) $(EXTRA_DOT_X_FILES)
5 kx
5 kx # Force the generation of `guile-procedures.texi' because the top-level
5 kx # Makefile expects it to be built.
5 kx all-local: guile-procedures.texi
5 kx
5 kx EXTRA_libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES = \
5 kx syscalls.h \
5 kx dynl.c regex-posix.c \
5 kx posix.c net_db.c socket.c \
5 kx debug-malloc.c \
5 kx posix-w32.c \
5 kx locale-categories.h
5 kx
5 kx ## delete guile-snarf.awk from the installation bindir, in case it's
5 kx ## lingering there due to an earlier guile version not having been
5 kx ## wiped out.
5 kx install-exec-hook:
5 kx rm -f $(DESTDIR)$(bindir)/guile-snarf.awk
5 kx
5 kx ## Instantiate a template.
5 kx INSTANTIATE = \
5 kx $(SED) -i -e 's,[@]pkgdatadir[@],$(pkgdatadir),g' \
5 kx -e 's,[@]pkglibdir[@],$(pkglibdir),g' \
5 kx -e 's,[@]GUILE_EFFECTIVE_VERSION[@],$(GUILE_EFFECTIVE_VERSION),g'
5 kx
5 kx install-data-hook: libguile-@GUILE_EFFECTIVE_VERSION@-gdb.scm
5 kx @$(MKDIR_P) $(DESTDIR)$(libdir)
5 kx ## We want to install libguile-X.Y-gdb.scm as SOMETHING-gdb.scm.
5 kx ## SOMETHING is the full name of the final library. We want to ignore
5 kx ## symlinks, the .la file, and any previous -gdb.py file. This is
5 kx ## inherently fragile, but there does not seem to be a better option,
5 kx ## because libtool hides the real names from us. (Trick courtesy of
5 kx ## GNU libstdc++.)
5 kx @here=`pwd`; cd $(DESTDIR)$(libdir); \
5 kx for file in libguile-@GUILE_EFFECTIVE_VERSION@*; do \
5 kx case $$file in \
5 kx *-gdb.scm) ;; \
5 kx *.la) ;; \
5 kx *) if test -h $$file; then \
5 kx continue; \
5 kx fi; \
5 kx libname=$$file;; \
5 kx esac; \
5 kx done; \
5 kx cd $$here; \
5 kx echo " $(INSTALL_DATA) $< \
5 kx $(DESTDIR)$(libdir)/$$libname-gdb.scm"; \
5 kx $(INSTALL_DATA) "$<" \
5 kx "$(DESTDIR)$(libdir)/$$libname-gdb.scm"; \
5 kx $(INSTANTIATE) "$(DESTDIR)$(libdir)/$$libname-gdb.scm"
5 kx
5 kx # Remove the GDB support file and the Info 'dir' file that
5 kx # 'install-info' 5.x installs.
5 kx uninstall-hook:
5 kx -rm "$(DESTDIR)$(libdir)/libguile-@GUILE_EFFECTIVE_VERSION@"*-gdb.scm
5 kx -rm -f "$(DESTDIR)$(infodir)/dir"
5 kx
5 kx ## This is kind of nasty... there are ".c" files that we don't want to
5 kx ## compile, since they are #included. So instead we list them here.
5 kx ## Perhaps we can deal with them normally once the merge seems to be
5 kx ## working.
5 kx noinst_HEADERS = conv-integer.i.c conv-uinteger.i.c \
5 kx elf.h \
5 kx intrinsics.h \
5 kx srfi-14.i.c \
5 kx quicksort.i.c \
5 kx atomics-internal.h \
5 kx cache-internal.h \
5 kx posix-w32.h \
5 kx private-options.h \
5 kx ports-internal.h \
5 kx syntax.h \
5 kx weak-list.h
5 kx
5 kx # vm instructions
5 kx noinst_HEADERS += vm-engine.c
5 kx
5 kx libguile_@GUILE_EFFECTIVE_VERSION@_la_DEPENDENCIES = @LIBLOBJS@
5 kx
5 kx libguile_@GUILE_EFFECTIVE_VERSION@_la_LIBADD = \
5 kx @LIBLOBJS@ $(gnulib_library) $(LTLIBGMP) $(LTLIBLTDL)
5 kx
5 kx # Libtool version info.
5 kx version_info = @LIBGUILE_INTERFACE_CURRENT@:@LIBGUILE_INTERFACE_REVISION@:@LIBGUILE_INTERFACE_AGE@
5 kx
5 kx libguile_@GUILE_EFFECTIVE_VERSION@_la_LDFLAGS = \
5 kx $(BDW_GC_LIBS) $(LIBFFI_LIBS) \
5 kx $(CEIL_LIBM) \
5 kx $(FLOOR_LIBM) \
5 kx $(FREXP_LIBM) \
5 kx $(GETADDRINFO_LIB) \
5 kx $(HOSTENT_LIB) \
5 kx $(INET_NTOP_LIB) \
5 kx $(INET_PTON_LIB) \
5 kx $(ISNAND_LIBM) \
5 kx $(ISNANF_LIBM) \
5 kx $(ISNANL_LIBM) \
5 kx $(LDEXP_LIBM) \
5 kx $(LIBSOCKET) \
5 kx $(LIB_CLOCK_GETTIME) \
5 kx $(LOG1P_LIBM) \
5 kx $(LOG_LIBM) \
5 kx $(LTLIBICONV) \
5 kx $(LTLIBINTL) \
5 kx $(LTLIBUNISTRING) \
5 kx $(ROUND_LIBM) \
5 kx $(SERVENT_LIB) \
5 kx $(TRUNC_LIBM) \
5 kx -version-info $(version_info) \
5 kx -export-dynamic -no-undefined \
5 kx $(GNU_LD_FLAGS)
5 kx
5 kx if HAVE_LD_VERSION_SCRIPT
5 kx
5 kx libguile_@GUILE_EFFECTIVE_VERSION@_la_LDFLAGS += -Wl,--version-script="$(srcdir)/libguile.map"
5 kx
5 kx endif HAVE_LD_VERSION_SCRIPT
5 kx
5 kx
5 kx # These are headers visible as <guile/mumble.h>
5 kx pkginclude_HEADERS =
5 kx
5 kx # These are headers visible as <libguile/mumble.h>.
5 kx modincludedir = $(pkgincludedir)/$(GUILE_EFFECTIVE_VERSION)/libguile
5 kx modinclude_HEADERS = \
5 kx scm.h \
5 kx __scm.h \
5 kx alist.h \
5 kx array-handle.h \
5 kx array-map.h \
5 kx arrays.h \
5 kx async.h \
5 kx atomic.h \
5 kx backtrace.h \
5 kx bdw-gc.h \
5 kx boolean.h \
5 kx bitvectors.h \
5 kx bytevectors.h \
5 kx chars.h \
5 kx chooks.h \
5 kx control.h \
5 kx continuations.h \
5 kx debug-malloc.h \
5 kx debug.h \
5 kx deprecated.h \
5 kx deprecation.h \
5 kx dynl.h \
5 kx dynstack.h \
5 kx dynwind.h \
5 kx eq.h \
5 kx error.h \
5 kx eval.h \
5 kx evalext.h \
5 kx exceptions.h \
5 kx expand.h \
5 kx extensions.h \
5 kx fdes-finalizers.h \
5 kx feature.h \
5 kx finalizers.h \
5 kx filesys.h \
5 kx fluids.h \
5 kx foreign.h \
5 kx foreign-object.h \
5 kx fports.h \
5 kx frames.h \
5 kx gc.h \
5 kx gc-inline.h \
5 kx gettext.h \
5 kx generalized-arrays.h \
5 kx generalized-vectors.h \
5 kx goops.h \
5 kx gsubr.h \
5 kx guardians.h \
5 kx hash.h \
5 kx hashtab.h \
5 kx hooks.h \
5 kx i18n.h \
5 kx init.h \
5 kx inline.h \
5 kx instructions.h \
5 kx ioext.h \
5 kx iselect.h \
5 kx jit.h \
5 kx keywords.h \
5 kx list.h \
5 kx load.h \
5 kx loader.h \
5 kx macros.h \
5 kx mallocs.h \
5 kx memoize.h \
5 kx modules.h \
5 kx net_db.h \
5 kx null-threads.h \
5 kx numbers.h \
5 kx objprop.h \
5 kx options.h \
5 kx pairs.h \
5 kx poll.h \
5 kx ports.h \
5 kx posix.h \
5 kx print.h \
5 kx procprop.h \
5 kx procs.h \
5 kx programs.h \
5 kx promises.h \
5 kx pthread-threads.h \
5 kx r6rs-ports.h \
5 kx random.h \
5 kx rdelim.h \
5 kx read.h \
5 kx regex-posix.h \
5 kx rw.h \
5 kx scmsigs.h \
5 kx script.h \
5 kx simpos.h \
5 kx smob.h \
5 kx snarf.h \
5 kx socket.h \
5 kx sort.h \
5 kx srcprop.h \
5 kx srfi-1.h \
5 kx srfi-4.h \
5 kx srfi-13.h \
5 kx srfi-14.h \
5 kx srfi-60.h \
5 kx stackchk.h \
5 kx stacks.h \
5 kx stime.h \
5 kx strings.h \
5 kx strorder.h \
5 kx strports.h \
5 kx struct.h \
5 kx symbols.h \
5 kx tags.h \
5 kx threads.h \
5 kx throw.h \
5 kx validate.h \
5 kx unicode.h \
5 kx uniform.h \
5 kx values.h \
5 kx variable.h \
5 kx vectors.h \
5 kx vm-builtins.h \
5 kx vm-expand.h \
5 kx vm.h \
5 kx vports.h \
5 kx weak-set.h \
5 kx weak-table.h \
5 kx weak-vector.h
5 kx
5 kx nodist_modinclude_HEADERS = version.h scmconfig.h
5 kx
5 kx bin_SCRIPTS = guile-snarf
5 kx
5 kx # We can re-enable install for some of these if/when they are documented
5 kx # and people feel like maintaining them. For now, this is not the case.
5 kx noinst_SCRIPTS = guile-snarf-docs
5 kx
5 kx EXTRA_DIST = ChangeLog-scm ChangeLog-threads \
5 kx ChangeLog-1996-1999 ChangeLog-2000 ChangeLog-2008 \
5 kx guile-func-name-check \
5 kx cpp-E.syms cpp-E.c cpp-SIG.syms cpp-SIG.c \
5 kx c-tokenize.lex \
5 kx scmconfig.h.top libgettext.h unidata_to_charset.pl libguile.map \
5 kx vm-operations.h libguile-@GUILE_EFFECTIVE_VERSION@-gdb.scm \
5 kx $(lightening_c_files) $(lightening_extra_files)
5 kx # $(DOT_DOC_FILES) $(EXTRA_DOT_DOC_FILES) \
5 kx # guile-procedures.txt guile.texi
5 kx
5 kx ## FIXME: Consider using timestamp file, to avoid unnecessary rebuilds.
5 kx libpath.h: $(srcdir)/Makefile.in $(top_builddir)/config.status
5 kx @rm -f libpath.tmp
5 kx @echo '/* generated by Makefile */' > libpath.tmp
5 kx @echo '#define SCM_PKGDATA_DIR "$(pkgdatadir)"' >> libpath.tmp
5 kx @echo '#define SCM_LIBRARY_DIR "$(pkgdatadir)/$(GUILE_EFFECTIVE_VERSION)"'>>libpath.tmp
5 kx @echo '#define SCM_SITE_DIR "$(sitedir)"' >> libpath.tmp
5 kx @echo '#define SCM_GLOBAL_SITE_DIR "$(pkgdatadir)/site"' >> libpath.tmp
5 kx @echo '#define SCM_LIB_DIR "$(libdir)"' >> libpath.tmp
5 kx @echo '#define SCM_EXTENSIONS_DIR "$(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/extensions"' >> libpath.tmp
5 kx @echo '#define SCM_CCACHE_DIR "$(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/ccache"' >> libpath.tmp
5 kx @echo '#define SCM_SITE_CCACHE_DIR "$(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/site-ccache"' >> libpath.tmp
5 kx @echo '#define SCM_BUILD_INFO { \' >> libpath.tmp
5 kx @echo ' { "srcdir", "'"`cd @srcdir@; pwd`"'" }, \' >> libpath.tmp
5 kx @echo ' { "top_srcdir", "@top_srcdir_absolute@" }, \' >> libpath.tmp
5 kx @echo ' { "prefix", "@prefix@" }, \' >> libpath.tmp
5 kx @echo ' { "exec_prefix", "@exec_prefix@" }, \' >> libpath.tmp
5 kx @echo ' { "bindir", "@bindir@" }, \' >> libpath.tmp
5 kx @echo ' { "sbindir", "@sbindir@" }, \' >> libpath.tmp
5 kx @echo ' { "libexecdir", "@libexecdir@" }, \' >> libpath.tmp
5 kx @echo ' { "datadir", "@datadir@" }, \' >> libpath.tmp
5 kx @echo ' { "sysconfdir", "@sysconfdir@" }, \' >> libpath.tmp
5 kx @echo ' { "sharedstatedir", "@sharedstatedir@" }, \' >> libpath.tmp
5 kx @echo ' { "localstatedir", "@localstatedir@" }, \' >> libpath.tmp
5 kx @echo ' { "libdir", "@libdir@" }, \' >> libpath.tmp
5 kx @echo ' { "ccachedir", SCM_CCACHE_DIR }, \' >> libpath.tmp
5 kx @echo ' { "infodir", "@infodir@" }, \' >> libpath.tmp
5 kx @echo ' { "mandir", "@mandir@" }, \' >> libpath.tmp
5 kx @echo ' { "includedir", "@includedir@" }, \' >> libpath.tmp
5 kx @echo ' { "pkgdatadir", "$(pkgdatadir)" }, \' >> libpath.tmp
5 kx @echo ' { "pkglibdir", "$(pkglibdir)" }, \' >> libpath.tmp
5 kx @echo ' { "pkgincludedir", "$(pkgincludedir)" }, \' \
5 kx >> libpath.tmp
5 kx @echo ' { "extensiondir", "$(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/extensions" }, \' >> libpath.tmp
5 kx @echo ' { "guileversion", "@GUILE_VERSION@" }, \' >> libpath.tmp
5 kx @echo ' { "libguileinterface", "@LIBGUILE_INTERFACE@" }, \' \
5 kx >> libpath.tmp
5 kx @echo ' { "LIBS", "@GUILE_LIBS@" }, \' >> libpath.tmp
5 kx @echo ' { "CFLAGS", "@GUILE_CFLAGS@" }, \' >> libpath.tmp
5 kx @BUILD_DATE="$${SOURCE_DATE_EPOCH:-`date '+%s'`}" ; \
5 kx echo ' { "buildstamp", "'`date -u +'%Y-%m-%d %T' -d @$$BUILD_DATE`'" }, \' >> libpath.tmp
5 kx @echo '}' >> libpath.tmp
5 kx $(AM_V_GEN)mv libpath.tmp libpath.h
5 kx
5 kx
5 kx snarfcppopts = $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS)
5 kx
5 kx SUFFIXES = .x .doc
5 kx
5 kx .c.x:
5 kx $(AM_V_SNARF)$(GUILE_SNARF) -o $@ $< $(snarfcppopts)
5 kx .c.doc:
5 kx $(AM_V_SNARF)./guile-snarf-docs -o $@ $< -- $(snarfcppopts)
5 kx
5 kx $(DOT_X_FILES) $(EXTRA_DOT_X_FILES): $(BUILT_INCLUDES) snarf.h guile-snarf.in version.h
5 kx
5 kx $(DOT_DOC_FILES) $(EXTRA_DOT_DOC_FILES): $(BUILT_INCLUDES) snarf.h guile-snarf-docs.in guile_filter_doc_snarfage$(EXEEXT)
5 kx
5 kx error.x: cpp-E.c
5 kx posix.x: cpp-SIG.c
5 kx
5 kx alldotdocfiles = $(DOT_DOC_FILES) $(EXTRA_DOT_DOC_FILES)
5 kx snarf2checkedtexi = GUILE_AUTO_COMPILE=0 $(top_builddir)/meta/build-env guild snarf-check-and-output-texi
5 kx dotdoc2texi = cat $(alldotdocfiles) | $(snarf2checkedtexi)
5 kx
5 kx guile.texi: $(alldotdocfiles) guile$(EXEEXT)
5 kx $(dotdoc2texi) --manual > $@ || { rm $@; false; }
5 kx
5 kx guile-procedures.texi: $(alldotdocfiles) guile$(EXEEXT)
5 kx $(AM_V_GEN)$(dotdoc2texi) > $@ || { rm $@; false; }
5 kx
5 kx c-tokenize.c: c-tokenize.lex
5 kx flex -t $(srcdir)/c-tokenize.lex > $@ || { rm $@; false; }
5 kx
5 kx ## Add -MG to make the .x magic work with auto-dep code.
5 kx MKDEP = gcc -M -MG $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS)
5 kx
5 kx
5 kx # This page is for maintenance of the lists of CPP symbols that are eventually
5 kx # included in error.c (‘errno’ values: E*) and posix.c (signal names: SIG*),
5 kx # in the funcs scm_init_{error,posix}, respectively.
5 kx #
5 kx # The lists (files cpp-{E,SIG}.syms) are not included verbatim, but processed
5 kx # (via pattern rule ‘.syms.c’ below) so that each CPP symbol is transformed to
5 kx # fragment of #ifdef'd C code that defines a Scheme variable of the same name.
5 kx # The resulting files, cpp-{E,SIG}.c, are the ones #include:d.
5 kx #
5 kx # To maintain the (source) lists of symbols, we use a GCC-specific feature
5 kx # to list all symbols #define:d when expanding <{errno,signal}.h>, grep
5 kx # the output for {E,SIG}*, massage the result into a usable form, and
5 kx # construct a union of the current and new symbols. This is written to
5 kx # files cpp-{E,SIG}.syms.NEW for review. If things look ok, you can then
5 kx # "mv foo.NEW foo" and commit. Generating the foo.NEW files and showing
5 kx # an informative message is the job of targets chknew-{E,SIG}.
5 kx
5 kx # For each line in foo.syms, transform:
5 kx # SYMBOL
5 kx # to:
5 kx # #ifdef SYMBOL
5 kx # scm_c_define ("SYMBOL", scm_from_int (SYMBOL));
5 kx # #endif
5 kx # writing output to foo.c. We use a while-read loop instead of a
5 kx # one-line sed script because some seds (e.g., FreeBSD) don't read
5 kx # '\n' as a newline (like GNU sed does). Sad, but true.
5 kx .syms.c:
5 kx $(AM_V_GEN) \
5 kx cat $< | while read sym ; do \
5 kx echo "#ifdef $$sym" ; \
5 kx echo "scm_c_define (\"$$sym\", scm_from_int ($$sym));" ; \
5 kx echo "#endif" ; \
5 kx done > $@T
5 kx @mv $@T $@
5 kx
5 kx # Write $(srcdir)/cpp-{E,SIG}.syms.NEW if there are any not-yet-seen
5 kx # ("new" to us) E* or SIG* symbols in <errno.h> or <signal.h>, respectively.
5 kx chknew-E chknew-SIG:
5 kx @bit=`echo $@ | sed s/^chknew-//` ; \
5 kx old="$(srcdir)/cpp-$$bit.syms" ; \
5 kx echo "#include <$${bit}.h>" \
5 kx | sed 's/E/errno/;s/SIG/signal/' \
5 kx | gcc -dM -E - \
5 kx | sed 's/^#define //;/^'$$bit'[0-9A-Z][0-9A-Z]* /!d;s/ .*//' \
5 kx | sort | diff -u $$old - | sed '1,2d;/^+/!d;s/^.//' \
5 kx > TMP ; \
5 kx if [ -s TMP ] ; then new="$$old.NEW" ; \
5 kx cat $$old TMP | sort > $$new ; \
5 kx echo "$$new: `sed -n '$$=' TMP` new symbol(s)." ; \
5 kx sed 's/^/ /' TMP ; \
5 kx else echo "No new symbols found." ; \
5 kx fi ; rm TMP
5 kx
5 kx
5 kx
5 kx MOSTLYCLEANFILES = \
5 kx scmconfig.h scmconfig.h.tmp
5 kx
5 kx CLEANFILES = libpath.h *.x *.doc guile-procedures.txt guile-procedures.texi guile.texi
5 kx
5 kx MAINTAINERCLEANFILES = c-tokenize.c