Reformat comments in Cygwin's version.h, remove very outdated info

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen 2016-04-12 15:23:41 +02:00
parent 308de2a1d4
commit 002c9b468d

View File

@ -9,35 +9,6 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */ details. */
/* Cygwin versioning is relatively complicated because of its status
as a shared library. Let's start with how versioning used to be done.
Historical versioning in Cygwin 16.0 to 19.5:
In the olden days of Cygwin, we had a dll major and minor version
and a registry version. The major number started at 16 because the
"b15" GNU-Win32 release of the compiler tools was out when this
scheme was started. We incremented the DLL name frequently (for
every official release) and towards the end of this period every
release used a different shared memory area to prevent DLLs from
interfering with each other (embedding a build timestamp into the
name of the shared memory area). This turned out to be a Bad Idea
(tm) because people needed to mingle separate releases and have
them work together more than we thought they would. This was
especially problematic when tty info needed to be retained when an
old Cygwin executable executed a newer one.
In the old scheme, we incremented the major number whenever a
change to the dll invalidated existing executables. This can
happen for a number of reasons, including when functions are
removed from the export list of the dll. The minor number was
incremented when a change was made that we wanted to record, but
that didn't invalidate existing executables. Both numbers were
recorded in the executable and in the dll.
In October 1998 (starting with Cygwin 19.6), we started a new method
of Cygwin versioning: */
/* The DLL major and minor numbers correspond to the "version of /* The DLL major and minor numbers correspond to the "version of
the Cygwin shared library". This version is used to track important the Cygwin shared library". This version is used to track important
changes to the DLL and is mainly informative in nature. */ changes to the DLL and is mainly informative in nature. */
@ -45,13 +16,12 @@ details. */
#define CYGWIN_VERSION_DLL_MAJOR 2005 #define CYGWIN_VERSION_DLL_MAJOR 2005
#define CYGWIN_VERSION_DLL_MINOR 1 #define CYGWIN_VERSION_DLL_MINOR 1
/* Major numbers before CYGWIN_VERSION_DLL_EPOCH are /* Major numbers before CYGWIN_VERSION_DLL_EPOCH are incompatible. */
incompatible. */
#define CYGWIN_VERSION_DLL_EPOCH 19 #define CYGWIN_VERSION_DLL_EPOCH 19
/* CYGWIN_VERSION_DLL_COMBINED gives us a single number /* CYGWIN_VERSION_DLL_COMBINED gives us a single number representing the
representing the combined DLL major and minor numbers. */ combined DLL major and minor numbers. */
/* WATCH OUT FOR OCTAL! Don't use, say, "00020" for 0.20 */ /* WATCH OUT FOR OCTAL! Don't use, say, "00020" for 0.20 */
@ -59,24 +29,24 @@ details. */
#define CYGWIN_VERSION_DLL_COMBINED \ #define CYGWIN_VERSION_DLL_COMBINED \
CYGWIN_VERSION_DLL_MAKE_COMBINED (CYGWIN_VERSION_DLL_MAJOR, CYGWIN_VERSION_DLL_MINOR) CYGWIN_VERSION_DLL_MAKE_COMBINED (CYGWIN_VERSION_DLL_MAJOR, CYGWIN_VERSION_DLL_MINOR)
/* Every version of cygwin <= this uses an old, incorrect method /* Every version of cygwin <= this uses an old, incorrect method to determine
to determine signal masks. */ signal masks. */
#define CYGWIN_VERSION_PER_PROCESS_API_VERSION_COMBINED(u) \ #define CYGWIN_VERSION_PER_PROCESS_API_VERSION_COMBINED(u) \
CYGWIN_VERSION_DLL_MAKE_COMBINED ((u)->api_major, (u)->api_minor) CYGWIN_VERSION_DLL_MAKE_COMBINED ((u)->api_major, (u)->api_minor)
#define CYGWIN_VERSION_USER_API_VERSION_COMBINED \ #define CYGWIN_VERSION_USER_API_VERSION_COMBINED \
CYGWIN_VERSION_PER_PROCESS_API_VERSION_COMBINED (user_data) CYGWIN_VERSION_PER_PROCESS_API_VERSION_COMBINED (user_data)
/* API versions <= this had a termios structure whose members were /* API versions <= this had a termios structure whose members were too small
too small to accomodate modern settings. */ to accomodate modern settings. */
#define CYGWIN_VERSION_DLL_OLD_TERMIOS 5 #define CYGWIN_VERSION_DLL_OLD_TERMIOS 5
#define CYGWIN_VERSION_DLL_IS_OLD_TERMIOS \ #define CYGWIN_VERSION_DLL_IS_OLD_TERMIOS \
(CYGWIN_VERSION_USER_API_VERSION_COMBINED <= CYGWIN_VERSION_DLL_OLD_TERMIOS) (CYGWIN_VERSION_USER_API_VERSION_COMBINED <= CYGWIN_VERSION_DLL_OLD_TERMIOS)
#define CYGWIN_VERSION_DLL_MALLOC_ENV 28 #define CYGWIN_VERSION_DLL_MALLOC_ENV 28
/* Old APIs had getc/putc macros that conflict with new CR/LF
handling in the stdio buffers */ /* Old APIs had getc/putc macros that conflict with new CR/LF handling in the
stdio buffers */
#define CYGWIN_VERSION_OLD_STDIO_CRLF_HANDLING \ #define CYGWIN_VERSION_OLD_STDIO_CRLF_HANDLING \
(CYGWIN_VERSION_USER_API_VERSION_COMBINED <= 20) (CYGWIN_VERSION_USER_API_VERSION_COMBINED <= 20)
@ -339,8 +309,6 @@ details. */
lremovexattr, fremovexattr. lremovexattr, fremovexattr.
181: Export cygwin_conv_path, cygwin_create_path, cygwin_conv_path_list. 181: Export cygwin_conv_path, cygwin_create_path, cygwin_conv_path_list.
182: Export lockf. 182: Export lockf.
FIXME: Removed 12 year old and entirely wrong wprintf function at
this point. We need a working implementation soon.
183: Export open_memstream, fmemopen. 183: Export open_memstream, fmemopen.
184: Export openat, faccessat, fchmodat, fchownat, fstatat, futimesat, 184: Export openat, faccessat, fchmodat, fchownat, fstatat, futimesat,
linkat, mkdirat, mkfifoat, mknodat, readlinkat, renameat, symlinkat, linkat, mkdirat, mkfifoat, mknodat, readlinkat, renameat, symlinkat,
@ -489,35 +457,29 @@ details. */
nexttowardf, nexttowardl, pow10l, powl, remainderl, remquol, roundl, nexttowardf, nexttowardl, pow10l, powl, remainderl, remquol, roundl,
scalbl, scalblnl, scalbnl, sincosl, sinhl, sinl, tanhl, tanl, scalbl, scalblnl, scalbnl, sincosl, sinhl, sinl, tanhl, tanl,
tgammal, truncl. tgammal, truncl.
*/
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull, Note that we forgot to bump the api for ualarm, strtoll, strtoull,
sigaltstack, sethostname. */ sigaltstack, sethostname. */
#define CYGWIN_VERSION_API_MAJOR 0 #define CYGWIN_VERSION_API_MAJOR 0
#define CYGWIN_VERSION_API_MINOR 297 #define CYGWIN_VERSION_API_MINOR 297
/* There is also a compatibity version number associated with the /* There is also a compatibity version number associated with the shared memory
shared memory regions. It is incremented when incompatible regions. It is incremented when incompatible changes are made to the shared
changes are made to the shared memory region *or* to any named memory region *or* to any named shared mutexes, semaphores, etc. */
shared mutexes, semaphores, etc. The arbitrary starting
version was 0 (cygwin release 98r2).
Bump to 4 since this hasn't been rigorously updated in a
while. */
#define CYGWIN_VERSION_SHARED_DATA 5 #define CYGWIN_VERSION_SHARED_DATA 5
/* An identifier used in the names used to create shared objects. /* An identifier used in the names used to create shared objects. The full
The full names include the CYGWIN_VERSION_SHARED_DATA version names include the CYGWIN_VERSION_SHARED_DATA version as well as this
as well as this identifier. */ identifier. */
#define CYGWIN_VERSION_DLL_IDENTIFIER "cygwin1" #define CYGWIN_VERSION_DLL_IDENTIFIER "cygwin1"
/* The Cygwin mount table interface in the Win32 registry also /* The Cygwin mount table interface in the Win32 registry also has a version
has a version number associated with it in case that is number associated with it in case that is changed in a non-backwards
changed in a non-backwards compatible fashion. Increment this compatible fashion. Increment this version number whenever incompatible
version number whenever incompatible changes in mount table changes in mount table registry usage are made.
registry usage are made.
1: Original number version. 1: Original number version.
2: New mount registry layout, system-wide mount accessibility. 2: New mount registry layout, system-wide mount accessibility.
@ -535,15 +497,13 @@ details. */
#define CYGWIN_INFO_CYGDRIVE_DEFAULT_PREFIX "/cygdrive" #define CYGWIN_INFO_CYGDRIVE_DEFAULT_PREFIX "/cygdrive"
/* In addition to the above version number strings, the build /* In addition to the above version number strings, the build process adds some
process adds some strings that may be useful in strings that may be useful in debugging/identifying a particular Cygwin DLL:
debugging/identifying a particular Cygwin DLL:
The mkvers.sh script at the top level produces a .cc file The mkvers.sh script at the top level produces a .cc file which initializes
which initializes a cygwin_version structure based on the a cygwin_version structure based on the above version information and
above version information and creates a string table for creates a string table for grepping via "fgrep '%%%' cygwinwhatever.dll"
grepping via "fgrep '%%%' cygwinwhatever.dll" if you are if you are using GNU grep. Otherwise you may want to do a
using GNU grep. Otherwise you may want to do a
"strings cygwinwhatever.dll | fgrep '%%%'" instead. "strings cygwinwhatever.dll | fgrep '%%%'" instead.
This will produce output such as: This will produce output such as:
@ -559,8 +519,7 @@ details. */
%%% Cygwin shared id: cygwinS1 %%% Cygwin shared id: cygwinS1
This information can also be obtained through a call to This information can also be obtained through a call to
cygwin_internal (CW_GETVERSIONINFO). cygwin_internal (CW_GETVERSIONINFO). */
*/
#define CYGWIN_VERSION_MAGIC(a, b) ((unsigned) ((((unsigned short) a) << 16) | (unsigned short) b)) #define CYGWIN_VERSION_MAGIC(a, b) ((unsigned) ((((unsigned short) a) << 16) | (unsigned short) b))
#define CYGWIN_VERSION_MAGIC_VERSION(a) ((unsigned) ((unsigned)a & 0xffff)) #define CYGWIN_VERSION_MAGIC_VERSION(a) ((unsigned) ((unsigned)a & 0xffff))