PkgConfig-LibPkgConf

 view release on metacpan or  search on metacpan

LibPkgConf.xs  view on Meta::CPAN

argv_split(src)
    const char *src
  INIT:
    int argc, ret, i;
    char **argv;
  PPCODE:
    ret = pkgconf_argv_split(src, &argc, &argv);
    if(ret == 0)
    {
      for(i=0; i<argc; i++)
      {
        XPUSHs(sv_2mortal(newSVpv(argv[i],0)));
      }
      pkgconf_argv_free(argv);
    }
    else
    {
      croak("error in argv_split");
    }


int
compare_version(a,b)
    const char *a
    const char *b
  INIT:
    int ret;
  CODE:
    ret = pkgconf_compare_version(a,b);
    if(ret < 0)
      RETVAL = -1;
    else if(ret > 0)
      RETVAL = 1;
    else
      RETVAL = 0;
  OUTPUT:
    RETVAL


char *
path_sep()
  CODE:
    RETVAL = PKG_CONFIG_PATH_SEP_S;
  OUTPUT:
    RETVAL


#define STRINGIZE(x) #x
#define STRINGIZE_VALUE_OF(x) STRINGIZE(x)


const char *
version()
  CODE:
    RETVAL = STRINGIZE_VALUE_OF(MY_PKGCONF_VERSION);
  OUTPUT:
    RETVAL


SV *
path_relocate(in)
    const char *in;
  INIT:
    char out[PKGCONF_BUFSIZE];
    bool ok;
  CODE:
    strncpy(out, in, PKGCONF_BUFSIZE-1);
    ok = pkgconf_path_relocate(out, sizeof out);
    RETVAL = newSVpv(ok ? out : in, 0);
  OUTPUT:
    RETVAL


MODULE = PkgConfig::LibPkgConf  PACKAGE = PkgConfig::LibPkgConf::Test


IV
send_error(client, msg)
    my_client_t *client
    const char *msg
  CODE:
    RETVAL = pkgconf_error(&client->client, "%s", msg);
  OUTPUT:
    RETVAL
  

void
send_log(client, msg)
    my_client_t *client
    const char *msg
  CODE:
    pkgconf_audit_log(&client->client, "%s", msg);



( run in 0.605 second using v1.01-cache-2.11-cpan-5511b514fd6 )