summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2000-06-10 22:13:40 +0000
committerpeter <peter@FreeBSD.org>2000-06-10 22:13:40 +0000
commit9fbe309befea3309aaa3b4ba51b0a98b67237143 (patch)
treed1d5b4de3ae6d63afdbed089889761df8d9c9f2c
parent705b81c200d1314114fe9874115a22605e085a4c (diff)
downloadFreeBSD-src-9fbe309befea3309aaa3b4ba51b0a98b67237143.zip
FreeBSD-src-9fbe309befea3309aaa3b4ba51b0a98b67237143.tar.gz
A checkpoint of a part of a work-in-progress. Some more cleanups for
config(8). This commit allows control of the creation of the #include "foo.h" files. We now only create them explicitly when needed. BTW; these are mostly bad because they usually imply static limits on numbers of units for devices. eg: struct mysoftc sc[NFOO]; These static limits have Got To Go.
-rw-r--r--sys/conf/Makefile.alpha2
-rw-r--r--sys/conf/Makefile.i3862
-rw-r--r--sys/conf/Makefile.pc982
-rw-r--r--sys/conf/Makefile.powerpc2
-rw-r--r--sys/conf/files70
-rw-r--r--sys/conf/files.alpha17
-rw-r--r--sys/conf/files.i38671
-rw-r--r--sys/conf/files.pc9873
-rw-r--r--usr.sbin/config/config.h4
-rw-r--r--usr.sbin/config/configvers.h2
-rw-r--r--usr.sbin/config/main.c3
-rw-r--r--usr.sbin/config/mkheaders.c54
-rw-r--r--usr.sbin/config/mkmakefile.c50
-rw-r--r--usr.sbin/config/mkoptions.c7
14 files changed, 174 insertions, 185 deletions
diff --git a/sys/conf/Makefile.alpha b/sys/conf/Makefile.alpha
index f73f864..18a94ea 100644
--- a/sys/conf/Makefile.alpha
+++ b/sys/conf/Makefile.alpha
@@ -17,7 +17,7 @@
#
# Which version of config(8) is required.
-%VERSREQ= 400018
+%VERSREQ= 500001
# Can be overridden by makeoptions or /etc/make.conf
KERNEL?= kernel
diff --git a/sys/conf/Makefile.i386 b/sys/conf/Makefile.i386
index 8d0dcf8..81d2d74 100644
--- a/sys/conf/Makefile.i386
+++ b/sys/conf/Makefile.i386
@@ -17,7 +17,7 @@
#
# Which version of config(8) is required.
-%VERSREQ= 400018
+%VERSREQ= 500001
# Can be overridden by makeoptions or /etc/make.conf
KERNEL?= kernel
diff --git a/sys/conf/Makefile.pc98 b/sys/conf/Makefile.pc98
index f4394a3..686dcef 100644
--- a/sys/conf/Makefile.pc98
+++ b/sys/conf/Makefile.pc98
@@ -19,7 +19,7 @@
#
# Which version of config(8) is required.
-%VERSREQ= 400018
+%VERSREQ= 500001
# Can be overridden by makeoptions or /etc/make.conf
KERNEL?= kernel
diff --git a/sys/conf/Makefile.powerpc b/sys/conf/Makefile.powerpc
index 8d0dcf8..81d2d74 100644
--- a/sys/conf/Makefile.powerpc
+++ b/sys/conf/Makefile.powerpc
@@ -17,7 +17,7 @@
#
# Which version of config(8) is required.
-%VERSREQ= 400018
+%VERSREQ= 500001
# Can be overridden by makeoptions or /etc/make.conf
KERNEL?= kernel
diff --git a/sys/conf/files b/sys/conf/files
index f532fb4..c3336f9 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -34,7 +34,7 @@ cam/scsi/scsi_scan.c optional scan
cam/scsi/scsi_ses.c optional ses
cam/scsi/scsi_targ_bh.c optional targbh
cam/scsi/scsi_target.c optional targ
-coda/coda_fbsd.c optional vcoda
+coda/coda_fbsd.c count vcoda
coda/coda_namecache.c optional vcoda
coda/coda_psdev.c optional vcoda
coda/coda_subr.c optional vcoda
@@ -81,7 +81,7 @@ dev/advansys/adw_pci.c optional adw pci
dev/advansys/adwcam.c optional adw
dev/advansys/adwlib.c optional adw
dev/advansys/adwmcode.c optional adw
-dev/aha/aha.c optional aha
+dev/aha/aha.c count aha
dev/aha/aha_isa.c optional aha isa
dev/aha/aha_mca.c optional aha mca
dev/ahb/ahb.c optional ahb eisa
@@ -106,24 +106,24 @@ dev/awi/awi.c optional awi
dev/awi/if_awi_pccard.c optional awi card
dev/bktr/bktr_audio.c optional bktr pci
dev/bktr/bktr_card.c optional bktr pci
-dev/bktr/bktr_core.c optional bktr pci
+dev/bktr/bktr_core.c count bktr pci
dev/bktr/bktr_i2c.c optional bktr pci smbus
dev/bktr/bktr_os.c optional bktr pci
dev/bktr/bktr_tuner.c optional bktr pci
-dev/buslogic/bt.c optional bt
+dev/buslogic/bt.c count bt
dev/buslogic/bt_eisa.c optional bt eisa
dev/buslogic/bt_isa.c optional bt isa
dev/buslogic/bt_mca.c optional bt mca
dev/buslogic/bt_pci.c optional bt pci
dev/cardbus/cardbus.c optional cardbus
-dev/ccd/ccd.c optional ccd
+dev/ccd/ccd.c count ccd
dev/cs/if_cs.c optional cs
#dev/dpt/dpt_control.c optional dpt
dev/dpt/dpt_eisa.c optional dpt eisa
dev/dpt/dpt_pci.c optional dpt pci
dev/dpt/dpt_scsi.c optional dpt
dev/ed/if_ed_pci.c optional ed pci
-dev/en/midway.c optional en
+dev/en/midway.c count en
dev/ep/if_ep.c optional ep
dev/ep/if_ep_eisa.c optional ep eisa
dev/ep/if_ep_isa.c optional ep isa
@@ -157,7 +157,7 @@ dev/ida/ida.c optional ida
dev/ida/ida_disk.c optional ida
dev/ida/ida_eisa.c optional ida eisa
dev/ida/ida_pci.c optional ida pci
-dev/ie/if_ie.c optional ie isa
+dev/ie/if_ie.c count ie isa
dev/iicbus/iicbb_if.m optional iicbb
dev/iicbus/iicbus_if.m optional iicbus
dev/iicbus/if_ic.c optional ic
@@ -171,7 +171,7 @@ dev/isp/isp.c optional isp
dev/isp/isp_freebsd.c optional isp
dev/isp/isp_target.c optional isp
dev/lmc/if_lmc.c optional lmc
-dev/lnc/if_lnc.c optional lnc
+dev/lnc/if_lnc.c count lnc
dev/lnc/if_lnc_isa.c optional lnc isa
dev/lnc/if_lnc_pc98.c optional lnc isa
dev/lnc/if_lnc_pci.c optional lnc pci
@@ -204,7 +204,7 @@ dev/pccard/power_if.m optional pccard
dev/pcic/i82365.c optional pcic pccard
dev/pcic/i82365_isa.c optional pcic pccard
dev/pdq/if_fea.c optional fea eisa
-dev/pdq/if_fpa.c optional fpa pci
+dev/pdq/if_fpa.c count fpa pci
dev/pdq/pdq.c optional fea eisa
dev/pdq/pdq.c optional fpa pci
dev/pdq/pdq_ifsubr.c optional fea eisa
@@ -232,7 +232,7 @@ dev/si/si_pci.c optional si pci
dev/smbus/smbus_if.m optional smbus
dev/smbus/smb.c optional smb
dev/smbus/smbconf.c optional smbus
-dev/smbus/smbus.c optional smbus
+dev/smbus/smbus.c count smbus
dev/sn/if_sn.c optional sn
dev/sn/if_sn_isa.c optional sn isa
dev/sn/if_sn_pccard.c optional sn card
@@ -305,7 +305,7 @@ dev/vinum/vinumrevive.c optional vinum
dev/vinum/vinumstate.c optional vinum
dev/vinum/vinumutil.c optional vinum
dev/vn/vn.c optional vn
-dev/vx/if_vx.c optional vx
+dev/vx/if_vx.c count vx
dev/vx/if_vx_eisa.c optional vx eisa
dev/vx/if_vx_pci.c optional vx pci
dev/xe/if_xe.c optional xe
@@ -320,21 +320,21 @@ gnu/ext2fs/ext2_subr.c optional ext2fs
gnu/ext2fs/ext2_vfsops.c optional ext2fs
gnu/ext2fs/ext2_vnops.c optional ext2fs
# device drivers
-i4b/driver/i4b_trace.c optional i4btrc
-i4b/driver/i4b_rbch.c optional i4brbch
-i4b/driver/i4b_tel.c optional i4btel
-i4b/driver/i4b_ipr.c optional i4bipr
-i4b/driver/i4b_ctl.c optional i4bctl
-i4b/driver/i4b_isppp.c optional i4bisppp
-net/if_spppsubr.c optional sppp
+i4b/driver/i4b_trace.c count i4btrc
+i4b/driver/i4b_rbch.c count i4brbch
+i4b/driver/i4b_tel.c count i4btel
+i4b/driver/i4b_ipr.c count i4bipr
+i4b/driver/i4b_ctl.c count i4bctl
+i4b/driver/i4b_isppp.c count i4bisppp
+net/if_spppsubr.c count sppp
# needed by i4bipr
net/slcompress.c optional i4bipr
# tina-dd control driver
-i4b/tina-dd/i4b_tina_dd.c optional tina
+i4b/tina-dd/i4b_tina_dd.c count tina
# support
i4b/layer2/i4b_mbuf.c optional i4btrc
# Q.921 handler
-i4b/layer2/i4b_l2.c optional i4bq921
+i4b/layer2/i4b_l2.c count i4bq921
i4b/layer2/i4b_l2fsm.c optional i4bq921
i4b/layer2/i4b_uframe.c optional i4bq921
i4b/layer2/i4b_tei.c optional i4bq921
@@ -344,7 +344,7 @@ i4b/layer2/i4b_l2timer.c optional i4bq921
i4b/layer2/i4b_util.c optional i4bq921
i4b/layer2/i4b_lme.c optional i4bq921
# Q.931 handler
-i4b/layer3/i4b_q931.c optional i4bq931
+i4b/layer3/i4b_q931.c count i4bq931
i4b/layer3/i4b_l3fsm.c optional i4bq931
i4b/layer3/i4b_l3timer.c optional i4bq931
i4b/layer3/i4b_l2if.c optional i4bq931
@@ -352,11 +352,11 @@ i4b/layer3/i4b_l4if.c optional i4bq931
i4b/layer3/i4b_q932fac.c optional i4bq931
# isdn device driver, interface to i4bd
i4b/layer4/i4b_i4bdrv.c optional i4b
-i4b/layer4/i4b_l4.c optional i4b
+i4b/layer4/i4b_l4.c count i4b
i4b/layer4/i4b_l4mgmt.c optional i4b
i4b/layer4/i4b_l4timer.c optional i4b
isa/isa_if.m optional isa
-isa/isa_common.c optional isa
+isa/isa_common.c count isa
isa/isahint.c optional isa
isa/joy.c optional joy
isa/pnp.c optional isa
@@ -446,7 +446,7 @@ kern/tty_compat.c standard
kern/tty_conf.c standard
kern/tty_cons.c standard
kern/tty_pty.c optional pty
-kern/tty_snoop.c optional snp
+kern/tty_snoop.c count snp
kern/tty_subr.c standard
kern/tty_tty.c standard
kern/uipc_domain.c standard
@@ -535,7 +535,7 @@ msdosfs/msdosfs_lookup.c optional msdosfs
msdosfs/msdosfs_vfsops.c optional msdosfs
msdosfs/msdosfs_vnops.c optional msdosfs
net/bpf.c standard
-net/bpf_filter.c optional bpf
+net/bpf_filter.c count bpf
net/bridge.c optional bridge
net/bsd_comp.c optional ppp_bsdcomp
#net/hostcache.c standard
@@ -544,18 +544,18 @@ net/if_atmsubr.c optional atm
net/if_disc.c optional disc
net/if_ef.c optional ef
net/if_ethersubr.c optional ether
-net/if_faith.c optional faith
+net/if_faith.c count faith
net/if_fddisubr.c optional fddi
-net/if_gif.c optional gif
+net/if_gif.c count gif
net/if_iso88025subr.c optional token
-net/if_loop.c optional loop
+net/if_loop.c count loop
net/if_media.c standard
net/if_mib.c standard
-net/if_ppp.c optional ppp
+net/if_ppp.c count ppp
net/if_sl.c optional sl
net/if_spppsubr.c optional sppp
net/if_tun.c optional tun
-net/if_vlan.c optional vlan
+net/if_vlan.c count vlan
net/intrq.c standard
net/net_osdep.c standard
net/ppp_deflate.c optional ppp_deflate
@@ -811,7 +811,7 @@ nwfs/nwfs_node.c optional nwfs
nwfs/nwfs_subr.c optional nwfs
nwfs/nwfs_vfsops.c optional nwfs
nwfs/nwfs_vnops.c optional nwfs
-pccard/pccard.c optional card
+pccard/pccard.c count card
pccard/pccard_beep.c optional card
pccard/pccard_nbk.c optional card
pccard/pcic.c optional pcic card
@@ -822,10 +822,10 @@ pci/agp_via.c optional agp
pci/agp_sis.c optional agp
pci/agp_ali.c optional agp
pci/agp_amd.c optional agp
-pci/alpm.c optional alpm
+pci/alpm.c count alpm
pci/amd.c optional amd
pci/cy_pci.c optional cy pci
-pci/if_ar_p.c optional ar pci
+pci/if_ar_p.c count ar pci
pci/if_dc.c optional dc
pci/if_de.c optional de
pci/if_en_pci.c optional en pci
@@ -846,11 +846,11 @@ pci/if_wx.c optional wx
pci/if_xl.c optional xl
pci/intpm.c optional intpm
pci/isp_pci.c optional isp
-pci/meteor.c optional meteor pci
+pci/meteor.c count meteor pci
pci/ncr.c optional ncr
pci/ohci_pci.c optional ohci
pci/pccbb.c optional pccbb cardbus
-pci/pci.c optional pci
+pci/pci.c count pci
pci/pci_compat.c optional pci compat_oldpci \
warning "Old PCI driver compatability shims present."
pci/pcic_p.c optional pcic pci
diff --git a/sys/conf/files.alpha b/sys/conf/files.alpha
index adc2f7d..a8a5a06 100644
--- a/sys/conf/files.alpha
+++ b/sys/conf/files.alpha
@@ -143,24 +143,26 @@ alpha/pci/tsunami.c optional dec_st6600
alpha/pci/tsunami_pci.c optional dec_st6600
dev/advansys/adv_isa.c optional adv isa
dev/aic/aic_isa.c optional aic isa
-dev/ata/ata-all.c optional ata
-dev/ata/ata-disk.c optional atadisk
+dev/ata/ata-all.c count ata
+dev/ata/ata-disk.c count atadisk
dev/ata/ata-dma.c optional ata
-dev/ata/atapi-all.c optional ata
+dev/ata/atapi-all.c count atapicd
+dev/ata/atapi-all.c count atapifd
+dev/ata/atapi-all.c count atapist
dev/ata/atapi-cd.c optional atapicd
dev/ata/atapi-fd.c optional atapifd
dev/ata/atapi-tape.c optional atapist
dev/fb/fb.c optional fb
dev/fb/fb.c optional vga
-dev/fb/splash.c optional splash
+dev/fb/splash.c count splash
dev/fb/vga.c optional vga
dev/kbd/atkbd.c optional atkbd
-dev/kbd/atkbdc.c optional atkbdc
+dev/kbd/atkbdc.c count atkbdc
dev/kbd/kbd.c optional atkbd
dev/kbd/kbd.c optional kbd
dev/kbd/kbd.c optional sc
dev/kbd/kbd.c optional ukbd
-dev/syscons/schistory.c optional sc
+dev/syscons/schistory.c count sc
dev/syscons/scmouse.c optional sc
dev/syscons/scterm.c optional sc
dev/syscons/scterm-dumb.c optional sc
@@ -173,9 +175,10 @@ dev/syscons/sysmouse.c optional sc
isa/atkbd_isa.c optional atkbd
isa/atkbdc_isa.c optional atkbdc
isa/fd.c optional fd
+isa/fd.c optional fdc
isa/ppc.c optional ppc
isa/psm.c optional psm
-isa/sio.c optional sio
+isa/sio.c count sio
isa/syscons_isa.c optional sc
isa/vga_isa.c optional vga
kern/subr_diskmbr.c standard
diff --git a/sys/conf/files.i386 b/sys/conf/files.i386
index 540083a..48a9751 100644
--- a/sys/conf/files.i386
+++ b/sys/conf/files.i386
@@ -62,31 +62,31 @@ contrib/dev/oltr/trlldhm.c optional oltr
contrib/dev/oltr/trlldmac.c optional oltr
dev/advansys/adv_isa.c optional adv isa
dev/aic/aic_isa.c optional aic isa
-dev/ata/ata-all.c optional ata
-dev/ata/ata-disk.c optional atadisk
-dev/ata/ata-dma.c optional ata
-dev/ata/atapi-all.c optional atapicd
-dev/ata/atapi-all.c optional atapifd
-dev/ata/atapi-all.c optional atapist
+dev/ata/ata-all.c count ata
+dev/ata/ata-disk.c count atadisk
+dev/ata/ata-dma.c optional ata
+dev/ata/atapi-all.c count atapicd
+dev/ata/atapi-all.c count atapifd
+dev/ata/atapi-all.c count atapist
dev/ata/atapi-cd.c optional atapicd
dev/ata/atapi-fd.c optional atapifd
dev/ata/atapi-tape.c optional atapist
dev/ed/if_ed.c optional ed
dev/ed/if_ed_isa.c optional ed isa
dev/ed/if_ed_pccard.c optional ed card
-dev/eisa/eisaconf.c optional eisa
+dev/eisa/eisaconf.c count eisa
dev/fb/fb.c optional fb
dev/fb/fb.c optional vga
-dev/fb/splash.c optional splash
+dev/fb/splash.c count splash
dev/fb/vga.c optional vga
dev/kbd/atkbd.c optional atkbd
-dev/kbd/atkbdc.c optional atkbdc
+dev/kbd/atkbdc.c count atkbdc
dev/kbd/kbd.c optional atkbd
dev/kbd/kbd.c optional kbd
dev/kbd/kbd.c optional sc
dev/kbd/kbd.c optional ukbd
dev/kbd/kbd.c optional vt
-dev/syscons/schistory.c optional sc
+dev/syscons/schistory.c count sc
dev/syscons/scmouse.c optional sc
dev/syscons/scterm.c optional sc
dev/syscons/scterm-dumb.c optional sc
@@ -128,10 +128,10 @@ gnu/i386/fpemul/reg_u_mul.s optional gpl_math_emulate
gnu/i386/fpemul/reg_u_sub.s optional gpl_math_emulate
gnu/i386/fpemul/wm_shrx.s optional gpl_math_emulate
gnu/i386/fpemul/wm_sqrt.s optional gpl_math_emulate
-gnu/i386/isa/dgb.c optional dgb
-gnu/i386/isa/dgm.c optional dgm
+gnu/i386/isa/dgb.c count dgb
+gnu/i386/isa/dgm.c count dgm
gnu/i386/isa/sound/awe_wave.c optional awe
-i386/apm/apm.c optional apm
+i386/apm/apm.c count apm
i386/i386/atomic.c standard \
compile-with "${CC} -c ${CFLAGS} ${DEFINED_PROF:S/^$/-fomit-frame-pointer/} ${.IMPSRC}"
i386/i386/autoconf.c standard
@@ -193,25 +193,25 @@ i386/ibcs2/ibcs2_util.c optional ibcs2
i386/ibcs2/ibcs2_xenix.c optional ibcs2
i386/ibcs2/ibcs2_xenix_sysent.c optional ibcs2
i386/ibcs2/imgact_coff.c optional ibcs2
-i386/isa/asc.c optional asc
+i386/isa/asc.c count asc
i386/isa/clock.c standard
i386/isa/cronyx.c optional cx
-i386/isa/ctx.c optional ctx
-i386/isa/cx.c optional cx
-i386/isa/cy.c optional cy
+i386/isa/ctx.c count ctx
+i386/isa/cx.c count cx
+i386/isa/cy.c count cy
i386/isa/elink.c optional ep
i386/isa/elink.c optional ie
i386/isa/gpib.c optional gp
-i386/isa/gsc.c optional gsc
+i386/isa/gsc.c count gsc
i386/isa/if_ar.c optional ar
i386/isa/if_cx.c optional cx
-i386/isa/if_el.c optional el
-i386/isa/if_fe.c optional fe
-i386/isa/if_le.c optional le
-i386/isa/if_rdp.c optional rdp
-i386/isa/if_sr.c optional sr
+i386/isa/if_el.c count el
+i386/isa/if_fe.c count fe
+i386/isa/if_le.c count le
+i386/isa/if_rdp.c count rdp
+i386/isa/if_sr.c count sr
i386/isa/if_wi.c optional wi card
-i386/isa/if_wl.c optional wl
+i386/isa/if_wl.c count wl
i386/isa/if_wlp.c optional wlp
i386/isa/intr_machdep.c standard
i386/isa/ipl_funcs.c standard \
@@ -221,11 +221,11 @@ i386/isa/isa_compat.c optional isa compat_oldisa \
warning "Old ISA driver compatability shims present."
i386/isa/isa_dma.c optional isa
i386/isa/istallion.c optional stli
-i386/isa/labpc.c optional labpc
+i386/isa/labpc.c count labpc
i386/isa/loran.c optional loran
-i386/isa/matcd/matcd.c optional matcd
-i386/isa/mca_machdep.c optional mca
-i386/isa/mcd.c optional mcd
+i386/isa/matcd/matcd.c count matcd
+i386/isa/mca_machdep.c count mca
+i386/isa/mcd.c count mcd
i386/isa/mse.c optional mse
i386/isa/npx.c mandatory npx
i386/isa/pcaudio.c optional pca
@@ -238,9 +238,9 @@ i386/isa/pcvt/pcvt_out.c optional vt
i386/isa/pcvt/pcvt_sup.c optional vt
i386/isa/pcvt/pcvt_vtf.c optional vt
i386/isa/prof_machdep.c optional profiling-routine
-i386/isa/rc.c optional rc
+i386/isa/rc.c count rc
i386/isa/rp.c optional rp
-i386/isa/scd.c optional scd
+i386/isa/scd.c count scd
i386/isa/sound/ad1848.c optional css
i386/isa/sound/ad1848.c optional gus
i386/isa/sound/ad1848.c optional gusxvi
@@ -304,12 +304,12 @@ i386/isa/sound/sscape.c optional sscape
i386/isa/sound/sys_timer.c optional snd
i386/isa/sound/trix.c optional trix
i386/isa/sound/uart6850.c optional uart
-i386/isa/spigot.c optional spigot
+i386/isa/spigot.c count spigot
i386/isa/spkr.c optional speaker
i386/isa/stallion.c optional stl
-i386/isa/tw.c optional tw
+i386/isa/tw.c count tw
i386/isa/vesa.c optional vga vesa
-i386/isa/wt.c optional wt
+i386/isa/wt.c count wt
i386/linux/imgact_linux.c optional compat_linux
i386/linux/linux_dummy.c optional compat_linux
i386/linux/linux_file.c optional compat_linux
@@ -342,7 +342,7 @@ i4b/layer1/i4b_elsa_qs1i.c optional isic
i4b/layer1/i4b_elsa_qs1p.c optional isic
i4b/layer1/i4b_hscx.c optional isic
i4b/layer1/i4b_isac.c optional isic
-i4b/layer1/i4b_isic.c optional isic
+i4b/layer1/i4b_isic.c count isic
i4b/layer1/i4b_isic_isa.c optional isic
#i4b/layer1/i4b_isic_pcmcia.c optional isic
i4b/layer1/i4b_isic_pnp.c optional isic
@@ -358,9 +358,10 @@ i4b/layer1/i4b_usr_sti.c optional isic
isa/atkbd_isa.c optional atkbd
isa/atkbdc_isa.c optional atkbdc
isa/fd.c optional fd
+isa/fd.c optional fdc
isa/ppc.c optional ppc
isa/psm.c optional psm
-isa/sio.c optional sio
+isa/sio.c count sio
isa/syscons_isa.c optional sc
isa/vga_isa.c optional vga
kern/subr_diskmbr.c standard
diff --git a/sys/conf/files.pc98 b/sys/conf/files.pc98
index 6d8e589..8a63260 100644
--- a/sys/conf/files.pc98
+++ b/sys/conf/files.pc98
@@ -59,24 +59,24 @@ contrib/dev/oltr/trlldhm.c optional oltr
contrib/dev/oltr/trlldmac.c optional oltr
#dev/advansys/adv_isa.c optional adv isa
dev/aic/aic_cbus.c optional aic isa
-dev/ata/ata-all.c optional ata
-dev/ata/ata-disk.c optional atadisk
+dev/ata/ata-all.c count ata
+dev/ata/ata-disk.c count atadisk
dev/ata/ata-dma.c optional ata
-dev/ata/atapi-all.c optional atapicd
-dev/ata/atapi-all.c optional atapifd
-dev/ata/atapi-all.c optional atapist
+dev/ata/atapi-all.c count atapicd
+dev/ata/atapi-all.c count atapifd
+dev/ata/atapi-all.c count atapist
dev/ata/atapi-cd.c optional atapicd
dev/ata/atapi-fd.c optional atapifd
dev/ata/atapi-tape.c optional atapist
-dev/eisa/eisaconf.c optional eisa
+dev/eisa/eisaconf.c count eisa
dev/fb/fb.c optional fb
dev/fb/fb.c optional gdc
-dev/fb/splash.c optional splash
+dev/fb/splash.c count splash
dev/kbd/kbd.c optional kbd
dev/kbd/kbd.c optional sc
dev/kbd/kbd.c optional ukbd
dev/kbd/kbd.c optional pckbd
-dev/syscons/schistory.c optional sc
+dev/syscons/schistory.c count sc
dev/syscons/scmouse.c optional sc
dev/syscons/scterm.c optional sc
dev/syscons/scterm-dumb.c optional sc
@@ -113,10 +113,10 @@ gnu/i386/fpemul/reg_u_mul.s optional gpl_math_emulate
gnu/i386/fpemul/reg_u_sub.s optional gpl_math_emulate
gnu/i386/fpemul/wm_shrx.s optional gpl_math_emulate
gnu/i386/fpemul/wm_sqrt.s optional gpl_math_emulate
-gnu/i386/isa/dgb.c optional dgb
-gnu/i386/isa/dgm.c optional dgm
+gnu/i386/isa/dgb.c count dgb
+gnu/i386/isa/dgm.c count dgm
gnu/i386/isa/sound/awe_wave.c optional awe
-i386/apm/apm.c optional apm
+i386/apm/apm.c count apm
i386/i386/atomic.c standard \
compile-with "${CC} -c ${CFLAGS} ${DEFINED_PROF:S/^$/-fomit-frame-pointer/} ${.IMPSRC}"
i386/i386/autoconf.c standard
@@ -180,24 +180,24 @@ i386/isa/bs/bs.c optional bs
i386/isa/bs/bsfunc.c optional bs
i386/isa/bs/bshw.c optional bs
i386/isa/bs/bsif.c optional bs
-i386/isa/asc.c optional asc
+i386/isa/asc.c count asc
i386/isa/cronyx.c optional cx
-i386/isa/ctx.c optional ctx
-i386/isa/cx.c optional cx
-i386/isa/cy.c optional cy
+i386/isa/ctx.c count ctx
+i386/isa/cx.c count cx
+i386/isa/cy.c count cy
i386/isa/elink.c optional ep
i386/isa/elink.c optional ie
i386/isa/gpib.c optional gp
-i386/isa/gsc.c optional gsc
+i386/isa/gsc.c count gsc
i386/isa/if_ar.c optional ar
i386/isa/if_cx.c optional cx
-i386/isa/if_el.c optional el
-i386/isa/if_fe.c optional fe
-i386/isa/if_le.c optional le
-i386/isa/if_rdp.c optional rdp
-i386/isa/if_sr.c optional sr
+i386/isa/if_el.c count el
+i386/isa/if_fe.c count fe
+i386/isa/if_le.c count le
+i386/isa/if_rdp.c count rdp
+i386/isa/if_sr.c count sr
i386/isa/if_wi.c optional wi card
-i386/isa/if_wl.c optional wl
+i386/isa/if_wl.c count wl
i386/isa/intr_machdep.c standard
i386/isa/ipl_funcs.c standard \
compile-with "${CC} -c ${CFLAGS} ${DEFINED_PROF:S/^$/-fomit-frame-pointer/} ${.IMPSRC}"
@@ -205,11 +205,11 @@ i386/isa/isa.c optional isa
i386/isa/isa_compat.c optional isa compat_oldisa \
warning "Old ISA driver compatability shims present."
i386/isa/istallion.c optional stli
-i386/isa/labpc.c optional labpc
+i386/isa/labpc.c count labpc
i386/isa/loran.c optional loran
-i386/isa/matcd/matcd.c optional matcd
-i386/isa/mca_machdep.c optional mca
-i386/isa/mcd.c optional mcd
+i386/isa/matcd/matcd.c count matcd
+i386/isa/mca_machdep.c count mca
+i386/isa/mcd.c count mcd
i386/isa/pcf.c optional pcf
i386/isa/pcibus.c optional pci
i386/isa/pcvt/pcvt_drv.c optional vt
@@ -219,9 +219,9 @@ i386/isa/pcvt/pcvt_out.c optional vt
i386/isa/pcvt/pcvt_sup.c optional vt
i386/isa/pcvt/pcvt_vtf.c optional vt
i386/isa/prof_machdep.c optional profiling-routine
-i386/isa/rc.c optional rc
+i386/isa/rc.c count rc
i386/isa/rp.c optional rp
-i386/isa/scd.c optional scd
+i386/isa/scd.c count scd
i386/isa/sound/ad1848.c optional css
i386/isa/sound/ad1848.c optional gus
i386/isa/sound/ad1848.c optional gusxvi
@@ -286,10 +286,10 @@ i386/isa/sound/sscape.c optional sscape
i386/isa/sound/sys_timer.c optional snd
i386/isa/sound/trix.c optional trix
i386/isa/sound/uart6850.c optional uart
-i386/isa/spigot.c optional spigot
+i386/isa/spigot.c count spigot
i386/isa/stallion.c optional stl
-i386/isa/tw.c optional tw
-i386/isa/wt.c optional wt
+i386/isa/tw.c count tw
+i386/isa/wt.c count wt
i386/linux/imgact_linux.c optional compat_linux
i386/linux/linux_dummy.c optional compat_linux
i386/linux/linux_file.c optional compat_linux
@@ -322,7 +322,7 @@ i4b/layer1/i4b_elsa_qs1i.c optional isic
i4b/layer1/i4b_elsa_qs1p.c optional isic
i4b/layer1/i4b_hscx.c optional isic
i4b/layer1/i4b_isac.c optional isic
-i4b/layer1/i4b_isic.c optional isic
+i4b/layer1/i4b_isic.c count isic
i4b/layer1/i4b_isic_isa.c optional isic
#i4b/layer1/i4b_isic_pcmcia.c optional isic
i4b/layer1/i4b_isic_pnp.c optional isic
@@ -348,6 +348,7 @@ pc98/pc98/atapi.c optional wdc
pc98/pc98/clock.c standard
pc98/pc98/diskslice_machdep.c standard
pc98/pc98/fd.c optional fd
+pc98/pc98/fd.c optional fdc
pc98/pc98/if_ed.c optional ed
pc98/pc98/isa_dma.c optional isa
pc98/pc98/mse.c optional mse
@@ -361,12 +362,12 @@ pc98/pc98/ppc.c optional ppc
pc98/pc98/scgdcrndr.c optional sc gdc
pc98/pc98/scterm-sck.c optional sc
pc98/pc98/scvtbpc98.c optional sc
-pc98/pc98/sio.c optional sio
+pc98/pc98/sio.c count sio
pc98/pc98/spkr.c optional speaker
pc98/pc98/syscons.c optional sc
pc98/pc98/syscons_pc98.c optional sc
-pc98/pc98/wd.c optional wdc
-pc98/pc98/wd.c optional wd
+pc98/pc98/wd.c count wdc
+pc98/pc98/wd.c count wd
pc98/pc98/wd_cd.c optional wcd wdc
pc98/pc98/wfd.c optional wfd wdc
pc98/pc98/wst.c optional wst wdc
@@ -387,4 +388,4 @@ svr4/svr4_sysent.c optional compat_svr4
svr4/svr4_sysvec.c optional compat_svr4
svr4/svr4_termios.c optional compat_svr4
svr4/svr4_ttold.c optional compat_svr4
-#pci/ide_pci.c optional wd
+#pci/ide_pci.c optional wdc pci
diff --git a/usr.sbin/config/config.h b/usr.sbin/config/config.h
index 5d1ff48..41a00b1 100644
--- a/usr.sbin/config/config.h
+++ b/usr.sbin/config/config.h
@@ -71,6 +71,8 @@ struct file_list {
#define NO_IMPLCT_RULE 2
#define NO_OBJ 4
#define BEFORE_DEPEND 8
+#define NEED_COUNT 16
+#define ISDUP 32
struct device {
int d_type; /* DEVICE, bus adaptor */
@@ -169,8 +171,6 @@ extern int debugging;
extern int maxusers;
-extern int old_config_present; /* Old config/build directory still there */
-
extern char *PREFIX; /* Config file name - for error messages */
extern char srcdir[]; /* root of the kernel source tree */
diff --git a/usr.sbin/config/configvers.h b/usr.sbin/config/configvers.h
index fad0cae..99226d9 100644
--- a/usr.sbin/config/configvers.h
+++ b/usr.sbin/config/configvers.h
@@ -8,4 +8,4 @@
*
* $FreeBSD$
*/
-#define CONFIGVERS 400018
+#define CONFIGVERS 500001
diff --git a/usr.sbin/config/main.c b/usr.sbin/config/main.c
index fa6fe9f..4a0748e 100644
--- a/usr.sbin/config/main.c
+++ b/usr.sbin/config/main.c
@@ -73,7 +73,6 @@ char destdir[MAXPATHLEN];
char srcdir[MAXPATHLEN];
static int no_config_clobber = TRUE;
-int old_config_present;
int debugging;
int profiling;
@@ -162,8 +161,6 @@ main(argc, argv)
if (mkdir(p, 0777))
err(2, "%s", p);
}
- else
- old_config_present = 1;
dtab = NULL;
if (yyparse())
diff --git a/usr.sbin/config/mkheaders.c b/usr.sbin/config/mkheaders.c
index 8bbcfbf..5ba6503 100644
--- a/usr.sbin/config/mkheaders.c
+++ b/usr.sbin/config/mkheaders.c
@@ -50,8 +50,8 @@ static const char rcsid[] =
#include "config.h"
#include "y.tab.h"
-static void do_header __P((char *, char *, int));
-static void do_count __P((char *, char *, int));
+static void do_header __P((char *, int));
+static void do_count __P((char *));
static char *toheader __P((char *));
static char *tomacro __P((char *));
@@ -61,9 +61,20 @@ headers()
register struct file_list *fl;
struct device *dp;
- for (fl = ftab; fl != 0; fl = fl->f_next)
- if (fl->f_needs != 0)
- do_count(fl->f_needs, fl->f_needs, 1);
+ for (fl = ftab; fl != 0; fl = fl->f_next) {
+ if (fl->f_needs != 0) {
+ for (dp = dtab; dp != 0; dp = dp->d_next) {
+ if (eq(dp->d_name, fl->f_needs)) {
+ if ((dp->d_type & TYPEMASK) == PSEUDO_DEVICE)
+ dp->d_type |= DEVDONE;
+ else if ((dp->d_type & TYPEMASK) == DEVICE)
+ dp->d_type |= DEVDONE;
+ }
+ }
+ if (fl->f_flags & NEED_COUNT)
+ do_count(fl->f_needs);
+ }
+ }
for (dp = dtab; dp != 0; dp = dp->d_next) {
if ((dp->d_type & TYPEMASK) == PSEUDO_DEVICE) {
if (!(dp->d_type & DEVDONE))
@@ -83,27 +94,17 @@ headers()
* whatever the device is connected to
*/
static void
-do_count(dev, hname, search)
- register char *dev, *hname;
- int search;
+do_count(dev)
+ register char *dev;
{
register struct device *dp;
register int count, hicount;
- char *mp;
/*
* After this loop, "count" will be the actual number of units,
* and "hicount" will be the highest unit declared. do_header()
* must use this higher of these values.
*/
- for (dp = dtab; dp != 0; dp = dp->d_next) {
- if (eq(dp->d_name, dev)) {
- if ((dp->d_type & TYPEMASK) == PSEUDO_DEVICE)
- dp->d_type |= DEVDONE;
- else if ((dp->d_type & TYPEMASK) == DEVICE)
- dp->d_type |= DEVDONE;
- }
- }
for (hicount = count = 0, dp = dtab; dp != 0; dp = dp->d_next) {
if (dp->d_unit != -1 && eq(dp->d_name, dev)) {
if ((dp->d_type & TYPEMASK) == PSEUDO_DEVICE) {
@@ -119,25 +120,14 @@ do_count(dev, hname, search)
*/
if (dp->d_unit + 1 > hicount)
hicount = dp->d_unit + 1;
- if (search) {
- mp = dp->d_conn;
- if (mp != 0 && dp->d_connunit < 0)
- mp = 0;
- if (mp != 0 && eq(mp, "nexus"))
- mp = 0;
- if (mp != 0) {
- do_count(mp, hname, 0);
- search = 0;
- }
- }
}
}
- do_header(dev, hname, count > hicount ? count : hicount);
+ do_header(dev, count > hicount ? count : hicount);
}
static void
-do_header(dev, hname, count)
- char *dev, *hname;
+do_header(dev, count)
+ char *dev;
int count;
{
char *file, *name, *inw;
@@ -145,7 +135,7 @@ do_header(dev, hname, count)
FILE *inf, *outf;
int inc, oldcount;
- file = toheader(hname);
+ file = toheader(dev);
name = tomacro(dev);
inf = fopen(file, "r");
oldcount = -1;
diff --git a/usr.sbin/config/mkmakefile.c b/usr.sbin/config/mkmakefile.c
index 0dc5d03..516b225 100644
--- a/usr.sbin/config/mkmakefile.c
+++ b/usr.sbin/config/mkmakefile.c
@@ -140,7 +140,6 @@ makefile()
FILE *ifp, *ofp;
char line[BUFSIZ];
struct opt *op;
- int warn_make_clean = 0;
int versreq;
read_files();
@@ -164,17 +163,6 @@ makefile()
printf("cpu type must be specified\n");
exit(1);
}
- for (op = opt; op; op = op->op_next) {
- if (!op->op_ownfile) {
- warn_make_clean++;
- if (op->op_value)
- fprintf(ofp, " -D%s=%s", op->op_name, op->op_value);
- else
- fprintf(ofp, " -D%s", op->op_name);
- printf("%s:%d: unknown option \"%s\"\n",
- PREFIX, op->op_line, op->op_name);
- }
- }
fprintf(ofp, "\n");
for (op = mkopt; op; op = op->op_next)
fprintf(ofp, "%s=%s\n", op->op_name, op->op_value);
@@ -228,14 +216,7 @@ makefile()
(void) fclose(ofp);
moveifchanged(path("Makefile.new"), path("Makefile"));
- if (warn_make_clean != 0 && old_config_present) {
- printf(
- "Unknown option%s used - it is VERY important that you do\n",
- (warn_make_clean > 1 ? "s" : ""));
- printf(" make clean && make depend\n");
- printf("before recompiling\n");
- } else
- printf("Don't forget to do a ``make depend''\n");
+ printf("Don't forget to do a ``make depend''\n");
}
/*
@@ -254,7 +235,7 @@ read_files()
char fname[80];
int ddwarned = 0;
int nreqs, first = 1, configdep, isdup, std, filetype,
- imp_rule, no_obj, before_depend, mandatory;
+ imp_rule, no_obj, needcount, before_depend, mandatory;
ftab = 0;
save_dp = NULL;
@@ -269,7 +250,8 @@ openit:
err(1, "%s", fname);
next:
/*
- * filename [ standard | mandatory | optional ] [ config-dependent ]
+ * filename [ standard | mandatory | optional | count]
+ * [ config-dependent ]
* [ dev* | profiling-routine ] [ no-obj ]
* [ compile-with "compile rule" [no-implicit-rule] ]
* [ dependency "dependency-list"] [ before-depend ]
@@ -312,7 +294,7 @@ next:
exit(1);
}
if ((pf = fl_lookup(this)) && (pf->f_type != INVISIBLE || pf->f_flags))
- isdup = 1;
+ isdup = ISDUP;
else
isdup = 0;
tp = 0;
@@ -335,19 +317,23 @@ next:
std = mandatory = 0;
imp_rule = 0;
no_obj = 0;
+ needcount = 0;
before_depend = 0;
filetype = NORMAL;
- if (eq(wd, "standard"))
+ if (eq(wd, "standard")) {
std = 1;
/*
* If an entry is marked "mandatory", config will abort if it's
* not called by a configuration line in the config file. Apart
* from this, the device is handled like one marked "optional".
*/
- else if (eq(wd, "mandatory"))
+ } else if (eq(wd, "mandatory")) {
mandatory = 1;
- else if (!eq(wd, "optional")) {
- printf("%s: %s must be optional, mandatory or standard\n",
+ needcount = 1;
+ } else if (eq(wd, "count")) {
+ needcount = 1;
+ } else if (!eq(wd, "optional")) {
+ printf("%s: %s must be count, optional, mandatory or standard\n",
fname, this);
exit(1);
}
@@ -478,7 +464,9 @@ invis:
tp->f_fn = this;
tp->f_type = INVISIBLE;
tp->f_needs = needs;
- tp->f_flags = isdup;
+ tp->f_flags |= isdup;
+ if (needcount)
+ tp->f_flags |= NEED_COUNT;
tp->f_special = special;
tp->f_depends = depends;
tp->f_clean = clean;
@@ -503,7 +491,7 @@ doneparam:
tp = new_fent();
tp->f_fn = this;
tp->f_type = filetype;
- tp->f_flags = 0;
+ tp->f_flags &= ~ISDUP;
if (configdep)
tp->f_flags |= CONFIGDEP;
if (imp_rule)
@@ -516,13 +504,15 @@ doneparam:
tp->f_flags |= NO_IMPLCT_RULE;
if (no_obj)
tp->f_flags |= NO_OBJ;
+ if (needcount)
+ tp->f_flags |= NEED_COUNT;
tp->f_needs = needs;
tp->f_special = special;
tp->f_depends = depends;
tp->f_clean = clean;
tp->f_warn = warn;
if (pf && pf->f_type == INVISIBLE)
- pf->f_flags = 1; /* mark as duplicate */
+ pf->f_flags |= ISDUP; /* mark as duplicate */
goto next;
}
diff --git a/usr.sbin/config/mkoptions.c b/usr.sbin/config/mkoptions.c
index d53affd..f663331 100644
--- a/usr.sbin/config/mkoptions.c
+++ b/usr.sbin/config/mkoptions.c
@@ -112,6 +112,13 @@ options()
read_options();
for (ol = otab; ol != 0; ol = ol->o_next)
do_option(ol->o_name);
+ for (op = opt; op; op = op->op_next) {
+ if (!op->op_ownfile) {
+ printf("%s:%d: unknown option \"%s\"\n",
+ PREFIX, op->op_line, op->op_name);
+ exit(1);
+ }
+ }
}
/*
OpenPOWER on IntegriCloud