aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorumarcor <unai.martinezcorral@ehu.eus>2021-01-05 17:08:54 +0100
committertgingold <tgingold@users.noreply.github.com>2021-01-05 21:02:21 +0100
commitb4a301a37fc2b4f5515a7aa611c858ba6cba837f (patch)
tree6c9bb78d196e0a496b7610de678759a4ff0bfcd0
parent0747980c3e8bf101abee2aad730f03da1411d318 (diff)
downloadghdl-b4a301a37fc2b4f5515a7aa611c858ba6cba837f.tar.gz
ghdl-b4a301a37fc2b4f5515a7aa611c858ba6cba837f.tar.bz2
ghdl-b4a301a37fc2b4f5515a7aa611c858ba6cba837f.zip
cli: add 'version ref' and 'version hash'
-rw-r--r--src/ghdldrv/ghdlmain.adb16
-rwxr-xr-xtestsuite/testsuite.sh12
2 files changed, 20 insertions, 8 deletions
diff --git a/src/ghdldrv/ghdlmain.adb b/src/ghdldrv/ghdlmain.adb
index 2715e6f20..6d768bbbe 100644
--- a/src/ghdldrv/ghdlmain.adb
+++ b/src/ghdldrv/ghdlmain.adb
@@ -260,6 +260,19 @@ package body Ghdlmain is
pragma Unreferenced (Cmd);
use Simple_IO;
begin
+ if Args'Length /= 0 then
+ if Args (1).all = "ref" then
+ Put_Line (Version.Ghdl_Ref);
+ return;
+ end if;
+ if Args (1).all = "hash" then
+ Put_Line (Version.Ghdl_Hash);
+ return;
+ end if;
+ Error ("warning: 'version' subcommand '"
+ & Args(1).all & "' not supported");
+ return;
+ end if;
Put ("GHDL ");
Put (Version.Ghdl_Ver);
Put (' ');
@@ -278,9 +291,6 @@ package body Ghdlmain is
& "GNU General Public License. There is NO");
Put_Line ("warranty; not even for MERCHANTABILITY or"
& " FITNESS FOR A PARTICULAR PURPOSE.");
- if Args'Length /= 0 then
- Error ("warning: command '--version' does not accept any argument");
- end if;
end Perform_Action;
-- Disp MSG on the standard output with the command name.
diff --git a/testsuite/testsuite.sh b/testsuite/testsuite.sh
index f62d9e577..651c82012 100755
--- a/testsuite/testsuite.sh
+++ b/testsuite/testsuite.sh
@@ -252,15 +252,17 @@ do_test() {
esac
}
-for t in $tests; do do_test $t; done
-
-printf "${ANSI_GREEN}[GHDL - test] SUCCESSFUL${ANSI_NOCOLOR}\n"
-touch test_ok
-
gstart "GHDL is: $GHDL"
$GHDL version
+echo "REF: `$GHDL version ref`"
+echo "HASH: `$GHDL version hash`"
gend
gstart "GHDL help"
$GHDL help
gend
+
+for t in $tests; do do_test $t; done
+
+printf "${ANSI_GREEN}[GHDL - test] SUCCESSFUL${ANSI_NOCOLOR}\n"
+touch test_ok