diff --git a/lisp/Config.sun4_solaris_sunc b/lisp/Config.sun4_solaris_sunc
index 1125cae332b007a584556c1f3cc481a3e479098e..0262d75aee908fe2a73aa84ff8f329e2e8d98694 100644
--- a/lisp/Config.sun4_solaris_sunc
+++ b/lisp/Config.sun4_solaris_sunc
@@ -18,23 +18,34 @@ vpath %.S .:$(PATH1)
 # because we really are a v8plus application by using some of the v9
 # instructions, even if we don't use the 64-bit registers.
 
+ifdef FEATURE_SPARC_V9
 CC_V8PLUS = -xarch=v8plus
-AS_V8PLUS = -Wa,-xarch=v8plus
+AS_V8PLUS = -xarch=v8plus
+endif
 
 # Enable support for :linkage-table feature.
 
+ifdef FEATURE_LINKAGE_TABLE
 LINKAGE = -DLINKAGE_TABLE
+endif
 
-CPPFLAGS = -I. -I$(PATH1) -I/usr/openwin/include -I/usr/include/X11 -DSOLARIS -DSOLARIS25 -DSVR4 $(CC_V8PLUS) $(LINKAGE)
+# Enable support for generational GC
+ifdef FEATURE_GENCGC
+GENCGC = -DGENCGC
+GC_SRC = gencgc.c
+endif
+
+CPPFLAGS = -Dinline= -I. -I$(PATH1) -I/usr/openwin/include -I/usr/include/X11 -DSOLARIS -DSOLARIS25 -DSVR4 $(CC_V8PLUS) $(LINKAGE) $(GENCGC)
 
 
 CC = cc -O
 CPP = cc -E
 # -xs so we can use gdb
-CFLAGS = -g -xs $(AS_V8PLUS) $(CC_V8PLUS)
+CFLAGS = -g $(CC_V8PLUS)
+ASFLAGS = $(AS_V8PLUS)
 
 # SunC 2.0.1 doesn't understand .S suffixes anymore.
-COMPILE.S = as -P $(CPPFLAGS)
+COMPILE.S = as -P $(CPPFLAGS) $(AS_V8PLUS)
 NM = $(PATH1)/solaris-nm
 ASSEM_SRC = sparc-assem.S
 ARCH_SRC = sparc-arch.c
@@ -43,7 +54,9 @@ ARCH_SRC = sparc-arch.c
 # This has been checked out on Solaris 2.7 (aka 7) without problems.
 # The resulting binaries work ok on 2.5.
 
-OS_SRC = solaris-os.c os-common.c undefineds.c
+DEPEND=$(CC) 
+DEPEND_FLAGS = -xM
+OS_SRC = solaris-os.c os-common.c undefineds.c elf.c
 OS_LINK_FLAGS=
 OS_LIBS= -lsocket -lnsl -ldl