]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
libvaladoc: Use --api-version instead of --version
authorFlorian Brosch <flo.brosch@gmail.com>
Thu, 29 Nov 2012 23:50:10 +0000 (00:50 +0100)
committerFlorian Brosch <flo.brosch@gmail.com>
Thu, 29 Nov 2012 23:56:33 +0000 (00:56 +0100)
src/libvaladoc/Makefile.am
src/libvaladoc/moduleloader.vala

index 5b81e1f429b8514da8e61d3676e42acc8c9e3701..2297c82682d20962bc83c17225934d08dbd01b4b 100644 (file)
@@ -1,6 +1,6 @@
 NULL =
 
-DEFAULT_DRIVER = "`$(VALAC) --version`"
+DEFAULT_DRIVER = "`$(VALAC) --api-version >& /dev/null; if [ $$? = 0 ]; then $(VALAC) --api-version; else $(VALAC) --version; fi`"
 
 
 AM_CFLAGS = \
index 6de9f8d481d401d0bbf602e48e6079b7395b33ed..1b7d4725077589f3e6dfdf8bde41a73b2b24d6a6 100644 (file)
@@ -128,7 +128,10 @@ public class Valadoc.ModuleLoader : Object {
                }
 
                string[] segments = driverpath.split (".");
-               if (segments.length != 3 && segments.length != 4) {
+               if (segments.length != 2 && // e.g. 0.20, --pkg-version
+                       segments.length != 3 && // e.g. 0.20.3, --version
+                       segments.length != 4)   // e.g. Vala 0.18.0.60-a4cdb, --version
+               {
                        reporter.simple_error ("error: Invalid driver version format.");
                        return null;
                }
@@ -136,12 +139,15 @@ public class Valadoc.ModuleLoader : Object {
 
                int64 segment_a;
                int64 segment_b;
-               int64 segment_c;
+               int64 segment_c = 0;
                bool tmp;
 
                tmp  = int64.try_parse (segments[0], out segment_a);
                tmp &= int64.try_parse (segments[1], out segment_b);
-               tmp &= int64.try_parse (segments[2], out segment_c);
+
+               if (segments.length > 2) {
+                       tmp &= int64.try_parse (segments[2], out segment_c);
+               }
 
                if (!tmp) {
                        reporter.simple_error ("error: Invalid driver version format.");