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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to