diff helpers/build-date.c @ 9:1fb47f5b597a

helpers: import from Magnetite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 16 Oct 2020 07:01:13 +0000
parents
children 775dba605f33
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helpers/build-date.c	Fri Oct 16 07:01:13 2020 +0000
@@ -0,0 +1,37 @@
+/*
+ * This program runs at firmware build time to produce a C file for the
+ * fw build that includes the build date and time stamp.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <strings.h>
+#include <time.h>
+
+main(argc, argv)
+	char **argv;
+{
+	time_t now;
+	struct tm *tm;
+
+	if (argc < 2 || argc > 4) {
+		fprintf(stderr,
+			"usage: %s config_name target_name src_version\n",
+			argv[0]);
+		exit(1);
+	}
+	time(&now);
+	tm = gmtime(&now);
+	printf("const char firmware_version_str[] =\n");
+	if (argc >= 3)
+		printf("\"FreeCalypso Magnetite %s (%s), ", argv[1], argv[2]);
+	else
+		printf("\"FreeCalypso Magnetite %s, ", argv[1]);
+	if (argc >= 4 && strcmp(argv[3], "unknown"))
+		printf("source version %s, ", argv[3]);
+	printf("build date %d-%02d-%02dT%02d:%02d:%02dZ\";\n",
+		tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday,
+		tm->tm_hour, tm->tm_min, tm->tm_sec);
+	exit(0);
+}