svn commit: r231905 - in stable/9: share/mk sys/conf sys/modules
sys/modules/drm sys/modules/sound/driver sys/modules/usb tools/build/options
Bruce Evans
brde at optusnet.com.au
Sun Feb 19 12:54:50 UTC 2012
On Sun, 19 Feb 2012, Robert Millan wrote:
> Log:
> MFC r230972,r230980,r231559,r231565: Add MK_SOURCELESS build option, and
> associated fixes.
>
> Approved by: kib (mentor)
Do the file names have to be as ugly as the macros? scottl liked moving
them to the MI conf directory, but the make a bigger mess there since
there are more files there. For ls -C in -current now:
WITH_LOUD_VERBOSE_NAMES:
% CVS/ kmod.mk
% Makefile.amd64 kmod_syms.awk
% Makefile.arm ldscript.amd64
% Makefile.i386 ldscript.arm
% Makefile.ia64 ldscript.i386
% Makefile.mips ldscript.ia64
% Makefile.pc98 ldscript.mips
% Makefile.powerpc ldscript.mips.cfe
% Makefile.sparc64 ldscript.mips.mips64
% NOTES ldscript.mips.octeon1
% WITHOUT_SOURCELESS ldscript.powerpc
% WITHOUT_SOURCELESS_HOST ldscript.powerpc64
% WITHOUT_SOURCELESS_UCODE ldscript.sparc64
% defines makeLINT.mk
% files makeLINT.sed
% files.amd64 newvers.sh
% files.arm options
% files.i386 options.amd64
% files.ia64 options.arm
% files.mips options.i386
% files.pc98 options.ia64
% files.powerpc options.mips
% files.sparc64 options.pc98
% kern.mk options.powerpc
% kern.post.mk options.sparc64
% kern.pre.mk systags.sh
Spot the unix-style names among these.
without_so_much_loudness_or_verboseness:
% CVS/ files.pc98 ldscript.powerpc64
% Makefile.amd64 files.powerpc ldscript.sparc64
% Makefile.arm files.sparc64 makeLINT.mk
% Makefile.i386 kern.mk makeLINT.sed
% Makefile.ia64 kern.post.mk newvers.sh
% Makefile.mips kern.pre.mk options
% Makefile.pc98 kmod.mk options.amd64
% Makefile.powerpc kmod_syms.awk options.arm
% Makefile.sparc64 ldscript.amd64 options.i386
% NOTES ldscript.arm options.ia64
% defines ldscript.i386 options.mips
% files ldscript.ia64 options.pc98
% files.amd64 ldscript.mips options.powerpc
% files.arm ldscript.mips.cfe options.sparc64
% files.i386 ldscript.mips.mips64 systags.sh
% files.ia64 ldscript.mips.octeon1
% files.mips ldscript.powerpc
Some names are already too long, but most didn't shout.
FreeBSD ls is relatively stupid about tabular formatting. It produces
fixed-width columns aligned to tab boundaries. Thus a single name of
length 16 or more reduces to 3 columns of names in 80 columns of
characters (3 * 24 < 80 < 4 * 24), and a single name of length 24 or
more reduces to 2 columns of names in 80 columns of characters
(2 * 32 < 80 < 3 * 32). I couldn't find any option to control this.
gnu ls is smarter and produces 4 columns in both cases:
WITH:
% CVS/ defines kmod.mk makeLINT.mk
% Makefile.amd64 files kmod_syms.awk makeLINT.sed
% Makefile.arm files.amd64 ldscript.amd64 newvers.sh
% Makefile.i386 files.arm ldscript.arm options
% Makefile.ia64 files.i386 ldscript.i386 options.amd64
% Makefile.mips files.ia64 ldscript.ia64 options.arm
% Makefile.pc98 files.mips ldscript.mips options.i386
% Makefile.powerpc files.pc98 ldscript.mips.cfe options.ia64
% Makefile.sparc64 files.powerpc ldscript.mips.mips64 options.mips
% NOTES files.sparc64 ldscript.mips.octeon1 options.pc98
% WITHOUT_SOURCELESS kern.mk ldscript.powerpc options.powerpc
% WITHOUT_SOURCELESS_HOST kern.post.mk ldscript.powerpc64 options.sparc64
% WITHOUT_SOURCELESS_UCODE kern.pre.mk ldscript.sparc64 systags.sh
without:
% CVS/ files.arm ldscript.arm options
% Makefile.amd64 files.i386 ldscript.i386 options.amd64
% Makefile.arm files.ia64 ldscript.ia64 options.arm
% Makefile.i386 files.mips ldscript.mips options.i386
% Makefile.ia64 files.pc98 ldscript.mips.cfe options.ia64
% Makefile.mips files.powerpc ldscript.mips.mips64 options.mips
% Makefile.pc98 files.sparc64 ldscript.mips.octeon1 options.pc98
% Makefile.powerpc kern.mk ldscript.powerpc options.powerpc
% Makefile.sparc64 kern.post.mk ldscript.powerpc64 options.sparc64
% NOTES kern.pre.mk ldscript.sparc64 systags.sh
% defines kmod.mk makeLINT.mk
% files kmod_syms.awk makeLINT.sed
% files.amd64 ldscript.amd64 newvers.sh
It apparently uses non-fixed-width columns with a minimum width of 2 between
columns (this is 1 more than aligning to tab boundaries is sure to give).
Both formats use rather too hard tabs, which make a mess when quoted
and don't even save much space when combined with spaces.
Quite often, a prefix collects all names with similar verboseness together
when they are sorted, so ls could be even smarter and try to keep verbose
names in wide columns, and start new columns as necessary for this, giving
ragged column depths. Next, it could sort all the verbose names into a
verbose column, or better yet, filter them out :-).
Bruce
More information about the svn-src-stable-9
mailing list