]> git.ipfire.org Git - thirdparty/bash.git/blame - version.c
bash-20121026 additional cleanup
[thirdparty/bash.git] / version.c
CommitLineData
726f6388
JA
1/* version.c -- distribution and version numbers. */
2
62928a01 3/* Copyright (C) 1989-2011 Free Software Foundation, Inc.
726f6388
JA
4
5 This file is part of GNU Bash, the Bourne Again SHell.
6
2e4498b3
CR
7 Bash is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
726f6388 11
2e4498b3
CR
12 Bash is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
726f6388 16
2e4498b3
CR
17 You should have received a copy of the GNU General Public License
18 along with Bash. If not, see <http://www.gnu.org/licenses/>.
19*/
726f6388 20
f73dda09
JA
21#include <config.h>
22
ccc6cda3
JA
23#include <stdio.h>
24
f73dda09
JA
25#include "stdc.h"
26
726f6388 27#include "version.h"
f73dda09
JA
28#include "patchlevel.h"
29#include "conftypes.h"
726f6388 30
5e13499c
CR
31#include "bashintl.h"
32
ccc6cda3
JA
33extern char *shell_name;
34
35/* Defines from version.h */
d3ad40de
CR
36const char * const dist_version = DISTVERSION;
37const int patch_level = PATCHLEVEL;
38const int build_version = BUILDVERSION;
ccc6cda3 39#ifdef RELSTATUS
d3ad40de 40const char * const release_status = RELSTATUS;
ccc6cda3 41#else
d3ad40de 42const char * const release_status = (char *)0;
ccc6cda3 43#endif
d3ad40de 44const char * const sccs_version = SCCSVERSION;
ccc6cda3 45
62928a01 46const char * const bash_copyright = N_("Copyright (C) 2011 Free Software Foundation, Inc.");
dd4f3dd8
CR
47const char * const bash_license = N_("License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n");
48
245a493c 49/* If == 31, shell compatible with bash-3.1, == 32 with bash-3.2, and so on */
35ee8ea0
CR
50int shell_compatibility_level = DEFAULT_COMPAT_LEVEL;
51
ccc6cda3
JA
52/* Functions for getting, setting, and displaying the shell version. */
53
d3a24ed2
CR
54/* Forward declarations so we don't have to include externs.h */
55extern char *shell_version_string __P((void));
56extern void show_shell_version __P((int));
57
ccc6cda3
JA
58/* Give version information about this shell. */
59char *
60shell_version_string ()
61{
62 static char tt[32] = { '\0' };
63
64 if (tt[0] == '\0')
65 {
66 if (release_status)
5e13499c
CR
67#if defined (HAVE_SNPRINTF)
68 snprintf (tt, sizeof (tt), "%s.%d(%d)-%s", dist_version, patch_level, build_version, release_status);
69#else
ccc6cda3 70 sprintf (tt, "%s.%d(%d)-%s", dist_version, patch_level, build_version, release_status);
5e13499c 71#endif
ccc6cda3 72 else
5e13499c
CR
73#if defined (HAVE_SNPRINTF)
74 snprintf (tt, sizeof (tt), "%s.%d(%d)", dist_version, patch_level, build_version);
75#else
ccc6cda3 76 sprintf (tt, "%s.%d(%d)", dist_version, patch_level, build_version);
5e13499c 77#endif
ccc6cda3
JA
78 }
79 return tt;
80}
81
ccc6cda3
JA
82void
83show_shell_version (extended)
84 int extended;
85{
d3ad40de 86 printf (_("GNU bash, version %s (%s)\n"), shell_version_string (), MACHTYPE);
ccc6cda3 87 if (extended)
2e4498b3 88 {
dd4f3dd8
CR
89 printf ("%s\n", _(bash_copyright));
90 printf ("%s\n", _(bash_license));
278286c9
CR
91 printf ("%s\n", _("This is free software; you are free to change and redistribute it."));
92 printf ("%s\n", _("There is NO WARRANTY, to the extent permitted by law."));
2e4498b3 93 }
ccc6cda3 94}