mirror of
https://github.com/git/git.git
synced 2026-01-22 08:27:53 +00:00
Preliminary support for reporting build platform
Add preliminary support for detection of the build plaform, and reporting of same with the `git version --build-options' command. This can be useful for bug reporting, to distinguish between 32 and 64-bit builds for example. The current implementation can only distinguish between x86 and x86_64. This will be extended in future patches. In addition, all 32-bit variants (i686, i586, etc.) are collapsed into `x86'. An example of the output is: $ git version --build-options git version 2.9.3.windows.2.826.g06c0f2f sizeof-long: 4 machine: x86_64 The label of `machine' was chosen so the new information will approximate the output of `uname -m'. Signed-off-by: Adric Norris <landstander668@gmail.com>
This commit is contained in:
committed by
Johannes Schindelin
parent
5f8ab5b5b8
commit
a5a9eaa87a
2
help.c
2
help.c
@@ -390,6 +390,7 @@ const char *help_unknown_cmd(const char *cmd)
|
||||
|
||||
int cmd_version(int argc, const char **argv, const char *prefix)
|
||||
{
|
||||
static char build_platform[] = GIT_BUILD_PLATFORM;
|
||||
int build_options = 0;
|
||||
const char * const usage[] = {
|
||||
N_("git version [<options>]"),
|
||||
@@ -413,6 +414,7 @@ int cmd_version(int argc, const char **argv, const char *prefix)
|
||||
|
||||
if (build_options) {
|
||||
printf("sizeof-long: %d\n", (int)sizeof(long));
|
||||
printf("machine: %s\n", build_platform);
|
||||
/* NEEDSWORK: also save and output GIT-BUILD_OPTIONS? */
|
||||
}
|
||||
return 0;
|
||||
|
||||
13
help.h
13
help.h
@@ -33,3 +33,16 @@ extern void list_commands(unsigned int colopts, struct cmdnames *main_cmds, stru
|
||||
*/
|
||||
extern void help_unknown_ref(const char *ref, const char *cmd, const char *error);
|
||||
#endif /* HELP_H */
|
||||
|
||||
/*
|
||||
* identify build platform
|
||||
*/
|
||||
#ifndef GIT_BUILD_PLATFORM
|
||||
#if defined __x86__ || defined __i386__ || defined __i586__ || defined __i686__
|
||||
#define GIT_BUILD_PLATFORM "x86"
|
||||
#elif defined __x86_64__
|
||||
#define GIT_BUILD_PLATFORM "x86_64"
|
||||
#else
|
||||
#define GIT_BUILD_PLATFORM "unknown"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user