summaryrefslogtreecommitdiff
path: root/translate/mcode/windows
diff options
context:
space:
mode:
authorgingold2006-10-02 04:30:22 +0000
committergingold2006-10-02 04:30:22 +0000
commit190d3ce1bf25bc811d3c2d444039b3552837bc98 (patch)
treecb47e721d5d5275d34a47b1bf16149ae0eeba1bd /translate/mcode/windows
parentb7ac1316494d84b7218c6a25fb5a15c2ff595c1b (diff)
downloadghdl-190d3ce1bf25bc811d3c2d444039b3552837bc98.tar.gz
ghdl-190d3ce1bf25bc811d3c2d444039b3552837bc98.tar.bz2
ghdl-190d3ce1bf25bc811d3c2d444039b3552837bc98.zip
extract ghdl version
Diffstat (limited to 'translate/mcode/windows')
-rwxr-xr-xtranslate/mcode/windows/ghdlversion.adb30
1 files changed, 30 insertions, 0 deletions
diff --git a/translate/mcode/windows/ghdlversion.adb b/translate/mcode/windows/ghdlversion.adb
new file mode 100755
index 0000000..d2f1c28
--- /dev/null
+++ b/translate/mcode/windows/ghdlversion.adb
@@ -0,0 +1,30 @@
+with Ada.Text_IO; use Ada.Text_IO;
+with Ada.Strings.Fixed; use Ada.Strings.Fixed;
+
+procedure Ghdlversion is
+ Line : String (1 .. 128);
+ Len : Natural;
+ Pos : Natural;
+ E : Natural;
+begin
+ loop
+ exit when End_Of_File;
+ Get_Line (Line, Len);
+
+ -- Search GHDL
+ Pos := Index (Line (1 .. Len), "GHDL ");
+ if Pos /= 0 then
+ Pos := Pos + 5;
+ E := Pos;
+ while Line (E) in '0' .. '9'
+ or Line (E) in 'a' .. 'z'
+ or Line (E) = '.'
+ loop
+ exit when E = Len;
+ E := E + 1;
+ end loop;
+ Put_Line ("!define VERSION """ & Line (Pos .. E - 1) & """");
+ return;
+ end if;
+ end loop;
+end Ghdlversion;