/* * libiri: An IRI/URI/URL parsing library * @(#) $Id$ */ /* * Copyright (c) 2005, 2008 Mo McRoberts. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The names of the author(s) of this software may not be used to endorse * or promote products derived from this software without specific prior * written permission. * * THIS SOFTWARE IS PROVIDED ``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 * AUTHORS OF THIS SOFTWARE 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. */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include #include #include static struct { const char *key; const char *value; } pairs[] = { { "cflags", "@IRI_CFLAGS@" }, { "include", "@IRI_INCLUDES@" }, { "libs", "@IRI_LIBS@" }, { "version", "@IRI_VERSION@" }, { NULL, NULL } }; static void usage(int status) { int d; puts("Usage: @bindir@/iri-config [OPTIONS]"); puts("Options:"); for(d = 0; NULL != pairs[d].key; d++) { printf("\t--%-14s [%s]\n", pairs[d].key, pairs[d].value); } exit(status); } int main(int argc, char **argv) { int c, d; if(argc < 2) { usage(EXIT_SUCCESS); } for(c = 1 ; c < argc; c++) { if(argv[c][0] == '-' && argv[c][1] == '-') { for(d = 0; NULL != pairs[d].key; d++) { if(0 == strcmp(&(argv[c][2]), pairs[d].key)) { break; } } if(NULL == pairs[d].key) { usage(EXIT_FAILURE); } } else { usage(EXIT_FAILURE); } } for(c = 1 ; c < argc; c++) { for(d = 0; NULL != pairs[d].key; d++) { if(0 == strcmp(&(argv[c][2]), pairs[d].key)) { printf("%s\n", pairs[d].value); break; } } } return 0; }