mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-02-13 11:42:21 +00:00
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. Commit46593a89
already removed the license handling enormity that depended on proto, so now we can cleanly remove it altogether. But we do need to leave some backwards compatibility stubs to keep the build system compatible with older AST code; it should remain possible to build older ksh versions with the current build system (the bin/ and src/cmd/INIT/ directories) for testing purposes. So as of now there is no more __MANGLE__d rubbish in your generated header files. This is only about a quarter of a century overdue... This commit also includes a huge amount of code cleanup to remove thousands of unused K&R C fallbacks and other cruft, particularly in libast. This code base should now be a little easier to understand for people who are familiar with a modern(ish) C standard. ratz is now also removed; this was a standalone and simplified 2005 version of gunzip. As of6137b99a
, none of our code uses it, even theoretically. And the real g(un)zip is now everywhere. src/cmd/INIT/proto.c, src/cmd/INIT/ratz.c: - Removed. COPYRIGHT: - Remove zlib license; this only applied to ratz. bin/package, src/cmd/INIT/package.sh: - Related cleanups. - Unset LC_ALL before invoking a new shell, respecting the user's locale again and avoiding multibyte character corruption on the command line. src/cmd/INIT/proto.sh: - Add stub for backwards compatibility with Mamfiles that depend on proto. It does nothing but pass input without modification and is now installed as the new arch/*/bin/proto by src/cmd/INIT/Mamfile. src/cmd/INIT/iffe.sh: - Ignore the proto-related -e (--package) and -p (--prototyped) options; keep parsing them for backwards compatibility. - Trim the macros passed to every test to their standard C versions, removing K&R C and C++ versions. These are now considered to be for backwards compatibility only. src/cmd/INIT/iffe.tst: - Remove proto(1) mangling code. By the way, iffe can be regression-tested as follows: $ bin/package use # set up environment in a child shell $ regress src/cmd/INIT/iffe.tst $ exit # leave package environment src/cmd/INIT/make.probe, src/cmd/INIT/probe.win32: - Remove code to handle C++. src/lib/libast/features/common: - As in iffe.sh above, trim macros designed for compatibility with C++ and ancient C compilers to their standard C versions and comment that they are for backwards compatibility with AST code. This is needed to keep all the old ast and ksh code compiling. src/cmd/ksh93/sh/init.c, src/cmd/ksh93/sh/name.c: - Clarify libshell ABI compatibility function versions of macros. A "proto workaround" comment in the original code mislead me into thinking this had something to do with the removed proto(1), but it's unrelated. Call the workaround macro BYPASS_MACRO instead. src/cmd/ksh93/include/defs.h: - sh_sigcheck() macro: allow &sh as an argument: parenthesise shp. src/cmd/ksh93/sh/nvtype.c: - Remove unused nv_mkstruct() function. (re:d0a5cab1
) **/features/*: - Remove obsolete iffe 'set prototyped' option. **/Mamfile: - Remove all references to the ast/prototyped.h header. - Remove all use of the proto command. Simply copy instead. *** 850-ish source files: *** - Remove all '#pragma prototyped' directives. - Remove all C++ compat code conditional upon defined(__cplusplus). - Remove all use of the _ARG_ macro, which on standard C expands to its argument: #define _ARG_(x) x (on K&R C, it expanded to nothing) - Remove all use of _BEGIN_EXTERNS_ and _END_EXTERNS_ macros (empty on standard C; this was for C++ compatibility) - Reduce all #if __STD_C (standard code) #else (K&R code) #endif blocks to the standard code only, without use of the macro. - Same for _STD_ macro which seems to have had the same function. - Change all instances of 'Void_t' to standard 'void'.
146 lines
9.9 KiB
Text
146 lines
9.9 KiB
Text
ksh 93u+m general copyright notice
|
|
|
|
########################################################################
|
|
# #
|
|
# The KornShell 93u+m distribution #
|
|
# Copyright (c) 2021 Contributors to ksh 93u+m #
|
|
# <https://github.com/ksh93/ksh> #
|
|
# Derived from AT&T's ast package (see below) #
|
|
# Licensed under the Eclipse Public License, Version 1.0 #
|
|
# #
|
|
# A copy of the License is available at #
|
|
# http://www.eclipse.org/org/documents/epl-v10.html #
|
|
# (with md5 checksum b35adb5213ca9657e911e9befb180842) #
|
|
# #
|
|
# CONTRIBUTORS #
|
|
# #
|
|
# Martijn Dekker <martijn@inlv.org> #
|
|
# Johnothan King <johnothanking@protonmail.com> #
|
|
# hyenias <58673227+hyenias@users.noreply.github.com> #
|
|
# Anuradha Weeraman <anuradha@weeraman.com> #
|
|
# Chase <nicetrynsa@protonmail.ch> #
|
|
# Govind Kamat <govind_kamat@yahoo.com> #
|
|
# Harald van Dijk <harald@gigawatt.nl> #
|
|
# Lev Kujawski <int21h@mailbox.org> #
|
|
# Marc Wilson <posguy99@gmail.com> #
|
|
# #
|
|
########################################################################
|
|
|
|
ast package general copyright notice
|
|
|
|
########################################################################
|
|
# #
|
|
# This software is part of the ast package #
|
|
# Copyright (c) 1986-2014 AT&T Intellectual Property #
|
|
# and is licensed under the #
|
|
# Eclipse Public License, Version 1.0 #
|
|
# by AT&T Intellectual Property #
|
|
# #
|
|
# A copy of the License is available at #
|
|
# http://www.eclipse.org/org/documents/epl-v10.html #
|
|
# (with md5 checksum b35adb5213ca9657e911e9befb180842) #
|
|
# #
|
|
# Information and Software Systems Research #
|
|
# AT&T Research #
|
|
# Florham Park NJ #
|
|
# #
|
|
# CONTRIBUTORS #
|
|
# #
|
|
# Glenn Fowler <gsf@research.att.com> #
|
|
# David Korn <dgk@research.att.com> #
|
|
# Phong Vo <kpv@research.att.com> #
|
|
# Adam Edgar <aedgar@research.att.com> #
|
|
# Adam Buchsbaum <alb@adambuchsbaum.com> #
|
|
# Aman Shaikh <ashaikh@research.att.com> #
|
|
# Bala Krishnamurthy <bala@research.att.com> #
|
|
# Brian Russell <brussell@research.att.com> #
|
|
# Robin Chen <chen@research.att.com> #
|
|
# Don Caldwell <dfwc@research.att.com> #
|
|
# Lefty Koutsofios <ek@research.att.com> #
|
|
# Bob Gruber <bob.gruber@gmail.com> #
|
|
# Jia Wang <jiawang@research.att.com> #
|
|
# Jeff Fellin <jkf@research.att.com> #
|
|
# Jeff Korn <@google.com> #
|
|
# Kathleen Fisher <kfisher@research.att.com> #
|
|
# Ken Church <@microsoft.com> #
|
|
# Brian Kernigham <bwk@research.bell-labs.com> #
|
|
# Dennis Ritchie <dmr@research.bell-labs.com> #
|
|
# Doug McIlroy <doug@research.bell-labs.com> #
|
|
# Eduardo Krell <ekrell@adexus.cl> #
|
|
# John Snyder <jjs@adexus.cl> #
|
|
# Herman Rao <rao@fareastone.att.com.tw> #
|
|
# AST users mailgroup <ast-users@research.att.com> #
|
|
# AST developers mailgroup <ast-developers@research.att.com> #
|
|
# #
|
|
########################################################################
|
|
|
|
bsd package general copyright notice
|
|
|
|
########################################################################
|
|
# #
|
|
# This software is part of the BSD package #
|
|
# Copyright (c) 1979-2012 The Regents of the University of California #
|
|
# #
|
|
# Redistribution and use in source and binary forms, with or #
|
|
# without modification, are permitted provided that the following #
|
|
# conditions are met: #
|
|
# #
|
|
# 1. Redistributions of source code must retain the above #
|
|
# copyright notice, this list of conditions and the #
|
|
# following disclaimer. #
|
|
# #
|
|
# 2. Redistributions in binary form must reproduce the above #
|
|
# copyright notice, this list of conditions and the #
|
|
# following disclaimer in the documentation and/or other #
|
|
# materials provided with the distribution. #
|
|
# #
|
|
# 3. Neither the name of The Regents of the University of California#
|
|
# names of its contributors may be used to endorse or #
|
|
# promote products derived from this software without #
|
|
# specific prior written permission. #
|
|
# #
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND #
|
|
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, #
|
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF #
|
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE #
|
|
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS #
|
|
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, #
|
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED #
|
|
# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, #
|
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON #
|
|
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, #
|
|
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY #
|
|
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE #
|
|
# POSSIBILITY OF SUCH DAMAGE. #
|
|
# #
|
|
# Redistribution and use in source and binary forms, with or without #
|
|
# modification, are permitted provided that the following conditions #
|
|
# are met: #
|
|
# 1. Redistributions of source code must retain the above copyright #
|
|
# notice, this list of conditions and the following disclaimer. #
|
|
# 2. Redistributions in binary form must reproduce the above copyright #
|
|
# notice, this list of conditions and the following disclaimer in #
|
|
# the documentation and/or other materials provided with the #
|
|
# distribution. #
|
|
# 3. Neither the name of the University nor the names of its #
|
|
# contributors may be used to endorse or promote products derived #
|
|
# from this software without specific prior written permission. #
|
|
# #
|
|
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" #
|
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED #
|
|
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A #
|
|
# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS #
|
|
# OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, #
|
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT #
|
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF #
|
|
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND #
|
|
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, #
|
|
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT #
|
|
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF #
|
|
# SUCH DAMAGE. #
|
|
# #
|
|
# CONTRIBUTORS #
|
|
# #
|
|
# Bill Joy #
|
|
# #
|
|
########################################################################
|