pkgconfig: if there is no argument, use the module name
authorAlexis Laferrière <alexis.laf@xymus.net>
Fri, 18 Apr 2014 21:46:27 +0000 (17:46 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Tue, 9 Sep 2014 17:22:39 +0000 (13:22 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

src/common_ffi/pkgconfig.nit

index aa9add3..335d8d1 100644 (file)
@@ -43,27 +43,29 @@ class PkgconfigPhase
                        return
                end
 
-               var args = nat.n_args
-               if args.is_empty then
-                       modelbuilder.error(nat, "Syntax error: \"pkgconfig\" expects at least one argument.")
-                       return
-               end
+               # retreive module
+               var nmodule = nmoduledecl.parent.as(AModule)
+               var mmodule = nmodule.mmodule.as(not null)
 
+               # target pkgs
                var pkgs = new Array[String]
-               for arg in args do
-                       var pkg = arg.as_string
-                       if pkg == null then
-                               modelbuilder.error(nat, "Syntax error: \"pkgconfig\" expects its arguments to be the name of the package as String literals.")
-                               return
-                       end
 
-                       pkgs.add(pkg)
+               var args = nat.n_args
+               if args.is_empty then
+                       # use module name
+                       pkgs.add(mmodule.name)
+               else
+                       for arg in args do
+                               var pkg = arg.as_string
+                               if pkg == null then
+                                       modelbuilder.error(nat, "Syntax error: \"pkgconfig\" expects its arguments to be the name of the package as String literals.")
+                                       return
+                               end
+
+                               pkgs.add(pkg)
+                       end
                end
 
-               # retreive module
-               var nmodule = nmoduledecl.parent.as(AModule)
-               var mmodule = nmodule.mmodule.as(not null)
-
                # check availability of pkg-config
                var proc_which = new IProcess("which", "pkg-config")
                proc_which.wait