Update configuration to handle COMPILED_SOURCES better. Also use
authorChris Hanson <org/chris-hanson/cph>
Sun, 1 Oct 2006 20:56:58 +0000 (20:56 +0000)
committerChris Hanson <org/chris-hanson/cph>
Sun, 1 Oct 2006 20:56:58 +0000 (20:56 +0000)
AC_PATH_X rather than AC_PATH_XTRA to eliminate unnecessary
dependencies in the output.

v7/src/microcode/configure.ac
v7/src/microcode/makegen/Makefile.in.in
v7/src/microcode/makegen/makegen.scm

index 73aa0445975267e977b028c00357cdf7b31f64c0..bb75e9b51279bce501361e3baf3a11235e752978 100644 (file)
@@ -1,7 +1,7 @@
 dnl Process this file with autoconf to produce a configure script.
 
 AC_INIT([MIT/GNU Scheme microcode], [14.18], [bug-mit-scheme@gnu.org], [mit-scheme])
-AC_REVISION([$Id: configure.ac,v 1.14 2006/09/25 04:40:10 cph Exp $])
+AC_REVISION([$Id: configure.ac,v 1.15 2006/10/01 20:56:45 cph Exp $])
 AC_CONFIG_SRCDIR([boot.c])
 AC_CONFIG_HEADERS([config.h])
 AC_PROG_MAKE_SET
@@ -153,9 +153,9 @@ MODULE_BASES=
 MODULE_CFLAGS="-DCOMPILE_AS_MODULE"
 MODULE_LDFLAGS=
 COMPILED_DEFS=
-CMPAUXMDO=
 COMPILED_SOURCES_1=
 COMPILED_OBJECTS_1=
+CMPAUXMDO=
 
 dnl Checks for programs.
 AC_PROG_CC
@@ -547,7 +547,7 @@ fi
 
 dnl Checks for system characteristics.
 AC_CANONICAL_HOST
-AC_PATH_XTRA
+AC_PATH_X
 AC_SYS_LARGEFILE
 AC_SYS_LONG_FILE_NAMES
 AC_SYS_RESTARTABLE_SYSCALLS
@@ -870,12 +870,17 @@ else
         [Define that the compiler outputs C code instead of binaries.])
     test -f cmpauxmd.c || ${LN_S} cmpauxmd/c.c cmpauxmd.c
     test -f cmpintmd.h || ${LN_S} cmpintmd/c.h cmpintmd.h
-    COMPILED_DEFS="${COMPILED_DEFS} -DCOMPILE_FOR_STATIC_LINKING"
-    COMPILED_SOURCES_1="\$(COMPILED_SOURCES)"
-    COMPILED_OBJECTS_1="\$(COMPILED_OBJECTS)"
     OPTIONAL_SOURCES="${OPTIONAL_SOURCES} cmpauxmd.c unstackify.c compinit.c"
     OPTIONAL_OBJECTS="${OPTIONAL_OBJECTS} cmpauxmd.o unstackify.o compinit.o"
     GC_HEAD_FILES="${GC_HEAD_FILES} cmpintmd.h"
+    COMPILED_DEFS="-DCOMPILE_FOR_STATIC_LINKING"
+    COMPILED_SOURCES="utabmd.c"
+    for D in runtime sf cref star-parser compiler; do
+       COMPILED_SOURCES="${COMPILED_SOURCES} \$(wildcard ../${D}/*.c"
+    done
+    for D in back base fggen fgopt machines/C rtlbase rtlgen rtlopt; do
+       COMPILED_SOURCES="${COMPILED_SOURCES} \$(wildcard ../compiler/${D}/*.c"
+    done
     CMPAUXMDO="cmpauxmd.o"    
 fi
 
@@ -916,9 +921,9 @@ AC_SUBST_FILE([MODULE_RULES])
 AC_SUBST([MODULE_CFLAGS])
 AC_SUBST([MODULE_LDFLAGS])
 AC_SUBST([COMPILED_DEFS])
+AC_SUBST([COMPILED_SOURCES])
+AC_SUBST([COMPILED_OBJECTS])
 AC_SUBST([CMPAUXMDO])
-AC_SUBST([COMPILED_SOURCES_1])
-AC_SUBST([COMPILED_OBJECTS_1])
 
 AC_CONFIG_FILES([Makefile])
 AC_OUTPUT
index dd76d924b428a3522e1833bc5fff82b0ad1387ea..fe505895b1e22a09a9afb8c8addcdc2489ff743d 100644 (file)
@@ -1,6 +1,6 @@
 # -*- Makefile -*-
 #
-# $Id: Makefile.in.in,v 1.31 2006/09/29 19:28:58 cph Exp $
+# $Id: Makefile.in.in,v 1.32 2006/10/01 20:56:52 cph Exp $
 #
 # Copyright 2000,2001,2002,2003,2005,2006 Massachusetts Institute of Technology
 #
@@ -61,19 +61,10 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 # **** END BOILERPLATE ****
 
 # **** C back end stuff (I) ****
-
 COMPILED_DEFS = @COMPILED_DEFS@
-
-COMPILED_SOURCES = @(write-compiled "files-compiled")@
-
+COMPILED_SOURCES = @COMPILED_SOURCES@
 COMPILED_OBJECTS = $(COMPILED_SOURCES:.c=.o)
 
-COMPILED_SOURCES_1 = @COMPILED_SOURCES_1@
-
-COMPILED_OBJECTS_1 = @COMPILED_OBJECTS_1@
-
-# **** End C back end stuff (I) ***
-
 # **** Tool configuration ****
 
 AUXDIR = $(libdir)/mit-scheme
