[ksh93-integration-discuss] Re: [osol-code] Round two:((pre-)pre-review)ksh93-integrationwebrev2007-02-02
Peter Memishian
peter.memishian at sun.com
Thu Mar 8 07:09:13 PST 2007
> 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
More information about the ksh93-integration-discuss
mailing list