mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-02-13 19:52:20 +00:00
3 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
|
0a1cc391bf |
Document SHOPT_ACCT and SHOPT_AUDIT
A 2008 blog post by Finnbar P. Murphy is the only documentation on these facilities that is available to date. Thankfully, Finnbarr has graciously granted me permission to use all his ksh93-related blog posts for ksh 93u+m under the same license as ksh. Since SHOPT_ACCT (disabled by default) is essentially an older and more primitive version of SHOPT_AUDIT (enabled by default), we should probably remove the former in a future release. src/cmd/ksh93/README-AUDIT.md: - Added. |
||
|
a1f5c99204 |
INIT: remove proto, ratz (re: 46593a89 , 6137b99a ); major cleanup
This takes another step towards cleaning up the build system. We now do not even pretend to be theoretically compatible with pre-1989 K&R C compilers or with C++ compilers. In practice, this had already been broken for many years due to bit rot. Commit |
||
|
46593a89b7 |
Get rid of overcomplicated AT&T copyright/license maintenance code
I'm now taking another small step towards extricating this build system from the long-dead AT&T AST universe. This commit modifies/reduces the tool called proto. AT&T used proto for two purposes: 1. To convert ANSI C code to a form compatible with ancient (pre-ANSI) K&R C compilers using extremely complex macro voodo. It was similarly capable of translating to C++. Theoretically, this entire code base should compile on anything from a 1980s K&R C compiler to a modern C++ compiler. In practice, given the massive amount of bit rot we inherited, I am 99.9% sure that this has been broken for many years. 2. To automagically insert license comments into source files based on an extremely complicated license database system. (In all-too-typical AT&T fashion, this second function of proto is completely unrelated to the first.) Function 2 has now been removed because, unlike the AT&T legal department, I don't think it's worth going to unspeakably extreme lengths to avoid maintaining license information in source code files by hand. In the process, proto.c was cleaned up to look halfway like actual C code, but it's still processed code: most macros have been expanded to their numeric value, all comments were stripped, etc. So don't expect to understand this code. The actual source code is in these two directories in the ast-open-history repo: https://github.com/ksh93/ast-open-history/tree/master/src/cmd/proto https://github.com/ksh93/ast-open-history/tree/master/src/lib/libpp Meanwhile, nobody wants to compile ksh with a pre-ANSI K&R C compiler in 2021 -- and there's no good reason to be compatible with C++ because standard C compilers are universally available. So, proto will go away when I manage to figure out how to pry it loose from the innards of this build system. src/lib/libast/port/astlicense.c: - Removed. This is al the license handling code that was incorporated in proto.c in stripped form. It was not used anywhere else, and the environment where it was useful is gone. src/cmd/INIT/proto.c: - Cleanup to make this halfway maintainable: indentation, huge blocks of empty lines, #line directives, etc. - Delete all the code corresponding to astlicense.c. This was actually easy as it was in a discrete block. - proto(), pppopen(): Remove 'license'/'notice' and 'options' arguments. - main(): Remove processing of -l (license) and -o (license options) flags. **/Mamfile: - Update all the proto invocations to remove the -l and -o flags. bin/package, src/cmd/INIT/package.sh: - Delete the 'copyright' command, which used the -l and -o options to tell proto to extract copyright information from *.lic/*.def files in lib/package. COPYRIGHT: - Added. This has the information from 'bin/package copyright', with the copyright years corrected to plausible values as the AST code used the current year (2021) for all of them. It adds ksh 93u+m copyright and contributor information at the top as well. (Yes, some of the lines in the old non-AT&T copyright notices are clipped. This is the actual output of the 'bin/package copyright' command as generated by 'proto' in the AST distribution. For all that extreme complexity, they couldn't even reproduce the notices correctly. But it's officially sanctioned by AT&T in exactly this form, so there you have it.) lib/package/**: - Removed. All these files are now obsolete and redundant. |