Edit

kc3-lang/pkgconf/pkg.c

Branch :

  • Show log

    Commit

  • Author : William Pitcock
    Date : 2011-07-24 21:03:17
    Hash : 61c246d2
    Message : Initial commit.

  • pkg.c
  • /*
     * pkg.c
     * main() routine and basic dependency solving...
     *
     * Copyright (c) 2011 William Pitcock <nenolod@dereferenced.org>.
     *
     * Permission to use, copy, modify, and/or distribute this software for any
     * purpose with or without fee is hereby granted, provided that the above
     * copyright notice and this permission notice appear in all copies.
     *
     * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
     * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
     * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
     * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     * POSSIBILITY OF SUCH DAMAGE.
     */
    
    #include "pkg.h"
    
    pkg_t *
    pkg_find(const char *name)
    {
    	char locbuf[BUFSIZ];
    
    	snprintf(locbuf, sizeof locbuf, "/usr/lib/pkgconfig/%s.pc", name);
    
    	return parse_file(locbuf);
    }
    
    int main(int argc, const char *argv[])
    {
    	pkg_t *pkg;
    
    	pkg = pkg_find(argv[1]);
    	if (pkg)
    		printf("%s %s\n", pkg->cflags, pkg->libs);
    	else
    	{
    		printf("%s not found\n", argv[1]);
    		return -1;
    	}
    
    	return 0;
    }