@@ -87,14 +78,13 @@ GZIP_ENV = --best
 DEFS = -DMIT_SCHEME -DDEFAULT_LIBRARY_PATH=\"$(AUXDIR)\" @DEFS@ \
        $(COMPILED_DEFS) @SCHEME_DEFS@ -I. -I$(srcdir) -I.
 CFLAGS = @CFLAGS@
-X_CFLAGS = @X_CFLAGS@
 CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 M4_FLAGS = @M4_FLAGS@
 AS_FLAGS = @AS_FLAGS@
 
-COMPILE = $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS)
+COMPILE = $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS)
 CCLD = $(CC)
 LINK = $(CCLD) $(CFLAGS) $(LDFLAGS) -o $@
 EXPAND = $(M4) $(M4_FLAGS)
@@ -103,10 +93,10 @@ ASSEMBLE = $(AS) $(AS_FLAGS)
 # **** Configured files ****
 
 GC_HEAD_FILES = @GC_HEAD_FILES@
-OPTIONAL_SOURCES = @OPTIONAL_SOURCES@ $(COMPILED_SOURCES_1)
-OPTIONAL_OBJECTS = @OPTIONAL_OBJECTS@ $(COMPILED_OBJECTS_1)
+OPTIONAL_SOURCES = @OPTIONAL_SOURCES@ $(COMPILED_SOURCES)
+OPTIONAL_OBJECTS = @OPTIONAL_OBJECTS@ $(COMPILED_OBJECTS)
 STATIC_LIBS = @STATIC_PREFIX@ @STATIC_LIBS@ @STATIC_SUFFIX@
-X_LIBS = @X_PRE_LIBS@ @LIB_X11@ @X_EXTRA_LIBS@
+X_LIBS = @LIB_X11@
 PRBFISH_LIBS = @PRBFISH_LIBS@
 PRMD5_LIBS = @PRMD5_LIBS@
 
@@ -354,10 +344,10 @@ install-auxDATA: $(aux_DATA)
 
 # **** C back end stuff (II) ****
 
-@CMPAUXMDO@ : cmpauxmd.c liarc.tch prims.h bignum.h bitstr.h avltree.h \
+@CMPAUXMDO@: cmpauxmd.c liarc.tch prims.h bignum.h bitstr.h avltree.h \
        outf.h extern.h
 
-compinit.o : compinit.c compinit.h liarc.tch
+compinit.o: compinit.c compinit.h liarc.tch
 
 unstackify.o: unstackify.c stackops.h liarc.tch
 
@@ -378,22 +368,20 @@ outf.h \
 extern.h \
 $(GC_HEAD_FILES)
 
-#/* The following includes liarc.tch in case COMPILED_SOURCES is empty,
-#   to prevent fgrep from reading stdin.
-# */
-compinit.h : $(COMPILED_SOURCES) liarc.tch Makefile
-       @echo "#*** Generating" $@ "because of" $?
+# The following includes liarc.tch in case COMPILED_SOURCES is empty,
+# to prevent grep from reading stdin.
+
+compinit.h: $(COMPILED_SOURCES) liarc.tch Makefile
        rm -f $@
-       grep -E \^DECLARE_COMPILED_CODE liarc.tch $(COMPILED_SOURCES) | \
-       sed -e 's/.*:/  /' -e 's/)/);/' > $@
-       grep -E \^DECLARE_COMPILED_DATA liarc.tch $(COMPILED_SOURCES) | \
-       sed -e 's/.*:/  /' -e 's/)/);/' >> $@
-       grep -E \^DECLARE_DATA_OBJECT liarc.tch $(COMPILED_SOURCES) | \
-       sed -e 's/.*:/  /' -e 's/)/);/' >> $@
-
-foo $(COMPILED_OBJECTS) : liarc.tch
+       grep \^DECLARE_COMPILED_CODE liarc.tch $(COMPILED_SOURCES) \
+       sed -e 's/.*:/  /' -e 's/)/);/' > $@
+       grep \^DECLARE_COMPILED_DATA liarc.tch $(COMPILED_SOURCES) \
+       sed -e 's/.*:/  /' -e 's/)/);/' >> $@
+       grep \^DECLARE_DATA_OBJECT liarc.tch $(COMPILED_SOURCES) \
+       sed -e 's/.*:/  /' -e 's/)/);/' >> $@
+
+foo $(COMPILED_OBJECTS): liarc.tch
 liarc.tch: liarc.h $(LIARC_HEAD_FILES)
-       @echo "#** Generating" $@ because of $?
        rm -f $@
        echo "touch" > $@
 
index eced00d240d62b7ba65356957fbcff90d4aad590..352166772b5a1cd61c62fb5121ef97a34802980e 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: makegen.scm,v 1.11 2006/09/25 05:56:12 cph Exp $
+$Id: makegen.scm,v 1.12 2006/10/01 20:56:58 cph Exp $
 
 Copyright 2000,2001,2003,2005,2006 Massachusetts Institute of Technology
 
@@ -98,10 +98,6 @@ USA.
          ((WRITE-DEPENDENCIES)
           (guarantee-nargs 0)
           (write-dependencies file-lists deps-filename output))
-         ((WRITE-COMPILED)
-          (map-over-entries
-           (lambda (entry)
-             (string-append "$(wildcard " entry ")"))))
          (else
           (error "Unknown command:" command)))))))
 \f
@@ -109,10 +105,8 @@ USA.
   (maybe-update-dependencies
    deps-filename
    (sort (append-map (lambda (file-list)
-                      (if (string=? (car file-list) "files-compiled")
-                          '()
-                          (map (lambda (base) (string-append base ".c"))
-                               (cdr file-list))))
+                      (map (lambda (base) (string-append base ".c"))
+                           (cdr file-list)))
                     file-lists)
      string<?))
   (call-with-input-file deps-filename