> Let's ignore the ATT Makefiles for a while. Are there other files > you'd like to see removed? A list based on Roland's annotated list > would be nice.
Eliminating the ones that he called out as Documentation or tests, and reordering/compressing things a bit for clarity: > > > ./lib/libshell/sparc/src/cmd/ksh93/FEATURE/acct > > > ./lib/libdll/sparc/src/lib/libdll/FEATURE/dll > > > ./lib/libast/sparc/src/lib/libast/FEATURE/* > > > ./lib/libast/sparc/src/lib/libast/ast.req > > > ./lib/libast/sparc/src/lib/libast/conf > > > ./lib/libast/sparc/src/lib/libast/conflim.h > > 32bit SPARC platform files. If this response means that they *are* referenced on a SPARC build, then these are irrelevant to the discussion. > > > ./lib/libshell/sparcv9/src/cmd/ksh93/FEATURE/acct > > > ./lib/libdll/sparcv9/src/lib/libdll/FEATURE/dll > > > ./lib/libast/sparcv9/src/lib/libast/FEATURE/* > > > ./lib/libast/sparcv9/src/lib/libast/ast.req > > > ./lib/libast/sparcv9/src/lib/libast/conf > > > ./lib/libast/sparcv9/src/lib/libast/conflim.h > > 64bit SPARC platform files. Likewise. > > > ./lib/libast/common/features/* > > > ./lib/libcmd/common/features/* > > > ./lib/libdll/common/features/* > > > ./lib/libshell/common/features/* > > These are feature probes (e.g. for "iffe"&co.), they're used to generate > the matching platform-specific files. IMO they're usefull to keep to > have a reference how a matching setting was selected and how they are > intended to be used (and you can use the probes to regenerate the files > on demand for testing). OK. > > > ./cmd/ast/msgcc/Mamfile > > > ./lib/libast/common/Mamfile > > > ./lib/libcmd/common/Mamfile > > > ./lib/libdll/common/Mamfile > > > ./lib/libpp/common/Mamfile > > > ./lib/libshell/common/mamexec These seem like more alien build logic (though not as likely to cause confusion as the alien Makefiles). Probably need to meet the same fate as the Makefiles. > > > ./lib/libast/common/misc/magic.tab > > > ./lib/libast/common/port/astmath.c > > > ./lib/libast/common/port/atmain.C > > > ./lib/libast/common/port/lc.tab > > > ./lib/libast/common/port/lcgen.c > > > ./lib/libast/common/regex/regdecomp.c > > > ./lib/libast/common/uwin/mini.sym > > Misc. sources (some of them unused - for now). > > > > ./lib/libpp/common/ppsym.c > > > ./lib/libshell/common/bltins/shopen.c > > > ./lib/libshell/common/sh/env.c > > Unused source (for now). > > > > ./lib/libshell/common/include/env.h > > Unused header. > > > > ./lib/libast/common/dir/dirstd.h > > Unused source file (not used on this platform). More information is needed on the above. Is "for now" unbounded, or is there follow-on work that will make use of this stuff? For the ones not listed as "for now", will they ever have relevance to Solaris? > > > ./lib/libast/common/astsa/align.h > > > ./lib/libast/common/astsa/ast.h > > > ./lib/libast/common/astsa/astwinsize.c > > > ./lib/libast/common/astsa/ccode.h > > > ./lib/libast/common/astsa/lclib.h > > > ./lib/libast/common/astsa/sig.h > > > ./lib/libast/common/astsa/strmatch.c > > > ./lib/libast/common/astsa/times.h > > Standalone AST subset glue (see usr/src/lib/libast/common/astsa/README) I'm unclear why the standalone AST environment is relevant to ON (but I haven't had time to read the README, so maybe that explains it). > > > ./lib/libast/common/comp/conf.sh > > > ./lib/libast/common/comp/conf.tab > > Config tab generation. Need more information. > > > ./lib/libpp/common/gentab.sh > > > ./lib/libpp/common/pp.def > > > ./lib/libpp/common/pp.key > > > ./lib/libpp/common/pp.probe > > > ./lib/libpp/common/pp.tab > > Misc. feature probes and generation scripts Need more information. > > > ./lib/libpp/common/probe.win32 > > Shell script for Win32 (we discused that already) Yep, this should go. > > > ./lib/libpp/sparc/gentab > > > ./lib/libpp/sparc/pp.req > > > ./lib/libpp/sparc/pp.yacc > > > ./lib/libpp/sparc/ppkey.yacc > > > ./lib/libpp/sparc/probe > > > ./lib/libpp/sparc/probe.sh > > Table/parser generation files etc. (not used in the OS/Net build since > we generated the destination files outside the tree and imported them > later). So what is the benefit of keeping them? > > > ./lib/libshell/common/bltins/mkservice.c > > "mkservice" builtin (not used yet (it'll be enabled later as it can be > used to implement server-based services)) Seems reasonable to keep this then. > > > ./lib/libshell/common/sh/shcomp.c > > Frontend source for "shcomp" (the shell script compiler). Unused for now > since we forwarded this to a later case (since that case will include a > matching kernel module to recognize compiled shell script code). Likewise. > > > ./lib/libshell/common/sh/suid_exec.c > > "suid_exec" helper for "setid" binaries (unsed - see set[ug]id script > discssion here and in shell-discuss at opensolaris.org). Likewise. > > > ./lib/libshell/common/data/bash_pre_rc.sh > > > ./lib/libshell/common/data/math.tab > > Table of math functions and their attributes (e.g. number of arguments) > which are available by default (e.g. all the (C99) math functions are > controlled by this file). So at what point in the port was math.tab used? > > > ./lib/libshell/common/mamstate.c > > > ./lib/libshell/common/sh/bash.c > > Used for "bash" compatibilty mode (unused). Seems odd that mamstate.c would have something to do with bash compatibility mode. -- meem