]> git.draconx.ca Git - gob-dx.git/blobdiff - src/lexer.l
Release 0.92.1
[gob-dx.git] / src / lexer.l
index d80b927394a82931b20f8b5bfe534871c0e011ee..392a6364aad9fe21548648fc56e3beea115a2eb8 100644 (file)
@@ -195,6 +195,30 @@ class              {
                        return CLASS;
                }
 
+^[ \t]*requires[ \t]+[0-9]+\.[0-9]+\.[0-9]+[\t ]*$     {
+                       int maj = 0,min = 0,pl = 0;
+                       int rmaj = 0,rmin = 0,rpl = 0;
+                       char *p;
+                       
+                       sscanf(VERSION,"%d.%d.%d",&rmaj,&rmin,&rpl);
+                       p = strchr(yytext,'r');
+                       g_assert(p); /* we MUST have found it */
+                       sscanf(p,"requires %d.%d.%d",&maj,&min,&pl);
+                       if(rmaj < maj ||
+                          (rmaj == maj && rmin < min) ||
+                          (rmaj == maj && rmin == min && rpl < pl)) {
+                               char *s;
+                               s = g_strdup_printf(
+                                   "GOB version %d.%d.%d required "
+                                   "(this is %s)\n"
+                                   "To upgrade your gob, see: "
+                                   "http://www.5z.com/jirka/gob.html",
+                                   maj,min,pl,VERSION);
+                               print_error(FALSE,s, line_no);
+                               g_free(s);
+                       }
+               }
+
 <CLASS_CODE,CLASS_CODE_I>class|this    {
                        if(for_cpp) {
                                char *s;