summaryrefslogtreecommitdiff
path: root/examples/deprecation-warning/deprecation-warning.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/deprecation-warning/deprecation-warning.cpp')
-rw-r--r--examples/deprecation-warning/deprecation-warning.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/examples/deprecation-warning/deprecation-warning.cpp b/examples/deprecation-warning/deprecation-warning.cpp
new file mode 100644
index 00000000..11b35d2c
--- /dev/null
+++ b/examples/deprecation-warning/deprecation-warning.cpp
@@ -0,0 +1,35 @@
+// Warns users that this filename was deprecated, and provides a link for more information.
+
+#include <cstdio>
+#include <string>
+#include <unordered_map>
+
+// Main
+int main(int argc, char** argv) {
+ std::string filename = "main";
+ if (argc >= 1) {
+ filename = argv[0];
+ }
+
+ // Get only the program name from the full path
+ auto pos = filename.find_last_of('/');
+ if (pos != std::string::npos) {
+ filename = filename.substr(pos+1);
+ }
+
+ // Append "llama-" to the beginning of filename to get the replacemnt filename
+ auto replacement_filename = "llama-" + filename;
+
+ // The exception is if the filename is "main", then our replacement filename is "llama-cli"
+ if (filename == "main") {
+ replacement_filename = "llama-cli";
+ }
+
+ fprintf(stdout, "\n");
+ fprintf(stdout, "WARNING: The binary '%s' is deprecated.\n", filename.c_str());
+ fprintf(stdout, " Please use '%s' instead.\n", replacement_filename.c_str());
+ fprintf(stdout, " See https://github.com/ggerganov/llama.cpp/tree/master/examples/deprecation-warning/README.md for more information.\n");
+ fprintf(stdout, "\n");
+
+ return EXIT_FAILURE;
+}