X-Git-Url: http://nitlanguage.org diff --git a/src/ffi/pkgconfig.nit b/src/ffi/pkgconfig.nit index 335d8d1..453ddfc 100644 --- a/src/ffi/pkgconfig.nit +++ b/src/ffi/pkgconfig.nit @@ -39,7 +39,7 @@ class PkgconfigPhase var modelbuilder = toolcontext.modelbuilder if not nmoduledecl isa AModuledecl then - modelbuilder.error(nat, "Syntax error: only the declaration of modules may use \"pkgconfig\".") + modelbuilder.error(nat, "Syntax Error: only the declaration of modules may use `pkgconfig`.") return end @@ -58,7 +58,7 @@ class PkgconfigPhase 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.") + modelbuilder.error(nat, "Syntax Error: `pkgconfig` expects its arguments to be the name of the package as String literals.") return end @@ -67,11 +67,11 @@ class PkgconfigPhase end # check availability of pkg-config - var proc_which = new IProcess("which", "pkg-config") + var proc_which = new ProcessReader("which", "pkg-config") proc_which.wait var status = proc_which.status if status != 0 then - modelbuilder.error(nat, "Error: program pkg-config not found, make sure it is installed.") + modelbuilder.error(nat, "Error: program `pkg-config` not found, make sure it is installed.") return end @@ -80,23 +80,14 @@ class PkgconfigPhase proc_exist.wait status = proc_exist.status if status == 1 then - modelbuilder.error(nat, "Error: package \"{pkg}\" unknown by pkg-config, make sure the development package is be installed.") - return + modelbuilder.error(nat, "Error: dev package for `{pkg}` unknown by `pkg-config`, install it with `apt-get`, `brew` or similar.") + continue else if status != 0 then - modelbuilder.error(nat, "Error: something went wrong calling pkg-config, make sure it is correctly installed.") - return + modelbuilder.error(nat, "Error: something went wrong calling `pkg-config`, make sure it is correctly installed.") + continue end - # compiler - var proc = new IProcess("pkg-config", "--cflags", pkg) - var compiler_opts = proc.read_all - mmodule.c_compiler_options = "{mmodule.c_compiler_options} {compiler_opts.replace("\n", " ")}" - - # linker - proc = new IProcess("pkg-config", "--libs", pkg) - var linker_opts = proc.read_all - mmodule.c_linker_options = "{mmodule.c_linker_options} {linker_opts.replace("\n", " ")}" + mmodule.pkgconfigs.add pkg end - end end