summaryrefslogtreecommitdiffstats
path: root/apps/version.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/version.c')
-rw-r--r--apps/version.c28
1 files changed, 13 insertions, 15 deletions
diff --git a/apps/version.c b/apps/version.c
index caa3e76ffe..7350ccf78f 100644
--- a/apps/version.c
+++ b/apps/version.c
@@ -33,7 +33,7 @@
typedef enum OPTION_choice {
OPT_ERR = -1, OPT_EOF = 0, OPT_HELP,
- OPT_B, OPT_D, OPT_E, OPT_M, OPT_F, OPT_O, OPT_P, OPT_V, OPT_A, OPT_R
+ OPT_B, OPT_D, OPT_E, OPT_M, OPT_F, OPT_O, OPT_P, OPT_V, OPT_A, OPT_R, OPT_C
} OPTION_CHOICE;
const OPTIONS version_options[] = {
@@ -48,24 +48,15 @@ const OPTIONS version_options[] = {
{"p", OPT_P, '-', "Show target build platform"},
{"r", OPT_R, '-', "Show random seeding options"},
{"v", OPT_V, '-', "Show library version"},
+ {"c", OPT_C, '-', "Show CPU settings info"},
{NULL}
};
-#if defined(OPENSSL_RAND_SEED_DEVRANDOM) || defined(OPENSSL_RAND_SEED_EGD)
-static void printlist(const char *prefix, const char **dev)
-{
- printf("%s (", prefix);
- for ( ; *dev != NULL; dev++)
- printf(" \"%s\"", *dev);
- printf(" )");
-}
-#endif
-
int version_main(int argc, char **argv)
{
int ret = 1, dirty = 0, seed = 0;
int cflags = 0, version = 0, date = 0, options = 0, platform = 0, dir = 0;
- int engdir = 0, moddir = 0;
+ int engdir = 0, moddir = 0, cpuinfo = 0;
char *prog;
OPTION_CHOICE o;
@@ -108,9 +99,12 @@ opthelp:
case OPT_V:
dirty = version = 1;
break;
+ case OPT_C:
+ dirty = cpuinfo = 1;
+ break;
case OPT_A:
seed = options = cflags = version = date = platform
- = dir = engdir = moddir
+ = dir = engdir = moddir = cpuinfo
= 1;
break;
}
@@ -157,8 +151,12 @@ opthelp:
printf("%s\n", OpenSSL_version(OPENSSL_ENGINES_DIR));
if (moddir)
printf("%s\n", OpenSSL_version(OPENSSL_MODULES_DIR));
- if (seed)
- printf("Seeding source: %s\n", OPENSSL_info(OPENSSL_INFO_SEED_SOURCE));
+ if (seed) {
+ const char *src = OPENSSL_info(OPENSSL_INFO_SEED_SOURCE);
+ printf("Seeding source: %s\n", src ? src : "N/A");
+ }
+ if (cpuinfo)
+ printf("%s\n", OpenSSL_version(OPENSSL_CPU_INFO));
ret = 0;
end:
return ret;