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.
This commit is contained in:
parent
9d53455016
commit
16aa9915fe
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
|
||||
|
@ -8,4 +8,4 @@
|
||||
*
|
||||
* $FreeBSD$
|
||||
*/
|
||||
#define CONFIGVERS 400018
|
||||
#define CONFIGVERS 500001
|
||||
|
@ -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())
|
||||
|
@ -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;
|
||||
|
@ -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 @@ read_files()
|
||||
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 @@ read_files()
|
||||
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 @@ read_files()
|
||||
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 @@ read_files()
|
||||
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 @@ read_files()
|
||||
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 @@ read_files()
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user