mirror of
https://github.com/git/git.git
synced 2026-01-25 18:12:44 +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
2cb4c91b59
commit
ef4d2f2b2b
3
help.c
3
help.c
@@ -424,6 +424,8 @@ 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;
|
||||
|
||||
/*
|
||||
* The format of this string should be kept stable for compatibility
|
||||
* with external projects that rely on the output of "git version".
|
||||
@@ -432,6 +434,7 @@ int cmd_version(int argc, const char **argv, const char *prefix)
|
||||
while (*++argv) {
|
||||
if (!strcmp(*argv, "--build-options")) {
|
||||
printf("sizeof-long: %d\n", (int)sizeof(long));
|
||||
printf("machine: %s\n", build_platform);
|
||||
/* NEEDSWORK: also save and output GIT-BUILD_OPTIONS? */
|
||||
}
|
||||
}
|
||||
|
||||
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