From 2ac96cbcc708d8945329fd1b2001386e1c895c64 Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Thu, 14 Jul 2005 13:04:01 +0000 Subject: [PATCH 1/1] import Author: hp Date: 2001-06-05 16:39:09 GMT import --- .cvsignore | 9 + AUTHORS | 8 + ChangeLog | 310 ++++++++++++ Makefile.am | 30 ++ NEWS | 0 README | 17 + acconfig.h | 2 + autogen.sh | 74 +++ configure.in | 21 + findme.c | 64 +++ findme.h | 10 + glib-1.2.8.tar.gz | Bin 0 -> 412889 bytes main.c | 489 ++++++++++++++++++ parse.c | 1236 +++++++++++++++++++++++++++++++++++++++++++++ parse.h | 15 + partial-glib.c | 0 partial-glib.h | 6 + pkg-config.1 | 313 ++++++++++++ pkg-config.in | 306 +++++++++++ pkg.c | 1099 ++++++++++++++++++++++++++++++++++++++++ pkg.h | 91 ++++ pkg.m4 | 83 +++ popt.c | 568 +++++++++++++++++++++ popt.h | 110 ++++ poptconfig.c | 155 ++++++ popthelp.c | 276 ++++++++++ poptint.h | 64 +++ poptparse.c | 101 ++++ 28 files changed, 5457 insertions(+) create mode 100644 .cvsignore create mode 100644 AUTHORS create mode 100644 ChangeLog create mode 100644 Makefile.am create mode 100644 NEWS create mode 100644 README create mode 100644 acconfig.h create mode 100755 autogen.sh create mode 100644 configure.in create mode 100644 findme.c create mode 100644 findme.h create mode 100644 glib-1.2.8.tar.gz create mode 100644 main.c create mode 100644 parse.c create mode 100644 parse.h create mode 100644 partial-glib.c create mode 100644 partial-glib.h create mode 100644 pkg-config.1 create mode 100644 pkg-config.in create mode 100644 pkg.c create mode 100644 pkg.h create mode 100644 pkg.m4 create mode 100644 popt.c create mode 100644 popt.h create mode 100644 poptconfig.c create mode 100644 popthelp.c create mode 100644 poptint.h create mode 100644 poptparse.c diff --git a/.cvsignore b/.cvsignore new file mode 100644 index 0000000..752149f --- /dev/null +++ b/.cvsignore @@ -0,0 +1,9 @@ +aclocal.m4 +config.h.in +configure +config.log +config.cache +config.status +Makefile +Makefile.in +pkg-config diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..0a79d42 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,8 @@ +Original authors +---------------- +James Henstridge original pkg-config +Tim Janik the PKG_CHECK_VERSION macro + +Maintainer +---------- +Martijn van Beers diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..04804e5 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,310 @@ +2001-05-20 Havoc Pennington + + * configure.in: revert package name change, just screwing things up. + +2001-05-18 Havoc Pennington + + * main.c (main): Change default to print errors on --cflags, + --libs, etc., just not on the predicate-style args + +2001-05-18 Havoc Pennington + + * pkg.m4: always AC_SUBST the cflags/libs + + * pkg-config.1: updates + + * configure.in: call the package 'pkg-config' instead of + pkgconfig, for consistency + + * popt.c: conditionalize on HAVE_SETRESUID, HAVE_SETREUID + maybe this will help with windows, and improves the #ifdef __hpux + test in any case. + + * parse.c: use HAVE_FLOCKFILE to try for windows portability + + * configure.in: check for flockfile + +2001-05-17 Havoc Pennington + + * pkg.m4: change to print errors only if no custom not-found + action is specified + + * main.c (main): add PKG_CONFIG_DEBUG_SPEW environment variable + (main): implement --print-errors where errors are printed, and + otherwise don't print errors related to packages, just usage + errors; pointed out by Raja + (main): rename pcbuilddir to pc_top_builddir + +2001-05-17 Havoc Pennington + + Changes to support building against uninstalled packages. + + * ${pcfiledir} variable used to locate builddir by locating + the .pc file + + * ${pcbuilddir} variable set by the PKG_CONFIG_BUILD_DIR variable, + used for the name of the build directory where the cflags/libs + will be used, defaults to '$(top_builddir)' + + * "uninstalled" feature looks for foo-uninstalled.pc before + foo.pc, unless PKG_CONFIG_DISABLE_UNINSTALLED is set + + * --uninstalled option used to see if foo-uninstalled.pc is in use + + * --define-variable option added, but turned out to be unused for + this + +2001-05-09 Havoc Pennington + + * main.c, findme.c, parse.c, pkg.c, poptconfig.c, popthelp.c, + poptparse.c: portability fixes from Tomas Ogren + +2001-05-09 Havoc Pennington + + * Makefile.am (EXTRA_DIST): put the m4 files in the distribution + +2001-05-09 Havoc Pennington + + * pkg.m4: switch to double quotes for module list, so you can use + a variable there. + +2001-05-09 Havoc Pennington + + * pkg.c (verify_package): fix error message on missing Name field, + so that it doesn't try to use the name field to report which + package was broken + + * parse.c (parse_package_file): change a debug spew to an actual + error message + +2001-04-13 Havoc Pennington + + * pkg.m4: fixed this up + + * main.c (main): remove --check-requires, instead allow version + predicates in the module list. + +2001-04-12 Havoc Pennington + + * main.c (main): Implement --check-requires='gtk+-2.0 = 1.3.4' + option + +2001-01-24 Havoc Pennington + + Implement --debug spew option. + + * main.c: add debug_spew function and an option --debug + +2001-01-06 Havoc Pennington + + * pkg.c (scan_dir): fail silently if we can't open a directory in + the PKG_CONFIG_PATH + +2001-01-02 Havoc Pennington + + * configure.in: bump version + +2001-01-02 Havoc Pennington + + * parse.c (parse_package_file): return NULL instead of exiting + if we can't open the file. + + * main.c (main): Add options to check the version of pkg-config + itself, and to list all known packages + + * parse.c (split_module_list): fix to work properly + (parse_module_list): pass variable-substituted string to + split_module_list(), silly typo + + * pkg.c (get_package): Add ability to pass a filename instead of a + package name, if you want to use a specific pkg-config file (used + for configure.in in GTK+ for example, where you can build against + an uninstalled copy of GLib). + +2000-11-29 Havoc Pennington + + * parse.c (parse_module_list): Allow commas before/after the + module list, and allow spaces instead of commas to be used as + separators. This leniency makes it a lot easier to conditionally + build the module list according to configure.in checks. + +2000-11-29 Havoc Pennington + + * pkg.c (packages_get_other_libs): put a space after the + other_libs + (packages_get_other_cflags): put a space after the other_cflags + +2000-11-27 Havoc Pennington + + * main.c (main): don't print space after variable values + + * pkg.c (packages_get_var): don't add space after last variable + +2000-11-22 Martijn van Beers + + * main.c: added a --version option for martin + * parse.c: added jamesh's patch + + release 0.4.1 + +2000-10-17 Martijn van Beers + + * configure.in: + * Makefile.am: Change to use C version only. + + release 0.4.0 + +2000-09-15 Havoc Pennington + + * configure.in: AM_PROG_LIBTOOL + + * Makefile.am (experimental_pkg_config_LDADD): Link with .la, not + .a + +2000-08-10 Havoc Pennington + + * pkg.c (verify_package): Bugfix from Anders + +2000-07-24 Havoc Pennington + + * parse.c (get_compat_package): Add support + for imlib-config and orbit-config + +2000-07-22 Havoc Pennington + + * parse.c (get_compat_package): Make it work with any + gnome-config package name. + +2000-07-22 Havoc Pennington + + * parse.c, pkg.c, pkg.h: Add Conflicts: keyword, and do + version-checking for Requires: line. Untested. + +2000-07-21 Havoc Pennington + + * parse.c (get_compat_package): Add some compat stuff (execs + gnome-config, gtk-config, etc.). We don't yet support all + the modules we might want to support. + +2000-07-20 Havoc Pennington + + * pkg.c (get_package): fix error message formatting + +2000-07-20 Havoc Pennington + + * pkg.c (recursive_fill_list): append rather than prepend the + current libs to the required libs. + + * parse.c (trim_and_sub): Make variables use ${} instead of %{} so + we can accept "shell variables" subbed by configure + +2000-07-20 Havoc Pennington + + * autogen.sh: Run perl on the Makefile.am in the glib tarball to + keep it from doing anything in 'make install' + + * pkg.c (scan_dir): Revert to .pc extension + +2000-07-20 Havoc Pennington + + * glib-1.2.8.tar.gz: Decided it was easier to just stick + in a copy of the tarball instead of hacking up glib; + this way we get bugfixes. If distribution size is a problem, + we can hack on it later. Rerun autogen.sh to get the + tarball unpacked and configured. + + * configure.in: AC_CONFIG_SUBDIRS(glib-1.2.8) + + * main.c: Add version-comparison + + * Makefile.am: use new glib tarball + +2000-07-18 Havoc Pennington + + * pkg.c: When removing -l duplicates, keep the last not the first + -l + + * main.c (main): Added --variable and --module-exists options. + + * Wrote an experimental version of pkg-config in C. For + now, glib is required, until I get a cut-and-pasted subset + of glib up and running. + + C version is not finished, don't release a tarball yet. ;-) + + * configure.in, Makefile.am: stuff to build the C version + of pkg-config + +2000-07-10 Martijn van Beers + + * pkg-config.in: remove -I/usr/include and -L/usr/lib from + the flags we output + * pkg.m4: add a PKG_ACLOCALFLAGS macro + add a _DEPENDS output variable + +2000-07-01 Martijn van Beers + + * data/gnomeconfig.pce: make output of --modversion be like + the output of .pc files + +2000-07-01 Martijn van Beers + + * pkg.m4: clean up PKG_CHECK_CFLAG + +2000-06-27 Martijn van Beers + + * data/gnomeconfig.pce: check for existance with --cflags + instead of --libs + * pkg.m4: remove stray debug echo command + add PKG_CHECK_CFLAGS macro + +2000-06-23 Martijn van Beers + + * data/gnomeconfig.pce, + * pkg-config.in: + - add checks to see if we're properly installed + - bug fixes for sh on Tru64 + +Wed Jun 21 2000 Martijn van Beers + + * added support for extension modules that will be called + if a module doesn't have a .pc file + * added a gnomeconfig.pce extension module to allow for + old gnome-libs stuff to be used (at the request of hp) + * made CFLAGS be like the LIBS_* variables in that you + need to do the adding in the .pc file + +Thu Jun 15 2000 Martijn van Beers + + * add a --print-pc-dir that prints the default search dir + * only use the default search dir when nothing else is + specified + +Sat Jun 10 2000 Martijn van Beers + + * made the duplication removing code in a function + * fix the duplication code so that it checks $* correctly + while we have IFS=":$IFS" + * splitted up --libs into --libs-only-L, --libs-only-l-self + and --libs-only-l-system, as suggested by Tim Janik + +Thu Jun 8 2000 Martijn van Beers + + * made it use autoconf/automake + * pkg-config: removed in favour of a .in equivalent which generates + pkg-config from configure + * pkg-config.in: new file, mostly a copy from pkg-config + * pkg-config.in: get the prefix for the default pc_path from configure + +Wed Jun 7 2000 Martijn van Beers + + * pkg.m4: new file, contains a macro that checks for packages and + whether they're the right version + * pkg-config: added a --modversion flag to get the version of the + module (needs a VERSION var in the .pc files) + +Tue Jun 6 2000 Martijn van Beers + + * pkg-config: removed the pc_name_pkg functionality + * pkg-config: show help and error out when there are no arguments + * pkg-config: get the version from configure diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..68e0118 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,30 @@ +SUBDIRS = glib-1.2.8 + +m4dir = $(datadir)/aclocal +m4_DATA = pkg.m4 + +man_MANS = pkg-config.1 +EXTRA_DIST = $(m4_DATA) $(man_MANS) + +bin_PROGRAMS = pkg-config + +INCLUDES=-DPKGLIBDIR="\"$(pkglibdir)\"" -I./glib-1.2.8 + +pkg_config_SOURCES= \ + pkg.h \ + pkg.c \ + partial-glib.h \ + partial-glib.c \ + parse.h \ + parse.c \ + main.c \ + findme.c \ + findme.h \ + popt.c \ + popt.h \ + poptconfig.c \ + popthelp.c \ + poptint.h \ + poptparse.c + +pkg_config_LDADD=glib-1.2.8/libglib.la diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..e69de29 diff --git a/README b/README new file mode 100644 index 0000000..4d3cea3 --- /dev/null +++ b/README @@ -0,0 +1,17 @@ +pkg-config is a script to make putting together all the build +flags when compiling/linking a lot easier. + +to use it, do something like the following in your configure.in + + PKG_CHECK_MODULES(GNOME, gtk:1.2.8, gnomeui) + AC_SUBST(GNOME_CFLAGS) + AC_SUBST(GNOME_LIBS) + +This puts the neccesary include flags to compile/link something against +libgnomeui and all its dependencies in $(GNOME_CFLAGS), and the -L/-l flags +for linking in $(GNOME_LIBS) + +The gtk:1.2.8 part is only neccesary if you want to specifically check +if libgtk is version 1.2.8 or higher. otherwise, the flags for gtk +will be included automatically, since libgnomeui depends on gtk. + diff --git a/acconfig.h b/acconfig.h new file mode 100644 index 0000000..46d3386 --- /dev/null +++ b/acconfig.h @@ -0,0 +1,2 @@ +#undef SIZEOF_LONG +#undef SIZEOF_VOID_P diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..10ae1d9 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,74 @@ +#!/bin/sh +# Run this to generate all the initial makefiles, etc. + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + +PROJECT=pkg-config +TEST_TYPE=-f +FILE=pkg.m4 + +DIE=0 + +(autoconf --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "You must have autoconf installed to compile $PROJECT." + echo "Download the appropriate package for your distribution," + echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" + DIE=1 +} + +(automake --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "You must have automake installed to compile $PROJECT." + echo "Get ftp://ftp.cygnus.com/pub/home/tromey/automake-1.2d.tar.gz" + echo "(or a newer version if it is available)" + DIE=1 +} + +if test "$DIE" -eq 1; then + exit 1 +fi + +test $TEST_TYPE $FILE || { + echo "You must run this script in the top-level $PROJECT directory" + exit 1 +} + +gunzip --stdout glib-1.2.8.tar.gz | tar xf - || { + echo "glib tarball not unpacked" + exit 1 +} + +perl -pi -e "s/lib_LTLIBRARIES/noinst_LTLIBRARIES/g" `find glib-1.2.8 -name Makefile.am` +perl -pi -e "s/bin_SCRIPTS/noinst_SCRIPTS/g" `find glib-1.2.8 -name Makefile.am` +perl -pi -e "s/include_HEADERS/noinst_HEADERS/g" `find glib-1.2.8 -name Makefile.am` +perl -pi -e "s/[a-zA-Z0-9]+_DATA/noinst_DATA/g" `find glib-1.2.8 -name Makefile.am` +perl -pi -e "s/info_TEXINFOS/noinst_TEXINFOS/g" `find glib-1.2.8 -name Makefile.am` +perl -pi -e "s/man_MANS/noinst_MANS/g" `find glib-1.2.8 -name Makefile.am` + +(cd glib-1.2.8 && automake) + +if test -z "$*"; then + echo "I am going to run ./configure with no arguments - if you wish " + echo "to pass any to it, please specify them on the $0 command line." +fi + +echo aclocal $ACLOCAL_FLAGS +aclocal $ACLOCAL_FLAGS + +# optionally feature autoheader +(autoheader --version) < /dev/null > /dev/null 2>&1 && autoheader + +automake -a $am_opt +autoconf + +cd $ORIGDIR + +$srcdir/configure --enable-maintainer-mode --disable-shared --disable-threads "$@" + +echo +echo "Now type 'make' to compile $PROJECT." diff --git a/configure.in b/configure.in new file mode 100644 index 0000000..6ba746d --- /dev/null +++ b/configure.in @@ -0,0 +1,21 @@ + +AC_INIT(pkg-config.1) + +AC_CONFIG_SUBDIRS(glib-1.2.8) + +AM_INIT_AUTOMAKE(pkgconfig, 0.6.0) + +AM_MAINTAINER_MODE + +AM_CONFIG_HEADER(config.h) + +AM_PROG_LIBTOOL + +AC_PROG_CC + +AC_FUNC_ALLOCA + +AC_CHECK_FUNCS(flockfile) +AC_CHECK_FUNCS(setresuid setreuid,break) + +AC_OUTPUT([Makefile]) diff --git a/findme.c b/findme.c new file mode 100644 index 0000000..79f2b54 --- /dev/null +++ b/findme.c @@ -0,0 +1,64 @@ +/* (C) 1998 Red Hat Software, Inc. -- Licensing details are in the COPYING + file accompanying popt source distributions, available from + ftp://ftp.redhat.com/pub/code/popt */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_ALLOCA_H +# include +#else +# ifdef _AIX +# pragma alloca +# endif +#endif + +#include +#include +#include +#include +#ifdef __NeXT +/* access macros are not declared in non posix mode in unistd.h - + don't try to use posix on NeXTstep 3.3 ! */ +#include +#endif + +#include "findme.h" + +char * findProgramPath(char * argv0) { + char * path = getenv("PATH"); + char * pathbuf; + char * start, * chptr; + char * buf; + + /* If there is a / in the argv[0], it has to be an absolute + path */ + if (strchr(argv0, '/')) + return strdup(argv0); + + if (!path) return NULL; + + start = pathbuf = alloca(strlen(path) + 1); + buf = malloc(strlen(path) + strlen(argv0) + 2); + strcpy(pathbuf, path); + + chptr = NULL; + do { + if ((chptr = strchr(start, ':'))) + *chptr = '\0'; + sprintf(buf, "%s/%s", start, argv0); + + if (!access(buf, X_OK)) + return buf; + + if (chptr) + start = chptr + 1; + else + start = NULL; + } while (start && *start); + + free(buf); + + return NULL; +} diff --git a/findme.h b/findme.h new file mode 100644 index 0000000..fdd01d5 --- /dev/null +++ b/findme.h @@ -0,0 +1,10 @@ +/* (C) 1998 Red Hat Software, Inc. -- Licensing details are in the COPYING + file accompanying popt source distributions, available from + ftp://ftp.redhat.com/pub/code/popt */ + +#ifndef H_FINDME +#define H_FINDME + +char * findProgramPath(char * argv0); + +#endif diff --git a/glib-1.2.8.tar.gz b/glib-1.2.8.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..9f70ce6299bb4b12b27105088e3d8c1174e6766b GIT binary patch literal 412889 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ïbY$6%nV92R%WL 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%0ASE?6(ZW<8}Xyycs=$jw9e-4rMCg$Nz0 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 A{4 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 literal 0 HcmV?d00001 diff --git a/main.c b/main.c new file mode 100644 index 0000000..140e531 --- /dev/null +++ b/main.c @@ -0,0 +1,489 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "pkg.h" +#include "parse.h" + +#include "popt.h" +#include +#include +#include +#include + +static int want_debug_spew = 0; +static int want_verbose_errors = 0; + +void +debug_spew (const char *format, ...) +{ + va_list args; + gchar *str; + + g_return_if_fail (format != NULL); + + if (!want_debug_spew) + return; + + va_start (args, format); + str = g_strdup_vprintf (format, args); + va_end (args); + + fputs (str, stderr); + fflush (stdout); + + g_free (str); +} + +void +verbose_error (const char *format, ...) +{ + va_list args; + gchar *str; + + g_return_if_fail (format != NULL); + + if (!want_verbose_errors) + return; + + va_start (args, format); + str = g_strdup_vprintf (format, args); + va_end (args); + + fputs (str, stderr); + fflush (stdout); + + g_free (str); +} + +#define DEFINE_VARIABLE 1 + +static void +popt_callback (poptContext con, + enum poptCallbackReason reason, + const struct poptOption * opt, + const char * arg, void * data) +{ + if (opt->val == DEFINE_VARIABLE) + { + char *varname; + char *varval; + char *tmp; + + tmp = g_strdup (arg); + + varname = tmp; + while (*varname && isspace (*varname)) + ++varname; + + varval = varname; + while (*varval && *varval != '=' && *varval != ' ') + ++varval; + + while (*varval && (*varval == '=' || *varval == ' ')) + { + *varval = '\0'; + ++varval; + } + + if (*varval == '\0') + { + fprintf (stderr, "--define-variable argument does not have a value for the variable\n"); + + exit (1); + } + + define_global_variable (varname, varval); + + g_free (tmp); + } +} + +static gboolean +pkg_uninstalled (Package *pkg) +{ + /* See if > 0 pkgs were uninstalled */ + GSList *tmp; + + if (pkg->uninstalled) + return TRUE; + + tmp = pkg->requires; + while (tmp != NULL) + { + Package *pkg = tmp->data; + + if (pkg_uninstalled (pkg)) + return TRUE; + + tmp = g_slist_next (tmp); + } + + return FALSE; +} + +int +main (int argc, char **argv) +{ + static int want_my_version = 0; + static int want_version = 0; + static int want_libs = 0; + static int want_cflags = 0; + static int want_l_libs = 0; + static int want_L_libs = 0; + static int want_I_cflags = 0; + static int want_list = 0; + static int result; + static int want_uninstalled = 0; + static char *variable_name = NULL; + static int want_exists = 0; + static char *required_atleast_version = NULL; + static char *required_exact_version = NULL; + static char *required_max_version = NULL; + static char *required_pkgconfig_version = NULL; + static int want_silence_errors = 0; + GString *str; + GSList *packages = NULL; + char *search_path; + char *pcbuilddir; + gboolean need_newline; + + const char *pkgname; + Package *pkg; + + poptContext opt_context; + + struct poptOption options_table[] = { + { NULL, 0, POPT_ARG_CALLBACK, popt_callback, 0, NULL, NULL }, + { "version", 0, POPT_ARG_NONE, &want_my_version, 0, + "output version of pkg-config" }, + { "modversion", 0, POPT_ARG_NONE, &want_version, 0, + "output version for package" }, + { "atleast-pkgconfig-version", 0, POPT_ARG_STRING, &required_pkgconfig_version, 0, + "require given version of pkg-config", "VERSION" }, + { "libs", 0, POPT_ARG_NONE, &want_libs, 0, + "output all linker flags" }, + { "libs-only-l", 0, POPT_ARG_NONE, &want_l_libs, 0, + "output -l flags" }, + { "libs-only-L", 0, POPT_ARG_NONE, &want_L_libs, 0, + "output -L flags" }, + { "cflags", 0, POPT_ARG_NONE, &want_cflags, 0, + "output all pre-processor and compiler flags" }, + { "cflags-only-I", 0, POPT_ARG_NONE, &want_I_cflags, 0, + "output -I flags" }, + { "variable", 0, POPT_ARG_STRING, &variable_name, 0, + "get the value of a variable", "VARIABLENAME" }, + { "define-variable", 0, POPT_ARG_STRING, NULL, DEFINE_VARIABLE, + "set the value of a variable", "VARIABLENAME=VARIABLEVALUE" }, + { "exists", 0, POPT_ARG_NONE, &want_exists, 0, + "return 0 if the module(s) exist" }, + { "uninstalled", 0, POPT_ARG_NONE, &want_uninstalled, 0, + "return 0 if the uninstalled version of one or more module(s) or their dependencies will be used" }, + { "atleast-version", 0, POPT_ARG_STRING, &required_atleast_version, 0, + "return 0 if the module is at least version VERSION", "VERSION" }, + { "exact-version", 0, POPT_ARG_STRING, &required_exact_version, 0, + "return 0 if the module is at exactly version VERSION", "VERSION" }, + { "max-version", 0, POPT_ARG_STRING, &required_max_version, 0, + "return 0 if the module is at no newer than version VERSION", "VERSION" }, + { "list-all", 0, POPT_ARG_NONE, &want_list, 0, + "list all known packages" }, + { "debug", 0, POPT_ARG_NONE, &want_debug_spew, 0, + "show verbose debug information" }, + { "print-errors", 0, POPT_ARG_NONE, &want_verbose_errors, 0, + "show verbose information about missing or conflicting packages" }, + { "silence-errors", 0, POPT_ARG_NONE, &want_silence_errors, 0, + "show verbose information about missing or conflicting packages" }, + POPT_AUTOHELP + { NULL, 0, 0, NULL, 0 } + }; + + /* This is here so that we get debug spew from the start, + * during arg parsing + */ + if (getenv ("PKG_CONFIG_DEBUG_SPEW")) + { + want_debug_spew = TRUE; + want_verbose_errors = TRUE; + want_silence_errors = FALSE; + } + + search_path = getenv ("PKG_CONFIG_PATH"); + if (search_path) + { + char **search_dirs; + char **iter; + + search_dirs = g_strsplit (search_path, ":", -1); + + iter = search_dirs; + while (*iter) + { + debug_spew ("Adding directory '%s' from PKG_CONFIG_PATH\n", + *iter); + add_search_dir (*iter); + + ++iter; + } + + g_strfreev (search_dirs); + } + + pcbuilddir = getenv ("PKG_CONFIG_TOP_BUILD_DIR"); + if (pcbuilddir) + { + define_global_variable ("pc_top_builddir", pcbuilddir); + } + else + { + /* Default appropriate for automake */ + define_global_variable ("pc_top_builddir", "$(top_builddir)"); + } + + if (getenv ("PKG_CONFIG_DISABLE_UNINSTALLED")) + { + debug_spew ("disabling auto-preference for uninstalled packages\n"); + disable_uninstalled = TRUE; + } + + opt_context = poptGetContext (NULL, argc, argv, + options_table, 0); + + result = poptGetNextOpt (opt_context); + if (result != -1) + { + fprintf(stderr, "%s: %s\n", + poptBadOption(opt_context, POPT_BADOPTION_NOALIAS), + poptStrerror(result)); + return 1; + } + + + /* Error printing is determined as follows: + * - for --cflags, --libs, etc. it's on by default + * and --silence-errors can turn it off + * - for --exists, --max-version, etc. and no options + * at all, it's off by default and --print-errors + * will turn it on + */ + + if (want_my_version || + want_version || + want_libs || + want_cflags || + want_l_libs || + want_L_libs || + want_I_cflags || + want_list) + { + if (want_silence_errors && getenv ("PKG_CONFIG_DEBUG_SPEW") == NULL) + want_verbose_errors = FALSE; + else + want_verbose_errors = TRUE; + } + else + { + /* Leave want_verbose_errors unchanged, reflecting --print-errors */ + } + + if (want_my_version) + { + printf ("%s\n", VERSION); + return 0; + } + + if (required_pkgconfig_version) + { + if (compare_versions (VERSION, required_pkgconfig_version) >= 0) + return 0; + else + return 1; + } + + package_init (); + + if (want_list) + { + print_package_list (); + return 0; + } + + str = g_string_new (""); + while (1) + { + pkgname = poptGetArg (opt_context); + if (pkgname == NULL) + break; + + g_string_append (str, pkgname); + g_string_append (str, " "); + } + + g_strstrip (str->str); + + { + GSList *reqs; + GSList *iter; + + reqs = parse_module_list (NULL, str->str, + "(command line arguments)"); + + iter = reqs; + + while (iter != NULL) + { + Package *req; + RequiredVersion *ver = iter->data; + + req = get_package (ver->name); + + if (req == NULL) + { + verbose_error ("No package '%s' found\n", ver->name); + return 1; + } + + if (!version_test (ver->comparison, req->version, ver->version)) + { + verbose_error ("Requested '%s %s %s' but version of %s is %s\n", + ver->name, + comparison_to_str (ver->comparison), + ver->version, + req->name, + req->version); + + return 1; + } + + packages = g_slist_prepend (packages, req); + + iter = g_slist_next (iter); + } + } + + g_string_free (str, TRUE); + + packages = g_slist_reverse (packages); + + if (packages == NULL) + { + fprintf (stderr, "Must specify package names on the command line\n"); + + exit (1); + } + + if (want_exists) + return 0; /* if we got here, all the packages existed. */ + + if (want_uninstalled) + { + /* See if > 0 pkgs (including dependencies recursively) were uninstalled */ + GSList *tmp; + tmp = packages; + while (tmp != NULL) + { + Package *pkg = tmp->data; + + if (pkg_uninstalled (pkg)) + return 0; + + tmp = g_slist_next (tmp); + } + + return 1; + } + + if (want_version) + { + GSList *tmp; + tmp = packages; + while (tmp != NULL) + { + Package *pkg = tmp->data; + + printf ("%s\n", pkg->version); + + tmp = g_slist_next (tmp); + } + } + + if (required_exact_version) + { + Package *pkg = packages->data; + + if (compare_versions (pkg->version, required_exact_version) == 0) + return 0; + else + return 1; + } + else if (required_atleast_version) + { + Package *pkg = packages->data; + + if (compare_versions (pkg->version, required_atleast_version) >= 0) + return 0; + else + return 1; + } + else if (required_max_version) + { + Package *pkg = packages->data; + + if (compare_versions (pkg->version, required_max_version) <= 0) + return 0; + else + return 1; + } + + /* Print all flags; then print a newline at the end. */ + need_newline = FALSE; + + if (variable_name) + { + char *str = packages_get_var (packages, variable_name); + printf ("%s", str); + g_free (str); + need_newline = TRUE; + } + + if (want_I_cflags) + { + char *str = packages_get_I_cflags (packages); + printf ("%s ", str); + g_free (str); + need_newline = TRUE; + } + else if (want_cflags) + { + char *str = packages_get_all_cflags (packages); + printf ("%s ", str); + g_free (str); + need_newline = TRUE; + } + + if (want_l_libs) + { + char *str = packages_get_l_libs (packages); + printf ("%s ", str); + g_free (str); + need_newline = TRUE; + } + else if (want_L_libs) + { + char *str = packages_get_L_libs (packages); + printf ("%s ", str); + g_free (str); + need_newline = TRUE; + } + else if (want_libs) + { + char *str = packages_get_all_libs (packages); + printf ("%s ", str); + g_free (str); + need_newline = TRUE; + } + + if (need_newline) + printf ("\n"); + + return 0; +} diff --git a/parse.c b/parse.c new file mode 100644 index 0000000..1495932 --- /dev/null +++ b/parse.c @@ -0,0 +1,1236 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "parse.h" +#include +#include +#include +#include +#include +#include "popt.h" +#include +#include + +#ifndef HAVE_FLOCKFILE +# define flockfile(f) (void)1 +# define funlockfile(f) (void)1 +# define getc_unlocked(f) getc(f) +#endif /* !HAVE_FLOCKFILE */ + +#ifdef NATIVE_WIN32 + +#define STRICT +#include + +#endif + +/** + * Read an entire line from a file into a buffer. Lines may + * be delimited with '\n', '\r', '\n\r', or '\r\n'. The delimiter + * is not written into the buffer. Text after a '#' character is treated as + * a comment and skipped. '\' can be used to escape a # character. + * '\' proceding a line delimiter combines adjacent lines. A '\' proceding + * any other character is ignored and written into the output buffer + * unmodified. + * + * Return value: %FALSE if the stream was already at an EOF character. + **/ +static gboolean +read_one_line (FILE *stream, GString *str) +{ + gboolean quoted = FALSE; + gboolean comment = FALSE; + int n_read = 0; + + flockfile (stream); + + g_string_truncate (str, 0); + + while (1) + { + int c; + + c = getc_unlocked (stream); + + if (c == EOF) + { + if (quoted) + g_string_append_c (str, '\\'); + + goto done; + } + else + n_read++; + + if (quoted) + { + quoted = FALSE; + + switch (c) + { + case '#': + g_string_append_c (str, '#'); + break; + case '\r': + case '\n': + { + int next_c = getc_unlocked (stream); + + if (!(c == EOF || + (c == '\r' && next_c == '\n') || + (c == '\n' && next_c == '\r'))) + ungetc (next_c, stream); + + break; + } + default: + g_string_append_c (str, '\\'); + g_string_append_c (str, c); + } + } + else + { + switch (c) + { + case '#': + comment = TRUE; + break; + case '\\': + if (!comment) + quoted = TRUE; + break; + case '\n': + { + int next_c = getc_unlocked (stream); + + if (!(c == EOF || + (c == '\r' && next_c == '\n') || + (c == '\n' && next_c == '\r'))) + ungetc (next_c, stream); + + goto done; + } + default: + if (!comment) + g_string_append_c (str, c); + } + } + } + + done: + + funlockfile (stream); + + return n_read > 0; +} + +static char * +trim_string (const char *str) +{ + int len; + + g_return_val_if_fail (str != NULL, NULL); + + while (*str && isspace (*str)) + str++; + + len = strlen (str); + while (len > 0 && isspace (str[len-1])) + len--; + + return g_strndup (str, len); +} + +static char * +trim_and_sub (Package *pkg, const char *str, const char *path) +{ + char *trimmed; + GString *subst; + char *p; + + trimmed = trim_string (str); + + subst = g_string_new (""); + + p = trimmed; + while (*p) + { + if (p[0] == '$' && + p[1] == '$') + { + /* escaped % */ + g_string_append_c (subst, '%'); + p += 2; + } + else if (p[0] == '$' && + p[1] == '{') + { + /* variable */ + char *var_start; + char *varname; + char *varval; + + var_start = &p[2]; + + /* Get up to close brace. */ + while (*p && *p != '}') + ++p; + + varname = g_strndup (var_start, p - var_start); + + ++p; /* past brace */ + + varval = package_get_var (pkg, varname); + + if (varval == NULL) + { + verbose_error ("Variable '%s' not defined in '%s'\n", + varname, path); + + exit (1); + } + + g_free (varname); + + g_string_append (subst, varval); + } + else + { + g_string_append_c (subst, *p); + + ++p; + } + } + + g_free (trimmed); + p = subst->str; + g_string_free (subst, FALSE); + + return p; +} + +static void +parse_name (Package *pkg, const char *str, const char *path) +{ + if (pkg->name) + { + verbose_error ("Name field occurs twice in '%s'\n", path); + + exit (1); + } + + pkg->name = trim_and_sub (pkg, str, path); +} + +static void +parse_version (Package *pkg, const char *str, const char *path) +{ + if (pkg->version) + { + verbose_error ("Version field occurs twice in '%s'\n", path); + + exit (1); + } + + pkg->version = trim_and_sub (pkg, str, path); +} + +static void +parse_description (Package *pkg, const char *str, const char *path) +{ + if (pkg->description) + { + verbose_error ("Description field occurs twice in '%s'\n", path); + + exit (1); + } + + pkg->description = trim_and_sub (pkg, str, path); +} + + +#define MODULE_SEPARATOR(c) ((c) == ',' || isspace ((c))) +#define OPERATOR_CHAR(c) ((c) == '<' || (c) == '>' || (c) == '!' || (c) == '=') + +/* A module list is a list of modules with optional version specification, + * separated by commas and/or spaces. Commas are treated just like whitespace, + * in order to allow stuff like: Requires: @FRIBIDI_PC@, glib, gmodule + * where @FRIBIDI_PC@ gets substituted to nothing or to 'fribidi' + */ + +typedef enum +{ + /* put numbers to help interpret lame debug spew ;-) */ + OUTSIDE_MODULE = 0, + IN_MODULE_NAME = 1, + BEFORE_OPERATOR = 2, + IN_OPERATOR = 3, + AFTER_OPERATOR = 4, + IN_MODULE_VERSION = 5 +} ModuleSplitState; + +#define PARSE_SPEW 0 + +static GSList* +split_module_list (const char *str, const char *path) +{ + GSList *retval = NULL; + const char *p; + const char *start; + ModuleSplitState state = OUTSIDE_MODULE; + ModuleSplitState last_state = OUTSIDE_MODULE; + + /* fprintf (stderr, "Parsing: '%s'\n", str); */ + + start = str; + p = str; + + while (*p) + { +#if PARSE_SPEW + fprintf (stderr, "p: %c state: %d last_state: %d\n", *p, state, last_state); +#endif + + switch (state) + { + case OUTSIDE_MODULE: + if (!MODULE_SEPARATOR (*p)) + state = IN_MODULE_NAME; + break; + + case IN_MODULE_NAME: + if (isspace (*p)) + { + /* Need to look ahead to determine next state */ + const char *s = p; + while (*s && isspace (*s)) + ++s; + + if (*s == '\0') + state = OUTSIDE_MODULE; + else if (MODULE_SEPARATOR (*s)) + state = OUTSIDE_MODULE; + else if (OPERATOR_CHAR (*s)) + state = BEFORE_OPERATOR; + else + state = OUTSIDE_MODULE; + } + else if (MODULE_SEPARATOR (*p)) + state = OUTSIDE_MODULE; /* comma precludes any operators */ + break; + + case BEFORE_OPERATOR: + /* We know an operator is coming up here due to lookahead from + * IN_MODULE_NAME + */ + if (isspace (*p)) + ; /* no change */ + else if (OPERATOR_CHAR (*p)) + state = IN_OPERATOR; + else + g_assert_not_reached (); + break; + + case IN_OPERATOR: + if (!OPERATOR_CHAR (*p)) + state = AFTER_OPERATOR; + break; + + case AFTER_OPERATOR: + if (!isspace (*p)) + state = IN_MODULE_VERSION; + break; + + case IN_MODULE_VERSION: + if (MODULE_SEPARATOR (*p)) + state = OUTSIDE_MODULE; + break; + + default: + g_assert_not_reached (); + } + + if (state == OUTSIDE_MODULE && + last_state != OUTSIDE_MODULE) + { + /* We left a module */ + char *module = g_strndup (start, p - start); + retval = g_slist_prepend (retval, module); + +#if PARSE_SPEW + fprintf (stderr, "found module: '%s'\n", module); +#endif + + /* reset start */ + start = p; + } + + last_state = state; + ++p; + } + + if (p != start) + { + /* get the last module */ + char *module = g_strndup (start, p - start); + retval = g_slist_prepend (retval, module); + +#if PARSE_SPEW + fprintf (stderr, "found module: '%s'\n", module); +#endif + + } + + retval = g_slist_reverse (retval); + + return retval; +} + +GSList* +parse_module_list (Package *pkg, const char *str, const char *path) +{ + GSList *split; + GSList *iter; + GSList *retval = NULL; + + split = split_module_list (str, path); + + iter = split; + while (iter != NULL) + { + RequiredVersion *ver; + char *p; + char *start; + + p = iter->data; + + ver = g_new0 (RequiredVersion, 1); + ver->comparison = ALWAYS_MATCH; + ver->owner = pkg; + retval = g_slist_prepend (retval, ver); + + while (*p && MODULE_SEPARATOR (*p)) + ++p; + + start = p; + + while (*p && !isspace (*p)) + ++p; + + while (*p && MODULE_SEPARATOR (*p)) + { + *p = '\0'; + ++p; + } + + if (*start == '\0') + { + verbose_error ("Empty package name in Requires or Conflicts in file '%s'\n", path); + + exit (1); + } + + ver->name = g_strdup (start); + + start = p; + + while (*p && !isspace (*p)) + ++p; + + while (*p && isspace (*p)) + { + *p = '\0'; + ++p; + } + + if (*start != '\0') + { + if (strcmp (start, "=") == 0) + ver->comparison = EQUAL; + else if (strcmp (start, ">=") == 0) + ver->comparison = GREATER_THAN_EQUAL; + else if (strcmp (start, "<=") == 0) + ver->comparison = LESS_THAN_EQUAL; + else if (strcmp (start, ">") == 0) + ver->comparison = GREATER_THAN; + else if (strcmp (start, "<") == 0) + ver->comparison = LESS_THAN; + else if (strcmp (start, "!=") == 0) + ver->comparison = NOT_EQUAL; + else + { + verbose_error ("Unknown version comparison operator '%s' after package name '%s' in file '%s'\n", start, ver->name, path); + + exit (1); + } + } + + start = p; + + while (*p && !MODULE_SEPARATOR (*p)) + ++p; + + while (*p && MODULE_SEPARATOR (*p)) + { + *p = '\0'; + ++p; + } + + if (ver->comparison != ALWAYS_MATCH && *start == '\0') + { + verbose_error ("Comparison operator but no version after package name '%s' in file '%s'\n", ver->name, path); + + exit (1); + } + + if (*start != '\0') + { + ver->version = g_strdup (start); + } + + g_assert (ver->name); + + iter = g_slist_next (iter); + } + + g_slist_foreach (split, (GFunc) g_free, NULL); + g_slist_free (split); + + retval = g_slist_reverse (retval); + + return retval; +} + +static void +parse_requires (Package *pkg, const char *str, const char *path) +{ + GSList *parsed; + GSList *iter; + char *trimmed; + + if (pkg->requires) + { + verbose_error ("Requires field occurs twice in '%s'\n", path); + + exit (1); + } + + trimmed = trim_and_sub (pkg, str, path); + parsed = parse_module_list (pkg, trimmed, path); + g_free (trimmed); + + iter = parsed; + while (iter != NULL) + { + Package *req; + RequiredVersion *ver = iter->data; + + req = get_package (ver->name); + + if (req == NULL) + { + verbose_error ("Package '%s', required by '%s', not found\n", + ver->name, pkg->name ? pkg->name : path); + + exit (1); + } + + if (pkg->required_versions == NULL) + pkg->required_versions = g_hash_table_new (g_str_hash, g_str_equal); + + g_hash_table_insert (pkg->required_versions, ver->name, ver); + + pkg->requires = g_slist_prepend (pkg->requires, req); + + iter = g_slist_next (iter); + } + + g_slist_free (parsed); + + pkg->requires = g_slist_reverse (pkg->requires); +} + +static void +parse_conflicts (Package *pkg, const char *str, const char *path) +{ + GSList *parsed; + GSList *iter; + char *trimmed; + + if (pkg->conflicts) + { + verbose_error ("Conflicts field occurs twice in '%s'\n", path); + + exit (1); + } + + trimmed = trim_and_sub (pkg, str, path); + pkg->conflicts = parse_module_list (pkg, trimmed, path); + g_free (trimmed); +} + +static void +parse_libs (Package *pkg, const char *str, const char *path) +{ + /* Strip out -l and -L flags, put them in a separate list. */ + + char *trimmed; + GString *other; + char **argv = NULL; + int argc; + int result; + int i; + + if (pkg->l_libs || pkg->L_libs || pkg->other_libs) + { + verbose_error ("Libs field occurs twice in '%s'\n", path); + + exit (1); + } + + trimmed = trim_and_sub (pkg, str, path); + + result = poptParseArgvString (trimmed, &argc, &argv); + + if (result < 0) + { + verbose_error ("Couldn't parse Libs field into an argument vector: %s\n", + poptStrerror (result)); + + exit (1); + } + + other = g_string_new (""); + + i = 0; + while (i < argc) + { + char *arg = trim_string (argv[i]); + char *p; + char *start; + + start = arg; + p = start; + + if (p[0] == '-' && + p[1] == 'l') + { + char *libname; + + p += 2; + while (*p && isspace (*p)) + ++p; + + start = p; + while (*p && !isspace (*p)) + ++p; + + libname = g_strndup (start, p - start); + + pkg->l_libs = g_slist_prepend (pkg->l_libs, + g_strconcat ("-l", libname, NULL)); + + g_free (libname); + } + else if (p[0] == '-' && + p[1] == 'L') + { + char *libname; + + p += 2; + while (*p && isspace (*p)) + ++p; + + start = p; + while (*p && !isspace (*p)) + ++p; + + libname = g_strndup (start, p - start); + + pkg->L_libs = g_slist_prepend (pkg->L_libs, + g_strconcat ("-L", libname, NULL)); + + g_free (libname); + } + else + { + g_string_append_c (other, ' '); + g_string_append (other, arg); + g_string_append_c (other, ' '); + } + + g_free (arg); + + ++i; + } + + g_free (argv); + g_free (trimmed); + + pkg->other_libs = other->str; + + g_string_free (other, FALSE); + + pkg->l_libs = g_slist_reverse (pkg->l_libs); + pkg->L_libs = g_slist_reverse (pkg->L_libs); +} + +static void +parse_cflags (Package *pkg, const char *str, const char *path) +{ + /* Strip out -I flags, put them in a separate list. */ + + char *trimmed; + GString *other; + char **argv = NULL; + int argc; + int result; + int i; + + if (pkg->I_cflags || pkg->other_cflags) + { + verbose_error ("Cflags field occurs twice in '%s'\n", path); + + exit (1); + } + + trimmed = trim_and_sub (pkg, str, path); + + result = poptParseArgvString (trimmed, &argc, &argv); + + if (result < 0) + { + verbose_error ("Couldn't parse Cflags field into an argument vector: %s\n", + poptStrerror (result)); + + exit (1); + } + + other = g_string_new (""); + + i = 0; + while (i < argc) + { + char *arg = trim_string (argv[i]); + char *p; + char *start; + + start = arg; + p = start; + + if (p[0] == '-' && + p[1] == 'I') + { + char *libname; + + p += 2; + while (*p && isspace (*p)) + ++p; + + start = p; + while (*p && !isspace (*p)) + ++p; + + libname = g_strndup (start, p - start); + + pkg->I_cflags = g_slist_prepend (pkg->I_cflags, + g_strconcat ("-I", libname, NULL)); + + g_free (libname); + } + else + { + g_string_append (other, arg); + } + + g_free (arg); + + ++i; + } + + g_free (argv); + g_free (trimmed); + + pkg->other_cflags = other->str; + + g_string_free (other, FALSE); + + pkg->I_cflags = g_slist_reverse (pkg->I_cflags); +} + +static void +parse_line (Package *pkg, const char *untrimmed, const char *path) +{ + char *str; + char *p; + char *tag; + + debug_spew (" line>%s\n", untrimmed); + + str = trim_string (untrimmed); + + if (*str == '\0') + return; /* empty line */ + + p = str; + + /* Get first word */ + while ((*p >= 'A' && *p <= 'Z') || + (*p >= 'a' && *p <= 'z') || + (*p >= '0' && *p <= '9') || + *p == '_') + p++; + + tag = g_strndup (str, p - str); + + while (*p && isspace (*p)) + ++p; + + if (*p == ':') + { + /* keyword */ + ++p; + while (*p && isspace (*p)) + ++p; + + if (strcmp (tag, "Name") == 0) + parse_name (pkg, p, path); + else if (strcmp (tag, "Description") == 0) + parse_description (pkg, p, path); + else if (strcmp (tag, "Version") == 0) + parse_version (pkg, p, path); + else if (strcmp (tag, "Requires") == 0) + parse_requires (pkg, p, path); + else if (strcmp (tag, "Libs") == 0) + parse_libs (pkg, p, path); + else if (strcmp (tag, "Cflags") == 0) + parse_cflags (pkg, p, path); + else if (strcmp (tag, "Conflicts") == 0) + parse_conflicts (pkg, p, path); + else + { + verbose_error ("Unknown keyword '%s' in '%s'\n", + tag, path); + + exit (1); + } + } + else if (*p == '=') + { + /* variable */ + char *varname; + char *varval; + + ++p; + while (*p && isspace (*p)) + ++p; + + if (pkg->vars == NULL) + pkg->vars = g_hash_table_new (g_str_hash, g_str_equal); + + if (g_hash_table_lookup (pkg->vars, tag)) + { + verbose_error ("Duplicate definition of variable '%s' in '%s'\n", + tag, path); + + exit (1); + } + + varname = g_strdup (tag); + varval = trim_and_sub (pkg, p, path); + + debug_spew (" Variable declaration, '%s' has value '%s'\n", + varname, varval); + g_hash_table_insert (pkg->vars, varname, varval); + + } + + g_free (str); + g_free (tag); +} + +Package* +parse_package_file (const char *path) +{ + FILE *f; + Package *pkg; + GString *str; + gboolean one_line = FALSE; + + f = fopen (path, "r"); + + if (f == NULL) + { + verbose_error ("Failed to open '%s': %s\n", + path, strerror (errno)); + + return NULL; + } + + debug_spew ("Parsing package file '%s'\n", path); + + pkg = g_new0 (Package, 1); + + if (path) + { + pkg->pcfiledir = g_dirname (path); + } + else + { + debug_spew ("No pcfiledir determined for package\n"); + pkg->pcfiledir = g_strdup ("???????"); + } + + str = g_string_new (""); + + while (read_one_line (f, str)) + { + one_line = TRUE; + + parse_line (pkg, str->str, path); + + g_string_truncate (str, 0); + } + + if (!one_line) + verbose_error ("Package file '%s' appears to be empty\n", + path); + + return pkg; +} + +static char * +backticks (const char *command) +{ + FILE *f; + char buf[4096]; + size_t len; + int status; + + f = popen (command, "r"); + + if (f == NULL) + return NULL; + + len = fread (buf, 1, 4090, f); + + if (ferror (f)) + { + pclose (f); + return NULL; + } + + buf[len] = '\0'; + + status = pclose (f); + + return g_strdup (buf); +} + +static gboolean +try_command (const char *command) +{ + int status; + char *munged; + + munged = g_strdup_printf ("%s > /dev/null 2>&1", command); + + status = system (munged); + + g_free (munged); + + return WIFEXITED(status) && (WEXITSTATUS(status) == 0); +} + +Package * +get_compat_package (const char *name) +{ + Package *pkg; + + debug_spew ("Looking for '%s' using old-style -config scripts\n", name); + + pkg = g_new0 (Package, 1); + + if (strcmp (name, "glib") == 0) + { + char *output; + + debug_spew ("Calling glib-config\n"); + + pkg->version = backticks ("glib-config --version"); + if (pkg->version == NULL) + { + g_free (pkg); + return NULL; + } + + pkg->name = g_strdup ("GLib"); + pkg->key = g_strdup ("glib"); + pkg->description = g_strdup ("C Utility Library"); + + output = backticks ("glib-config --libs"); + parse_libs (pkg, output, "glib-config"); + g_free (output); + + output = backticks ("glib-config --cflags"); + parse_cflags (pkg, output, "glib-config"); + g_free (output); + + return pkg; + } + else if (strcmp (name, "gtk+") == 0) + { + char *output; + + debug_spew ("Calling gtk-config\n"); + + pkg->version = backticks ("gtk-config --version"); + if (pkg->version == NULL) + { + g_free (pkg); + return NULL; + } + + pkg->name = g_strdup ("GTK+"); + pkg->key = g_strdup ("gtk+"); + pkg->description = g_strdup ("GIMP Tool Kit"); + + output = backticks ("gtk-config --libs"); + parse_libs (pkg, output, "gtk-config"); + g_free (output); + + output = backticks ("gtk-config --cflags"); + parse_cflags (pkg, output, "gtk-config"); + g_free (output); + + return pkg; + } + else if (strcmp (name, "imlib") == 0) + { + char *output; + + debug_spew ("Calling imlib-config\n"); + + pkg->version = backticks ("imlib-config --version"); + if (pkg->version == NULL) + { + g_free (pkg); + return NULL; + } + + pkg->name = g_strdup ("Imlib"); + pkg->key = g_strdup ("imlib"); + pkg->description = g_strdup ("Imlib image loading library"); + + output = backticks ("imlib-config --libs-gdk"); + parse_libs (pkg, output, "imlib-config"); + g_free (output); + + output = backticks ("imlib-config --cflags-gdk"); + parse_cflags (pkg, output, "imlib-config"); + g_free (output); + + return pkg; + } + else if (strcmp (name, "orbit-client") == 0) + { + char *output; + char *p; + + debug_spew ("Calling orbit-config\n"); + + output = backticks ("orbit-config --version"); + + if (output == NULL) + { + g_free (pkg); + return NULL; + } + + p = output; + + while (*p && isspace (*p)) + ++p; + + if (*p == '\0') + { + /* empty output */ + g_free (output); + g_free (pkg); + return NULL; + } + + /* only heuristic; find a number or . */ + while (*p && ! (isdigit (*p) || *p == '.')) + ++p; + + pkg->version = g_strdup (p); + + g_free (output); + + pkg->name = g_strdup ("ORBit Client"); + pkg->key = g_strdup ("orbit-client"); + pkg->description = g_strdup ("ORBit Client Libraries"); + + output = backticks ("orbit-config --libs client"); + parse_libs (pkg, output, "orbit-config"); + g_free (output); + + output = backticks ("orbit-config --cflags client"); + parse_cflags (pkg, output, "orbit-config"); + g_free (output); + + return pkg; + } + else if (strcmp (name, "orbit-server") == 0) + { + char *output; + char *p; + + debug_spew ("Calling orbit-config\n"); + + output = backticks ("orbit-config --version"); + + if (output == NULL) + { + g_free (pkg); + return NULL; + } + + p = output; + + while (*p && isspace (*p)) + ++p; + + if (*p == '\0') + { + /* empty output */ + g_free (output); + g_free (pkg); + return NULL; + } + + /* only heuristic; find a number or . */ + while (*p && ! (isdigit (*p) || *p == '.')) + ++p; + + pkg->version = g_strdup (p); + + g_free (output); + + pkg->name = g_strdup ("ORBit Server"); + pkg->key = g_strdup ("orbit-server"); + pkg->description = g_strdup ("ORBit Server Libraries"); + + output = backticks ("orbit-config --libs server"); + parse_libs (pkg, output, "orbit-config"); + g_free (output); + + output = backticks ("orbit-config --cflags server"); + parse_cflags (pkg, output, "orbit-config"); + g_free (output); + + return pkg; + } + else + { + /* Check for the module in gnome-config */ + char *output; + char *p; + char *command; + + debug_spew ("Calling gnome-config\n"); + + /* Annoyingly, --modversion doesn't return a failure + * code if the lib is unknown, so we have to use --libs + * for that. + */ + + command = g_strdup_printf ("gnome-config --libs %s", + name); + + if (!try_command (command)) + { + g_free (command); + g_free (pkg); + return NULL; + } + else + g_free (command); + + command = g_strdup_printf ("gnome-config --modversion %s", + name); + + output = backticks (command); + g_free (command); + if (output == NULL) + { + g_free (pkg); + return NULL; + } + + /* Unknown modules give "Unknown library `foo'" from gnome-config + * (but on stderr so this is useless, nevermind) + */ + if (strstr (output, "Unknown") || *output == '\0') + { + g_free (output); + g_free (pkg); + return NULL; + } + + /* gnome-config --modversion gnomeui outputs e.g. "gnome-libs-1.2.4" + * or libglade-0.12 + */ + p = output; + + while (*p && isspace (*p)) + ++p; + + if (*p == '\0') + { + /* empty output */ + g_free (output); + g_free (pkg); + return NULL; + } + + /* only heuristic; find a number or . */ + while (*p && ! (isdigit (*p) || *p == '.')) + ++p; + + pkg->version = g_strdup (p); + + g_free (output); + + /* Strip newline */ + p = pkg->version; + while (*p) + { + if (*p == '\n') + *p = '\0'; + + ++p; + } + + pkg->name = g_strdup (name); + pkg->key = g_strdup (name); + pkg->description = g_strdup ("No description"); + + command = g_strdup_printf ("gnome-config --libs %s", name); + output = backticks (command); + g_free (command); + parse_libs (pkg, output, "gnome-config"); + g_free (output); + + command = g_strdup_printf ("gnome-config --cflags %s", name); + output = backticks (command); + g_free (command); + parse_cflags (pkg, output, "gnome-config"); + g_free (output); + + return pkg; + } +} + diff --git a/parse.h b/parse.h new file mode 100644 index 0000000..77187dc --- /dev/null +++ b/parse.h @@ -0,0 +1,15 @@ +#ifndef PKG_CONFIG_PARSE_H +#define PKG_CONFIG_PARSE_H + +#include "pkg.h" + +Package *parse_package_file (const char *path); + +Package *get_compat_package (const char *name); + +GSList *parse_module_list (Package *pkg, const char *str, const char *path); + +#endif + + + diff --git a/partial-glib.c b/partial-glib.c new file mode 100644 index 0000000..e69de29 diff --git a/partial-glib.h b/partial-glib.h new file mode 100644 index 0000000..0f1fd81 --- /dev/null +++ b/partial-glib.h @@ -0,0 +1,6 @@ +#ifndef PKG_CONFIG_PARTIAL_GLIB_H +#define PKG_CONFIG_PARTIAL_GLIB_H + +#include "glib-1.2.8/glib.h" + +#endif diff --git a/pkg-config.1 b/pkg-config.1 new file mode 100644 index 0000000..6eb4937 --- /dev/null +++ b/pkg-config.1 @@ -0,0 +1,313 @@ +.\" +.\" pkg-config manual page. +.\" (C) Red Hat, Inc. based on gnome-config man page (C) Miguel de Icaza (miguel@gnu.org) +.\" +.TH pkg-config 1 +.SH NAME +pkg-config \- Return metainformation about installed libraries +.SH SYNOPSIS +.PP +.B pkg-config +[\-\-modversion] [\-\-help] [\-\-print-errors] [\-\-silence-errors] +[\-\-cflags] [\-\-libs] [\-\-libs-only-L] +[\-\-libs-only-l] [\-\-cflags-only-I] +[\-\-variable=VARIABLENAME] +[\-\-define-variable=VARIABLENAME=VARIABLEVALUE] +[\-\-uninstalled] +[\-\-exists] [\-\-atleast-version=VERSION] [\-\-exact-version=VERSION] +[\-\-max-version=VERSION] [LIBRARIES...] +.SH DESCRIPTION + +The \fIpkg-config\fP program is used to retrieve information about +installed libraries in the system. It is typically used to compile +and link against one or more libraries. Here is a typical usage +scenario in a Makefile: +.PP +.nf +program: program.c + cc program.c `pkg-config --cflags --libs gnomeui` +.fi +.PP + +.PP +\fIpkg-config\fP retrieves information about packages from +special metadata files. These files are named after the package, +with the extension \fI.pc\fP. By default, pkg-config looks in +the directory \fIprefix\fP/lib/pkgconfig for these files; it will also +look in the colon-separated list of directories specified by the +PKG_CONFIG_PATH environment variable. + +.PP +The package name specified on the \fIpkg-config\fP command line is +defined to be the name of the metadata file, minus the \fI.pc\fP +extension. If a library can install multiple versions simultaneously, +it must give each version its own name (for example, GTK 1.2 might +have the package name "gtk+" while GTK 2.0 has "gtk+-2.0"). + +.SH OPTIONS +The following options are supported: +.TP +.I "--modversion" +Requests that the version information of the libraries specified on +the command line be displayed. If \fIpkg-config\fP can find all the +libraries on the command line, each library's version string is +printed to stdout, one version per line. In this case \fIpkg-config\fP +exits successfully. If one or more libraries is unknown, +\fIpkg-config\fP exits with a nonzero code, and the contents of stdout +are undefined. +.TP +.I "--help" +Displays a help message and terminates. + +.TP +.I "--print-errors" +If one or more of the modules on the command line, or their +dependencies, are not found, or if an error occurs in parsing a +\fI.pc\fP file, then this option will cause errors explaining the +problem to be printed. With "predicate" options such as "--exists" +\fIpkg-config\fP runs silently by default, because it's usually used +in scripts that want to control what's output. This option can be used +alone (to just print errors encountered locating modules on the +command line) or with other options. The PKG_CONFIG_DEBUG_SPEW +environment variable overrides this option. + +.TP +.I "--silence-errors" +If one or more of the modules on the command line, or their +dependencies, are not found, or if an error occurs in parsing a +\fI.pc\fP file, then this option will keep errors explaining the +problem from being printed. With "predicate" options such as +"--exists" \fIpkg-config\fP runs silently by default, because it's +usually used in scripts that want to control what's output. So this +option is only useful with options such as "--cflags" or +"--modversion" that print errors by default. The PKG_CONFIG_DEBUG_SPEW +environment variable overrides this option. + +.PP +The following options are used to compile and link programs: +.TP +.I "--cflags" +This prints pre-processor and compile flags required to compile the +packages on the command line, including flags for all their +dependencies. Flags are "compressed" so that each identical flag +appears only once. \fIpkg-config\fP exits with a nonzero code if it +can't find metadata for one or more of the packages on the command +line. +.TP +.I "--libs" +This option is identical to "--cflags", only it prints the link +flags. As with "--cflags", duplicate flags are merged (maintaining +proper ordering), and flags for dependencies are included in the +output. +.TP +.I "--libs-only-L" +This prints the -L/-R part of "--libs". That is, it defines the +library search path but doesn't specify which libraries to link with. +.TP +.I "--libs-only-l" +This prints the -l part of "--libs" for the libraries specified on +the command line. Note that the union of "--libs-only-l" and +"--libs-only-L" may be smaller than "--libs", due to flags such as +-rdynamic. + +.TP +.I "--variable=VARIABLENAME" +This returns the value of a variable defined in a package's \fI.pc\fP +file. Most packages define the variable "prefix", for example, so you +can say: +.nf + $ pkg-config --variable=prefix glib-2.0 + /usr/ +.fi +.TP +.I "--define-variable=VARIABLENAME=VARIABLEVALUE" +This sets a global value for a variable, overriding the value in any +\fI.pc\fP files. Most packages define the variable "prefix", for +example, so you can say: +.nf + $ pkg-config --print-errors --define-variable=prefix=/foo --variable=prefix glib-2.0 + /foo +.fi + +.TP +.I "--uninstalled" +Normally if you request the package "foo" and the package +"foo-uninstalled" exists, \fIpkg-config\fP will prefer the +"-uninstalled" variant. This allows compilation/linking against +uninstalled packages. If you specify the "--uninstalled" option, +\fIpkg-config\fP will return successfully if any "-uninstalled" +packages are being used, and return failure (false) otherwise. +(The "PKG_CONFIG_DISABLE_UNINSTALLED" environment variable keeps +\fIpkg-config\fP from implicitly choosing "-uninstalled" packages, so +if that variable is set, they will only have been used if you pass +a name like "foo-uninstalled" on the command line explicitly.) + +.TP +.I "--exists" +.TP +.I "--atleast-version=VERSION" +.TP +.I "--exact-version=VERSION" +.TP +.I "--max-version=VERSION" +These options test whether the package or list of packages on the +command line are known to \fIpkg-config\fP, and optionally +whether the version number of a package meets certain contraints. +If all packages exist and meet the specified version constraints, +\fIpkg-config\fP exits successfully. Otherwise it exits unsuccessfully. + +Rather than using the version-test options, you can simply give a version +constraint after each package name, for example: +.nf + $ pkg-config --exists 'glib-2.0 >= 1.3.4 libxml = 1.8.3' +.fi +Remember to use \-\-print-errors if you want error messages. + +.SH ENVIRONMENT VARIABLES + +.TP +.I "PKG_CONFIG_PATH" +A colon-separated list of directories to search for .pc files. +The default directory will always be searched after searching the +path; the default is \fIlibdir\fP/pkgconfig where \fIlibdir\fP +is the libdir where \fIpkg-config\fP was installed. + +.TP +.I "PKG_CONFIG_DEBUG_SPEW" +If set, causes \fIpkg-config\fP to print all kinds of +debugging information and report all errors. + +.TP +.I "PKG_CONFIG_TOP_BUILD_DIR" +A value to set for the magic variable \fIpc_top_builddir\fP +which may appear in \fI.pc\fP files. If the environment variable is +not set, the default value '$(top_builddir)' will be used. This +variable should refer to the top builddir of the Makefile where the +compile/link flags reported by \fIpkg-config\fP will be used. +This only matters when compiling/linking against a package that hasn't +yet been installed. + +.TP +.I "PKG_CONFIG_DISABLE_UNINSTALLED" +Normally if you request the package "foo" and the package +"foo-uninstalled" exists, \fIpkg-config\fP will prefer the +"-uninstalled" variant. This allows compilation/linking against +uninstalled packages. If this environment variable is set, it +disables said behavior. + +.SH AUTOCONF MACROS + +.TP +.I "PKG_CHECK_MODULES(VARIABLEBASE,MODULELIST[,ACTION-IF-FOUND,[ACTION-IF-NOT-FOUND]])" + +The macro PKG_CHECK_MODULES can be used in \fIconfigure.in\fP to +check whether modules exist. A typical usage would be: +.nf + PKG_CHECK_MODULES(MYSTUFF, gtk+-2.0 >= 1.3.5 libxml = 1.8.4) +.fi + +This would result in MYSTUFF_LIBS and MYSTUFF_CFLAGS substitution +variables, set to the libs and cflags for the given module list. +If a module is missing or has the wrong version, by default configure +will abort with a message. To replace the default action, +specify an ACTION-IF-NOT-FOUND. PKG_CHECK_MODULES will not print any +error messages if you specify your own ACTION-IF-NOT-FOUND. + +.SH METADATA FILE SYNTAX +To add a library to the set of packages \fIpkg-config\fP knows about, +simply install a \fI.pc\fP file. You should install this file to +\fIlibdir\fP/pkgconfig. + +.PP +Here is an example file: +.nf +# This is a comment +prefix=/home/hp/unst # this defines a variable +exec_prefix=${prefix} # defining another variable in terms of the first +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: GObject # human-readable name +Description: Object/type system for GLib # human-readable description +Version: 1.3.1 +Requires: glib-2.0 = 1.3.1 +Conflicts: foobar <= 4.5 +Libs: -L${libdir} -lgobject-1.3 +Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib/include +.fi + +.PP +You would normally generate the file using configure, of course, so +that the prefix, etc. are set to the proper values. + +.PP +Files have two kinds of line: keyword lines start with a keyword plus +a colon, and variable definitions start with an alphanumeric string +plus an equals sign. Keywords are defined in advance and have special +meaning to \fIpkg-config\fP; variables do not, you can have any +variables that you wish (however, users may expect to retrieve the +usual directory name variables). + +.PP +Note that variable references are written "${foo}"; you can escape +literal "${" as "$${". + +.TP +.I "Name:" +This field should be a human-readable name for the package. Note that +it is not the name passed as an argument to \fIpkg-config\fP. +.TP +.I "Description:" +This should be a brief description of the package +.TP +.I "Version:" +This should be the most-specific-possible package version string. +.TP +.I "Requires:" +This is a comma-separated list of packages that are required by your +package. Flags from dependent packages will be merged in to the flags +reported for your package. Optionally, you can specify the version +of the required package (using the operators =, <, >, >=, <=); +specifying a version allows \fIpkg-config\fP to perform extra sanity +checks. You may only mention the same package one time on the +.I "Requires:" +line. If the version of a package is unspecified, any version will +be used with no checking. +.TP +.I "Conflicts:" +This optional line allows \fIpkg-config\fP to perform additional +sanity checks, primarily to detect broken user installations. The +syntax is the same as +.I "Requires:" +except that +you can list the same package more than once here, for example +"foobar = 1.2.3, foobar = 1.2.5, foobar >= 1.3", if you have reason to +do so. If a version isn't specified, then your package conflicts with +all versions of the mentioned package. +If a user tries to use your package and a conflicting package at the +same time, then \fIpkg-config\fP will complain. +.TP +.I "Libs:" +This line should give the link flags specific to your package. +Don't add any flags for required packages; \fIpkg-config\fP will +add those automatically. + +.TP +.I "Cflags:" +This line should list the compile flags specific to your package. +Don't add any flags for required packages; \fIpkg-config\fP will +add those automatically. + +.SH AUTHOR + +\fIpkg-config\fP was written by James Henstridge, rewritten by Martijn +van Beers, and rewritten again by Havoc Pennington. Tim Janik, Owen +Taylor, and Raja Harinath submitted suggestions and some code. +\fIgnome-config\fP was written by Miguel de Icaza, Raja Harinath and +various hackers in the GNOME team. It was inspired by Owen Taylor's +\fIgtk-config\fP program. + +.SH BUGS +Hah! + + diff --git a/pkg-config.in b/pkg-config.in new file mode 100644 index 0000000..2d47c8e --- /dev/null +++ b/pkg-config.in @@ -0,0 +1,306 @@ +#!/bin/sh + +# All variables are prefixed with pc_ so that there is low likelyhood of +# conflicts with the .pc files. + +IFS=":$IFS" + +prefix=@prefix@ +exec_prefix=@exec_prefix@ +pc_default_path=@libexecdir@/pkgconfig + +if [ ! -d ${pc_default_path} ]; then + echo "${pc_default_path} doesn't exist. Make sure you've installed pkgconfig correctly." + exit 1; +fi +if [ ! -f "${pc_default_path}/gnomeconfig.pce" ]; then + echo "Can't find gnomeconfig.pce. Make sure you've installed pkgconfig correctly." + exit 1; +fi + +cleanup() { + pc_prepend=$1 + shift + pc_keep=$1 + shift + pc_cleanup_var=$1 + shift + pc_temp="" + while [ $# -ne 0 ]; do + pc_var=$1 # iterate over $1 ... + shift + if test "x$pc_keep" = "xkeepfirst"; then + case " $pc_temp " in + *\ $pc_var\ *) ;; + *) if test "x$pc_prepend" = "xprepend"; then + pc_temp="$pc_var $pc_temp" + else + pc_temp="$pc_temp $pc_var" + fi + ;; + esac + else + # use : as seperator because that's what we prepended to IFS + case ":$*:" in + *\:$pc_var\:*) ;; + *) if test "x$pc_prepend" = "xprepend"; then + pc_temp="$pc_var $pc_temp" + else + pc_temp="$pc_temp $pc_var" + fi + ;; + esac + fi + done + eval $pc_cleanup_var='$pc_temp' +} + +find_configfile() { + for pc_dir in $pc_path XXX; do + if [ -f "${pc_dir}/${pc_pkg}.pc" ]; then + . ${pc_dir}/${pc_pkg}.pc + break + fi + done + if [ "$pc_dir" = XXX ]; then + pc_extns=`ls ${pc_default_path}/*.pce` + for pc_ext in $pc_extns XXX; do + if [ -f "${pc_ext}" ]; then + . ${pc_ext} $pc_pkg + # sh on Tru64 (OSF1??) doesn't like return in sourced + # files, so we set $result + if [ "$result" = "0" ]; then + break; + fi + fi + done + if [ "$pc_ext" = XXX ]; then + echo "couldn't find information for package $pc_pkg." 1>&2 + exit 1 + fi + + fi +} + +# make sure we give a non-zero return value if we get interrupted +# signals HUP, INT and TERM +trap 'echo; echo "Interrupted."; exit 1' 1 2 15 + +pc_help_msg="Usage: $0 [-I DIR] [GENERIC_OPTION | FLAGSOPTION...] [LIBRARY...] + + -I DIR Add a directory to the .pc file search path + +Generic options: + --version Output the pkg-config version and exit + --modversion Output the version of the first library and exit + --help Show this help and exit + --expand Show expanded list of packages to link with + --print-pc-dir Print the default .pc search dir and exit + --extra-flags Print the extra flags the selected modules support + --get-flag FLAGNAME Print the content of the extra flag specified + +Output link information for a combination of libraries +Options to control which compile/link flags to output + + --cflags Show cflags to compile with + --libs-only-L Output only -L/-R flags needed for the libraries listed + --libs-onlu-l-self Output the -l flags for the libraries listed + --libs-only-l-system Output the -l flags for system libraries the + listed libraries depend on. + --libs Output a combination of all the --libs-only-* flags above + LIBRARIES Packages that your program needs to compile + + " + +pc_want_ldflags=no +pc_want_libs_self=no +pc_want_libs_system=no +pc_want_cflags=no +pc_want_libs=no +pc_want_expand=no +pc_want_dir=no +pc_want_varlist=no +pc_want_extra_var=no +pc_prev= +pc_extra_var= + +# show help and exit with an errorstatus when no arguments +if test $# -eq 0; then + echo "$pc_help_msg" + exit 1 +fi + +# add extra path to searched dirs +pc_path= +if [ -n "$PC_INCLUDEPATH" ]; then + pc_path="${PC_INCLUDEPATH}:${pc_path}" +fi +for pc_extra in `echo $GNOME_PATH | sed 's/:/ /g'`; do + pc_path="${extra}/libexec/pkgconfig:${pc_path}" +done +# only use default path if no other paths are given, to +# avoid ACLOCAL_CONFIG type problems +if [ -z "${GNOME_PATH}${PC_INCLUDEPATH}" ]; then + pc_path="${pc_default_path}" +fi + + +while [ $# -ne 0 ]; do + pc_arg="$1" + shift + case "$pc_arg" in + -*=*) pc_optarg=`echo $pc_arg | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) pc_optarg= ;; + esac + if [ -n "$pc_prev" ]; then + if [ "$pc_prev" = pcpath ]; then + pc_path="$pc_arg:$pc_path" + elif [ "$pc_prev" = "extravar" ]; then + pc_extra_var="$pc_arg" + else + eval "$pc_prev=\$pc_arg" + fi + pc_prev= + continue + fi + case "$pc_arg" in + --help) + echo "$pc_help_msg" + exit 0 ;; + --version) + echo "pkgconfig @VERSION@" + exit 0 ;; + -I*) pc_path="`echo $pc_arg | sed 's/^-I//'`:$pc_path" ;; + -I) pc_prev=pcpath ;; + --cflags) pc_want_cflags=yes ;; + --libs-only-L) pc_want_ldflags=yes ;; + --libs-only-l-self) pc_want_libs_self=yes ;; + --libs-only-l-system) pc_want_libs_system=yes ;; + --libs) + pc_want_ldflags=yes + pc_want_libs_self=yes + pc_want_libs_system=yes ;; + --expand) pc_want_expand=yes ;; + --modversion) pc_want_modversion=yes ;; + --print-pc-dir) pc_want_dir=yes ;; + --extra-flags) pc_want_varlist=yes ;; + --get-flag) pc_prev="extravar" pc_want_var=yes ;; + -*) + echo "Unknown option: $pc_arg" + echo "$pc_help_msg" + exit 1 ;; + *) pc_caps="$pc_caps $pc_arg" ;; + esac +done + +# print the default pc_path only +if [ "$pc_want_dir" = yes ]; then + echo $pc_default_path + exit 0 +fi + +# expand the packages list, so to satisfy dependencies ... +set - $pc_caps +pc_pkgs="" +while [ $# -ne 0 ]; do + pc_pkg="$1" + shift + + if [ -z "$pc_pkg" ]; then + # ash seems to count the space at the start of pc_caps as an extra + # argument. This catches that case. + continue + fi + pc_pkgs="$pc_pkgs $pc_pkg" + REQUIRES="" + + find_configfile $pc_pkg + + if [ "x$REQUIRES" != x ]; then + for pc_dep in $REQUIRES; do + case ":$*:" in + *\:$pc_dep\:*) ;; + *) set - $* $pc_dep;; + esac + done + fi +done + +# now remove duplicate packages from the list (all but last duplicate) ... +cleanup prepend keepfirst pc_pkgs $pc_pkgs + + +# +# from this point on, the list of packages should all exist, and be ordered +# + +# give the module version +if [ "$pc_want_modversion" = yes ]; then + echo $VERSION + exit 0 +fi + +# list the expanded list of packages if asked for ... +if [ "$pc_want_expand" = yes ]; then + echo $pc_pkgs + exit 0; +fi + +# list the list of extra vars +if [ "$pc_want_varlist" = yes ]; then + cleanup prepend keepfirst pc_varlist $EXTRA_VARS + echo $pc_varlist + exit 0; +fi + +if [ "$pc_want_var" = yes ]; then + eval echo \$`eval echo $pc_extra_var` + exit 0; +fi + +#ignore what the previous runs of the scripts have set +CFLAGS= +LIBS_PATH= +LIBS_LINK_SELF= +LIBS_LINK_SYSTEM= + +for pc_pkg in $pc_pkgs; do + find_configfile $pc_pkg +done + +# clean up duplicate flags. Discard all but last occurence of -l* flags, +# and all but first occurence of other flags +if [ "$pc_want_cflags" = "yes" ]; then + pc_includepath= + for pc_flag in $CFLAGS; do + if [ "$pc_flag" != "-I/usr/include" ]; then + pc_includepath="$pc_includepath $pc_flag" + fi + done + cleanup append keepfirst CFLAGS $pc_includepath + echo -n $CFLAGS +fi +if [ "$pc_want_ldflags" = "yes" ]; then + pc_libpath= + for pc_flag in $LIBS_PATH; do + if [ "$pc_flag" != "-L/usr/lib" ]; then + pc_libpath="$pc_libpath $pc_flag" + fi + done + cleanup append keepfirst LIBS_PATH $pc_libpath + echo -n "$LIBS_PATH" +fi +if [ "$pc_want_libs_self" = "yes" ]; then + cleanup append keeplast LIBS_LINK_SELF $LIBS_LINK_SELF + echo -n "$LIBS_LINK_SELF" +fi +if [ "$pc_want_libs_system" = "yes" ];then + cleanup append keeplast LIBS_LINK_SYSTEM $LIBS_LINK_SYSTEM + echo -n "$LIBS_LINK_SYSTEM" +fi + +#end the line +echo +#everything seems to have gone well +exit 0 + diff --git a/pkg.c b/pkg.c new file mode 100644 index 0000000..877207f --- /dev/null +++ b/pkg.c @@ -0,0 +1,1099 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "pkg.h" +#include "parse.h" + +#ifdef HAVE_ALLOCA_H +# include +#else +# ifdef _AIX +# pragma alloca +# endif +#endif + +#include +#include +#include +#include +#include +#include + +static void verify_package (Package *pkg); + +static GHashTable *packages = NULL; +static GHashTable *locations = NULL; +static GHashTable *globals = NULL; +static GSList *search_dirs = NULL; + +gboolean disable_uninstalled = FALSE; + +void +add_search_dir (const char *path) +{ + search_dirs = g_slist_prepend (search_dirs, g_strdup (path)); +} + +#define EXT_LEN 3 + +static gboolean +ends_in_dotpc (const char *str) +{ + int len = strlen (str); + + if (len > EXT_LEN && + str[len - 3] == '.' && + str[len - 2] == 'p' && + str[len - 1] == 'c') + return TRUE; + else + return FALSE; +} + +/* strlen ("uninstalled") */ +#define UNINSTALLED_LEN 11 + +static gboolean +ends_in_uninstalled (const char *str) +{ + int len = strlen (str); + + if (len > UNINSTALLED_LEN && + strcmp ((str + len - UNINSTALLED_LEN), "uninstalled") == 0) + return TRUE; + else + return FALSE; +} + + +/* Look for .pc files in the given directory and add them into + * locations, ignoring duplicates + */ +static void +scan_dir (const char *dirname) +{ + DIR *dir = opendir (dirname); + struct dirent *dent; + int dirnamelen = strlen (dirname); + + if (dirnamelen > 0 && dirname[dirnamelen-1] == '/') + dirnamelen--; + + if (!dir) + { + debug_spew ("Cannot open directory '%s' in package search path: %s\n", + dirname, g_strerror (errno)); + return; + } + + debug_spew ("Scanning directory '%s'\n", dirname); + + while ((dent = readdir (dir))) + { + int len = strlen (dent->d_name); + + if (ends_in_dotpc (dent->d_name)) + { + char *pkgname = malloc (len - 2); + + debug_spew ("File '%s' appears to be a .pc file\n", dent->d_name); + + strncpy (pkgname, dent->d_name, len - EXT_LEN); + pkgname[len-EXT_LEN] = '\0'; + + if (g_hash_table_lookup (locations, pkgname)) + { + debug_spew ("File '%s' ignored, we already know about package '%s'\n", dent->d_name, pkgname); + g_free (pkgname); + } + else + { + char *filename = g_malloc (dirnamelen + 1 + len + 1); + strncpy (filename, dirname, dirnamelen); + filename[dirnamelen] = '/'; + strcpy (filename + dirnamelen + 1, dent->d_name); + + g_hash_table_insert (locations, pkgname, filename); + + debug_spew ("Will find package '%s' in file '%s'\n", + pkgname, filename); + } + } + else + { + debug_spew ("Ignoring file '%s' in search directory; not a .pc file\n", + dent->d_name); + } + } +} + +void +package_init () +{ + static gboolean initted = FALSE; + + if (!initted) + { + initted = TRUE; + + packages = g_hash_table_new (g_str_hash, g_str_equal); + locations = g_hash_table_new (g_str_hash, g_str_equal); + + g_slist_foreach (search_dirs, (GFunc)scan_dir, NULL); + scan_dir (PKGLIBDIR); + } +} + +static gboolean +file_readable (const char *path) +{ + FILE *f = fopen (path, "r"); + + if (f != NULL) + { + fclose (f); + return TRUE; + } + else + return FALSE; +} + + +static Package * +internal_get_package (const char *name, gboolean warn) +{ + Package *pkg = NULL; + const char *location; + + pkg = g_hash_table_lookup (packages, name); + + if (pkg) + return pkg; + + debug_spew ("Looking for package '%s'\n", name); + + /* treat "name" as a filename if it ends in .pc and exists */ + if ( ends_in_dotpc (name) ) + { + debug_spew ("Considering '%s' to be a filename rather than a package name\n", name); + location = name; + } + else + { + /* See if we should auto-prefer the uninstalled version */ + if (!disable_uninstalled && + !ends_in_uninstalled (name)) + { + char *un; + + un = g_strconcat (name, "-uninstalled", NULL); + + pkg = internal_get_package (un, FALSE); + + g_free (un); + + if (pkg) + { + debug_spew ("Preferring uninstalled version of package '%s'\n", name); + return pkg; + } + } + + location = g_hash_table_lookup (locations, name); + debug_spew ("Reading '%s' from file '%s'\n", name, location); + } + + if (location == NULL) + { + pkg = get_compat_package (name); + + if (pkg == NULL) + { + if (warn) + verbose_error ("Package %s was not found in the pkg-config search path.\n" + "Perhaps you should add the directory containing `%s.pc'\n" + "to the PKG_CONFIG_PATH environment variable\n", + name, name); + } + + debug_spew ("Returning values for '%s' from a legacy -config script\n", + name); + + return pkg; + } + + pkg = parse_package_file (location); + + if (pkg == NULL) + { + debug_spew ("Failed to parse '%s'\n", location); + return NULL; + } + + if (strstr (location, "uninstalled.pc")) + pkg->uninstalled = TRUE; + + if (location != name) + pkg->key = g_strdup (name); + else + { + /* need to strip package name out of the filename */ + int len = strlen (name); + const char *end = name + (len - EXT_LEN); + const char *start = end; + + while (start != name && *start != G_DIR_SEPARATOR) + --start; + + g_assert (end >= start); + + pkg->key = g_strndup (start, end - start); + } + + verify_package (pkg); + + debug_spew ("Adding '%s' to list of known packages, returning as package '%s'\n", + pkg->key, name); + + g_hash_table_insert (packages, pkg->key, pkg); + + return pkg; +} + +Package * +get_package (const char *name) +{ + return internal_get_package (name, TRUE); +} + +static GSList* +string_list_strip_duplicates (GSList *list) +{ + GHashTable *table; + GSList *tmp; + GSList *nodups = NULL; + + table = g_hash_table_new (g_str_hash, g_str_equal); + + tmp = list; + while (tmp != NULL) + { + if (g_hash_table_lookup (table, tmp->data) == NULL) + { + nodups = g_slist_prepend (nodups, tmp->data); + g_hash_table_insert (table, tmp->data, tmp->data); + } + + tmp = g_slist_next (tmp); + } + + nodups = g_slist_reverse (nodups); + + g_hash_table_destroy (table); + + return nodups; +} + +static GSList* +string_list_strip_duplicates_from_back (GSList *list) +{ + GHashTable *table; + GSList *tmp; + GSList *nodups = NULL; + GSList *reversed; + + table = g_hash_table_new (g_str_hash, g_str_equal); + + reversed = g_slist_reverse (g_slist_copy (list)); + + tmp = reversed; + while (tmp != NULL) + { + if (g_hash_table_lookup (table, tmp->data) == NULL) + { + /* This unreverses the reversed list */ + nodups = g_slist_prepend (nodups, tmp->data); + g_hash_table_insert (table, tmp->data, tmp->data); + } + + tmp = g_slist_next (tmp); + } + + g_slist_free (reversed); + + g_hash_table_destroy (table); + + return nodups; +} + +static char * +string_list_to_string (GSList *list) +{ + GSList *tmp; + GString *str = g_string_new (""); + char *retval; + + tmp = list; + while (tmp != NULL) + { + g_string_append (str, tmp->data); + g_string_append_c (str, ' '); + + tmp = g_slist_next (tmp); + } + + retval = str->str; + g_string_free (str, FALSE); + + return retval; +} + +typedef GSList *(* GetListFunc) (Package *pkg); + +static GSList * +get_l_libs (Package *pkg) +{ + return pkg->l_libs; +} + +static GSList * +get_L_libs (Package *pkg) +{ + return pkg->L_libs; +} + +static GSList * +get_I_cflags (Package *pkg) +{ + return pkg->I_cflags; +} + +static GSList * +get_conflicts (Package *pkg) +{ + return pkg->conflicts; +} + +static GSList * +get_requires (Package *pkg) +{ + return pkg->requires; +} + +static void +recursive_fill_list (Package *pkg, GetListFunc func, GSList **listp) +{ + GSList *tmp; + GSList *copy; + + copy = g_slist_copy ((*func)(pkg)); + + *listp = g_slist_concat (*listp, copy); + + tmp = pkg->requires; + + while (tmp != NULL) + { + recursive_fill_list (tmp->data, func, listp); + + tmp = g_slist_next (tmp); + } +} + +static gint +compare_req_version_names (gconstpointer a, gconstpointer b) +{ + const RequiredVersion *ver_a = a; + const RequiredVersion *ver_b = b; + + return strcmp (ver_a->name, ver_b->name); +} + +static gint +compare_package_keys (gconstpointer a, gconstpointer b) +{ + const Package *pkg_a = a; + const Package *pkg_b = b; + + return strcmp (pkg_a->key, pkg_b->key); +} + +static void +verify_package (Package *pkg) +{ + GSList *requires = NULL; + GSList *conflicts = NULL; + GSList *iter; + GSList *requires_iter; + GSList *conflicts_iter; + + /* Be sure we have the required fields */ + + if (pkg->key == NULL) + { + fprintf (stderr, + "Internal pkg-config error, package with no key, please file a bug report\n"); + exit (1); + } + + if (pkg->name == NULL) + { + verbose_error ("Package '%s' has no Name: field\n", + pkg->key); + exit (1); + } + + if (pkg->version == NULL) + { + verbose_error ("Package '%s' has no Version: field\n", + pkg->name); + exit (1); + } + + if (pkg->description == NULL) + { + verbose_error ("Package '%s' has no Description: field\n", + pkg->description); + exit (1); + } + + /* Make sure we have the right version for all requirements */ + + iter = pkg->requires; + + while (iter != NULL) + { + Package *req = iter->data; + RequiredVersion *ver = NULL; + + if (pkg->required_versions) + ver = g_hash_table_lookup (pkg->required_versions, + req->key); + + if (ver) + { + if (!version_test (ver->comparison, req->version, ver->version)) + { + verbose_error ("Package '%s' requires '%s %s %s' but version of %s is %s\n", + pkg->name, req->key, + comparison_to_str (ver->comparison), + ver->version, + req->name, + req->version); + + exit (1); + } + } + + iter = g_slist_next (iter); + } + + /* Make sure we didn't drag in any conflicts via Requires + * (inefficient algorithm, who cares) + */ + + recursive_fill_list (pkg, get_requires, &requires); + recursive_fill_list (pkg, get_conflicts, &conflicts); + + requires_iter = requires; + while (requires_iter != NULL) + { + Package *req = requires_iter->data; + + conflicts_iter = conflicts; + + while (conflicts_iter != NULL) + { + RequiredVersion *ver = conflicts_iter->data; + + if (version_test (ver->comparison, + req->version, + ver->version)) + { + verbose_error ("Version %s of %s creates a conflict.\n" + "(%s %s %s conflicts with %s %s)\n", + req->version, req->name, + ver->name, + comparison_to_str (ver->comparison), + ver->version, + ver->owner->name, + ver->owner->version); + + exit (1); + } + + conflicts_iter = g_slist_next (conflicts_iter); + } + + requires_iter = g_slist_next (requires_iter); + } + + g_slist_free (requires); + g_slist_free (conflicts); +} + +static char* +get_merged (Package *pkg, GetListFunc func) +{ + GSList *list; + GSList *dups_list = NULL; + char *retval; + + recursive_fill_list (pkg, func, &dups_list); + + list = string_list_strip_duplicates (dups_list); + + g_slist_free (dups_list); + + retval = string_list_to_string (list); + + g_slist_free (list); + + return retval; +} + +static char* +get_merged_from_back (Package *pkg, GetListFunc func) +{ + GSList *list; + GSList *dups_list = NULL; + char *retval; + + recursive_fill_list (pkg, func, &dups_list); + + list = string_list_strip_duplicates_from_back (dups_list); + + g_slist_free (dups_list); + + retval = string_list_to_string (list); + + g_slist_free (list); + + return retval; +} + +static char* +get_multi_merged (GSList *pkgs, GetListFunc func) +{ + GSList *tmp; + GSList *dups_list = NULL; + GSList *list; + char *retval; + + tmp = pkgs; + while (tmp != NULL) + { + recursive_fill_list (tmp->data, func, &dups_list); + + tmp = g_slist_next (tmp); + } + + list = string_list_strip_duplicates (dups_list); + + g_slist_free (dups_list); + + retval = string_list_to_string (list); + + g_slist_free (list); + + return retval; +} + +static char* +get_multi_merged_from_back (GSList *pkgs, GetListFunc func) +{ + GSList *tmp; + GSList *dups_list = NULL; + GSList *list; + char *retval; + + tmp = pkgs; + while (tmp != NULL) + { + recursive_fill_list (tmp->data, func, &dups_list); + + tmp = g_slist_next (tmp); + } + + list = string_list_strip_duplicates_from_back (dups_list); + + g_slist_free (dups_list); + + retval = string_list_to_string (list); + + g_slist_free (list); + + return retval; +} + +char * +package_get_l_libs (Package *pkg) +{ + if (pkg->l_libs_merged == NULL) + pkg->l_libs_merged = get_merged_from_back (pkg, get_l_libs); + + return pkg->l_libs_merged; +} + +char * +packages_get_l_libs (GSList *pkgs) +{ + return get_multi_merged_from_back (pkgs, get_l_libs); +} + +char * +package_get_L_libs (Package *pkg) +{ + if (pkg->L_libs_merged == NULL) + pkg->L_libs_merged = get_merged (pkg, get_L_libs); + + return pkg->L_libs_merged; + +} + +char * +packages_get_L_libs (GSList *pkgs) +{ + return get_multi_merged (pkgs, get_L_libs); +} + +char * +package_get_other_libs (Package *pkg) +{ + return g_strdup (pkg->other_libs); +} + +char * +packages_get_other_libs (GSList *pkgs) +{ + GSList *tmp; + GString *str; + char *retval; + + str = g_string_new (""); + + tmp = pkgs; + while (tmp != NULL) + { + Package *pkg = tmp->data; + + if (pkg->other_libs) + { + g_string_append (str, pkg->other_libs); + g_string_append (str, " "); + } + + tmp = g_slist_next (tmp); + } + + retval = str->str; + g_string_free (str, FALSE); + + return retval; +} + +char * +packages_get_all_libs (GSList *pkgs) +{ + char *l_libs; + char *L_libs; + char *other_libs; + GString *str; + char *retval; + + str = g_string_new (""); + + other_libs = packages_get_other_libs (pkgs); + L_libs = packages_get_L_libs (pkgs); + l_libs = packages_get_l_libs (pkgs); + + if (other_libs) + g_string_append (str, other_libs); + + if (L_libs) + g_string_append (str, L_libs); + + if (l_libs) + g_string_append (str, l_libs); + + g_free (l_libs); + g_free (L_libs); + g_free (other_libs); + + retval = str->str; + + g_string_free (str, FALSE); + + return retval; +} + +char * +package_get_I_cflags (Package *pkg) +{ + if (pkg->I_cflags_merged == NULL) + pkg->I_cflags_merged = get_merged (pkg, get_I_cflags); + + return pkg->I_cflags_merged; +} + +char * +packages_get_I_cflags (GSList *pkgs) +{ + return get_multi_merged (pkgs, get_I_cflags); +} + +char * +package_get_other_cflags (Package *pkg) +{ + return g_strdup (pkg->other_cflags); +} + +char * +packages_get_other_cflags (GSList *pkgs) +{ + GSList *tmp; + GString *str; + char *retval; + + str = g_string_new (""); + + tmp = pkgs; + while (tmp != NULL) + { + Package *pkg = tmp->data; + + if (pkg->other_cflags) + { + g_string_append (str, pkg->other_cflags); + g_string_append (str, " "); + } + + tmp = g_slist_next (tmp); + } + + retval = str->str; + g_string_free (str, FALSE); + + return retval; +} + +char * +package_get_cflags (Package *pkg) +{ + + g_assert_not_reached (); + return NULL; +} + +char * +packages_get_all_cflags (GSList *pkgs) +{ + char *I_cflags; + char *other_cflags; + GString *str; + char *retval; + + str = g_string_new (""); + + other_cflags = packages_get_other_cflags (pkgs); + I_cflags = packages_get_I_cflags (pkgs); + + if (other_cflags) + g_string_append (str, other_cflags); + + if (I_cflags) + g_string_append (str, I_cflags); + + g_free (I_cflags); + g_free (other_cflags); + + retval = str->str; + + g_string_free (str, FALSE); + + return retval; +} + + +void +define_global_variable (const char *varname, + const char *varval) +{ + if (globals == NULL) + globals = g_hash_table_new (g_str_hash, g_str_equal); + + if (g_hash_table_lookup (globals, varname)) + { + verbose_error ("Variable '%s' defined twice globally\n", varname); + exit (1); + } + + g_hash_table_insert (globals, g_strdup (varname), g_strdup (varval)); + + debug_spew ("Global variable definition '%s' = '%s'\n", + varname, varval); +} + +char * +package_get_var (Package *pkg, + const char *var) +{ + char *varval = NULL; + + if (globals) + varval = g_hash_table_lookup (globals, var); + + if (varval == NULL && pkg->vars) + varval = g_strdup (g_hash_table_lookup (pkg->vars, var)); + + /* Magic "pcfiledir" variable */ + if (varval == NULL && pkg->pcfiledir && strcmp (var, "pcfiledir") == 0) + varval = g_strdup (pkg->pcfiledir); + + return varval; +} + +char * +packages_get_var (GSList *pkgs, + const char *varname) +{ + GSList *tmp; + GString *str; + char *retval; + + str = g_string_new (""); + + tmp = pkgs; + while (tmp != NULL) + { + Package *pkg = tmp->data; + char *var; + + var = package_get_var (pkg, varname); + + if (var) + { + g_string_append (str, var); + g_string_append_c (str, ' '); + g_free (var); + } + + tmp = g_slist_next (tmp); + } + + /* chop last space */ + str->str[str->len - 1] = '\0'; + retval = str->str; + g_string_free (str, FALSE); + + return retval; +} + + + +/* Stolen verbatim from rpm/lib/misc.c + RPM is Copyright (c) 1998 by Red Hat Software, Inc., + and may be distributed under the terms of the GPL and LGPL. +*/ +/* compare alpha and numeric segments of two versions */ +/* return 1: a is newer than b */ +/* 0: a and b are the same version */ +/* -1: b is newer than a */ +static int rpmvercmp(const char * a, const char * b) { + char oldch1, oldch2; + char * str1, * str2; + char * one, * two; + int rc; + int isnum; + + /* easy comparison to see if versions are identical */ + if (!strcmp(a, b)) return 0; + + str1 = alloca(strlen(a) + 1); + str2 = alloca(strlen(b) + 1); + + strcpy(str1, a); + strcpy(str2, b); + + one = str1; + two = str2; + + /* loop through each version segment of str1 and str2 and compare them */ + while (*one && *two) { + while (*one && !isalnum(*one)) one++; + while (*two && !isalnum(*two)) two++; + + str1 = one; + str2 = two; + + /* grab first completely alpha or completely numeric segment */ + /* leave one and two pointing to the start of the alpha or numeric */ + /* segment and walk str1 and str2 to end of segment */ + if (isdigit(*str1)) { + while (*str1 && isdigit(*str1)) str1++; + while (*str2 && isdigit(*str2)) str2++; + isnum = 1; + } else { + while (*str1 && isalpha(*str1)) str1++; + while (*str2 && isalpha(*str2)) str2++; + isnum = 0; + } + + /* save character at the end of the alpha or numeric segment */ + /* so that they can be restored after the comparison */ + oldch1 = *str1; + *str1 = '\0'; + oldch2 = *str2; + *str2 = '\0'; + + /* take care of the case where the two version segments are */ + /* different types: one numeric and one alpha */ + if (one == str1) return -1; /* arbitrary */ + if (two == str2) return -1; + + if (isnum) { + /* this used to be done by converting the digit segments */ + /* to ints using atoi() - it's changed because long */ + /* digit segments can overflow an int - this should fix that. */ + + /* throw away any leading zeros - it's a number, right? */ + while (*one == '0') one++; + while (*two == '0') two++; + + /* whichever number has more digits wins */ + if (strlen(one) > strlen(two)) return 1; + if (strlen(two) > strlen(one)) return -1; + } + + /* strcmp will return which one is greater - even if the two */ + /* segments are alpha or if they are numeric. don't return */ + /* if they are equal because there might be more segments to */ + /* compare */ + rc = strcmp(one, two); + if (rc) return rc; + + /* restore character that was replaced by null above */ + *str1 = oldch1; + one = str1; + *str2 = oldch2; + two = str2; + } + + /* this catches the case where all numeric and alpha segments have */ + /* compared identically but the segment sepparating characters were */ + /* different */ + if ((!*one) && (!*two)) return 0; + + /* whichever version still has characters left over wins */ + if (!*one) return -1; else return 1; +} + +int +compare_versions (const char * a, const char *b) +{ + return rpmvercmp (a, b); +} + +gboolean +version_test (ComparisonType comparison, + const char *a, + const char *b) +{ + switch (comparison) + { + case LESS_THAN: + return compare_versions (a, b) < 0; + break; + + case GREATER_THAN: + return compare_versions (a, b) > 0; + break; + + case LESS_THAN_EQUAL: + return compare_versions (a, b) <= 0; + break; + + case GREATER_THAN_EQUAL: + return compare_versions (a, b) >= 0; + break; + + case EQUAL: + return compare_versions (a, b) == 0; + break; + + case NOT_EQUAL: + return compare_versions (a, b) != 0; + break; + + case ALWAYS_MATCH: + return TRUE; + break; + + default: + g_assert_not_reached (); + break; + } + + return FALSE; +} + +const char * +comparison_to_str (ComparisonType comparison) +{ + switch (comparison) + { + case LESS_THAN: + return "<"; + break; + + case GREATER_THAN: + return ">"; + break; + + case LESS_THAN_EQUAL: + return "<="; + break; + + case GREATER_THAN_EQUAL: + return ">="; + break; + + case EQUAL: + return "="; + break; + + case NOT_EQUAL: + return "!="; + break; + + case ALWAYS_MATCH: + return "(any)"; + break; + + default: + g_assert_not_reached (); + break; + } + + return "???"; +} + +static void +packages_foreach (gpointer key, gpointer value, gpointer data) +{ + Package *pkg = get_package (key); + + if (pkg != NULL) + { + printf ("%s \t\t%s - %s\n", + pkg->key, pkg->name, pkg->description); + } +} + +void +print_package_list (void) +{ + g_hash_table_foreach (locations, packages_foreach, NULL); +} + diff --git a/pkg.h b/pkg.h new file mode 100644 index 0000000..59e711b --- /dev/null +++ b/pkg.h @@ -0,0 +1,91 @@ +#ifndef PKG_CONFIG_PKG_H +#define PKG_CONFIG_PKG_H + +#include "partial-glib.h" + +typedef enum +{ + LESS_THAN, + GREATER_THAN, + LESS_THAN_EQUAL, + GREATER_THAN_EQUAL, + EQUAL, + NOT_EQUAL, + ALWAYS_MATCH +} ComparisonType; + +typedef struct _Package Package; +typedef struct _RequiredVersion RequiredVersion; + +struct _RequiredVersion +{ + char *name; + ComparisonType comparison; + char *version; + Package *owner; +}; + +struct _Package +{ + char *key; /* filename name */ + char *name; /* human-readable name */ + char *version; + char *description; + char *pcfiledir; /* directory it was loaded from */ + GSList *requires; + GSList *l_libs; + char *l_libs_merged; + GSList *L_libs; + char *L_libs_merged; + char *other_libs; + char *other_libs_merged; + GSList *I_cflags; + char *I_cflags_merged; + char *other_cflags; + char *other_cflags_merged; + GHashTable *vars; + GHashTable *required_versions; /* hash from name to RequiredVersion */ + GSList *conflicts; /* list of RequiredVersion */ + gboolean uninstalled; /* used the -uninstalled file */ +}; + +Package *get_package (const char *name); +char * package_get_l_libs (Package *pkg); +char * packages_get_l_libs (GSList *pkgs); +char * package_get_L_libs (Package *pkg); +char * packages_get_L_libs (GSList *pkgs); +char * package_get_other_libs (Package *pkg); +char * packages_get_other_libs (GSList *pkgs); +char * packages_get_all_libs (GSList *pkgs); +char * package_get_I_cflags (Package *pkg); +char * packages_get_I_cflags (GSList *pkgs); +char * package_get_other_cflags (Package *pkg); +char * packages_get_all_cflags (GSList *pkgs); +char * package_get_var (Package *pkg, + const char *var); +char * packages_get_var (GSList *pkgs, + const char *var); + + +void add_search_dir (const char *path); +void package_init (void); +int compare_versions (const char * a, const char *b); +gboolean version_test (ComparisonType comparison, + const char *a, + const char *b); + +const char *comparison_to_str (ComparisonType comparison); + +void print_package_list (void); + +void define_global_variable (const char *varname, + const char *varval); + +void debug_spew (const char *format, ...); +void verbose_error (const char *format, ...); + +/* If TRUE, do not automatically prefer uninstalled versions */ +extern gboolean disable_uninstalled; + +#endif + diff --git a/pkg.m4 b/pkg.m4 new file mode 100644 index 0000000..8c78225 --- /dev/null +++ b/pkg.m4 @@ -0,0 +1,83 @@ + +dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) +dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page +AC_DEFUN(PKG_CHECK_MODULES, +[ + succeeded=no + + if test -z "$PKG_CONFIG"; then + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + else + if ! $PKG_CONFIG --atleast-pkgconfig-version 0.6.0; then + echo "*** Your version of pkg-config is too old. You need version 0.6.0 or newer." + else + AC_MSG_CHECKING(for $2) + + if $PKG_CONFIG --exists "$2" ; then + AC_MSG_RESULT(yes) + succeeded=yes + + AC_MSG_CHECKING($1_CFLAGS) + $1_CFLAGS=`$PKG_CONFIG --cflags "$2"` + AC_MSG_RESULT($$1_CFLAGS) + + AC_MSG_CHECKING($1_LIBS) + $1_LIBS=`$PKG_CONFIG --libs "$2" + AC_MSG_RESULT($$1_LIBS) + else + $1_CFLAGS="" + $1_LIBS="" + ## If we have a custom action on failure, don't print errors + ifelse([$4], , $PKG_CONFIG --print-errors "$2",) + fi + + AC_SUBST($1_CFLAGS) + AC_SUBST($1_LIBS) + fi + fi + + if test $succeeded = yes; then + ifelse([$3], , :, [$3]) + else + ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4]) + fi +]) + + +dnl Check if the C compiler accepts a certain C flag, and if so adds it to +dnl CFLAGS +AC_DEFUN(PKG_CHECK_CFLAG, [ + AC_MSG_CHECKING(if C compiler accepts $1) + save_CFLAGS="$CFLAGS" + + dnl make sure we add it only once + dnl this one doesn't seem to work: *[\ \ ]$1[\ \ ]*) ;; + case " $CFLAGS " in + *\ $1\ *) echo $ac_n "(already in CFLAGS) ... " ;; + *\ $1\ *) echo $ac_n "(already in CFLAGS) ... " ;; + *\ $1\ *) echo $ac_n "(already in CFLAGS) ... " ;; + *\ $1\ *) echo $ac_n "(already in CFLAGS) ... " ;; + *) CFLAGS="$CFLAGS $1" ;; + esac + + AC_TRY_COMPILE([#include ], [printf("hello");], + [ AC_MSG_RESULT(yes)],dnl + [ CFLAGS="$save_CFLAGS" AC_MSG_RESULT(no) ]) +]) + +dnl add $ACLOCAL_FLAGS (and optionally more dirs) to the aclocal +dnl commandline, so make can work even if it needs to rerun aclocal +AC_DEFUN(PKG_ACLOCALFLAGS, +[ + test -n "$ACLOCAL_FLAGS" && ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" + + for i in "$1"; do + ACLOCAL="$ACLOCAL -I $i" + done +]) diff --git a/popt.c b/popt.c new file mode 100644 index 0000000..517f54c --- /dev/null +++ b/popt.c @@ -0,0 +1,568 @@ +/* (C) 1998 Red Hat Software, Inc. -- Licensing details are in the COPYING + file accompanying popt source distributions, available from + ftp://ftp.redhat.com/pub/code/popt */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_ALLOCA_H +# include +#else +# ifdef _AIX +# pragma alloca +# endif +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "findme.h" +#include "popt.h" +#include "poptint.h" + +void poptSetExecPath(poptContext con, const char * path, int allowAbsolute) { + if (con->execPath) free(con->execPath); + con->execPath = strdup(path); + con->execAbsolute = allowAbsolute; +} + +static void invokeCallbacks(poptContext con, const struct poptOption * table, + int post) { + const struct poptOption * opt = table; + poptCallbackType cb; + + while (opt->longName || opt->shortName || opt->arg) { + if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) { + invokeCallbacks(con, opt->arg, post); + } else if (((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_CALLBACK) && + ((!post && (opt->argInfo & POPT_CBFLAG_PRE)) || + ( post && (opt->argInfo & POPT_CBFLAG_POST)))) { + cb = opt->arg; + cb(con, post ? POPT_CALLBACK_REASON_POST : POPT_CALLBACK_REASON_PRE, + NULL, NULL, opt->descrip); + } + opt++; + } +} + +poptContext poptGetContext(char * name, int argc, char ** argv, + const struct poptOption * options, int flags) { + poptContext con = malloc(sizeof(*con)); + + memset(con, 0, sizeof(*con)); + + con->os = con->optionStack; + con->os->argc = argc; + con->os->argv = argv; + + if (!(flags & POPT_CONTEXT_KEEP_FIRST)) + con->os->next = 1; /* skip argv[0] */ + + con->leftovers = malloc(sizeof(char *) * (argc + 1)); + con->options = options; + con->finalArgv = malloc(sizeof(*con->finalArgv) * (argc * 2)); + con->finalArgvAlloced = argc * 2; + con->flags = flags; + con->execAbsolute = 1; + + if (getenv("POSIXLY_CORRECT") || getenv("POSIX_ME_HARDER")) + con->flags |= POPT_CONTEXT_POSIXMEHARDER; + + if (name) + con->appName = strcpy(malloc(strlen(name) + 1), name); + + invokeCallbacks(con, con->options, 0); + + return con; +} + +void poptResetContext(poptContext con) { + con->os = con->optionStack; + con->os->currAlias = NULL; + con->os->nextCharArg = NULL; + con->os->nextArg = NULL; + con->os->next = 1; /* skip argv[0] */ + + con->numLeftovers = 0; + con->nextLeftover = 0; + con->restLeftover = 0; + con->doExec = NULL; + con->finalArgvCount = 0; +} + +/* Only one of longName, shortName may be set at a time */ +static int handleExec(poptContext con, char * longName, char shortName) { + int i; + + i = con->numExecs - 1; + if (longName) { + while (i >= 0 && (!con->execs[i].longName || + strcmp(con->execs[i].longName, longName))) i--; + } else { + while (i >= 0 && + con->execs[i].shortName != shortName) i--; + } + + if (i < 0) return 0; + + if (con->flags & POPT_CONTEXT_NO_EXEC) + return 1; + + if (!con->doExec) { + con->doExec = con->execs + i; + return 1; + } + + /* We already have an exec to do; remember this option for next + time 'round */ + if ((con->finalArgvCount + 1) >= (con->finalArgvAlloced)) { + con->finalArgvAlloced += 10; + con->finalArgv = realloc(con->finalArgv, + sizeof(*con->finalArgv) * con->finalArgvAlloced); + } + + i = con->finalArgvCount++; + con->finalArgv[i] = malloc((longName ? strlen(longName) : 0) + 3); + if (longName) + sprintf(con->finalArgv[i], "--%s", longName); + else + sprintf(con->finalArgv[i], "-%c", shortName); + + return 1; +} + +/* Only one of longName, shortName may be set at a time */ +static int handleAlias(poptContext con, char * longName, char shortName, + char * nextCharArg) { + int i; + + if (con->os->currAlias && con->os->currAlias->longName && longName && + !strcmp(con->os->currAlias->longName, longName)) + return 0; + if (con->os->currAlias && shortName == con->os->currAlias->shortName) + return 0; + + i = con->numAliases - 1; + if (longName) { + while (i >= 0 && (!con->aliases[i].longName || + strcmp(con->aliases[i].longName, longName))) i--; + } else { + while (i >= 0 && + con->aliases[i].shortName != shortName) i--; + } + + if (i < 0) return 0; + + if ((con->os - con->optionStack + 1) + == POPT_OPTION_DEPTH) + return POPT_ERROR_OPTSTOODEEP; + + if (nextCharArg && *nextCharArg) + con->os->nextCharArg = nextCharArg; + + con->os++; + con->os->next = 0; + con->os->stuffed = 0; + con->os->nextArg = con->os->nextCharArg = NULL; + con->os->currAlias = con->aliases + i; + con->os->argc = con->os->currAlias->argc; + con->os->argv = con->os->currAlias->argv; + + return 1; +} + +static void execCommand(poptContext con) { + char ** argv; + int pos = 0; + char * script = con->doExec->script; + + argv = malloc(sizeof(*argv) * + (6 + con->numLeftovers + con->finalArgvCount)); + + if (!con->execAbsolute && strchr(script, '/')) return; + + if (!strchr(script, '/') && con->execPath) { + argv[pos] = alloca(strlen(con->execPath) + strlen(script) + 2); + sprintf(argv[pos], "%s/%s", con->execPath, script); + } else { + argv[pos] = script; + } + pos++; + + argv[pos] = findProgramPath(con->os->argv[0]); + if (argv[pos]) pos++; + argv[pos++] = ";"; + + memcpy(argv + pos, con->finalArgv, sizeof(*argv) * con->finalArgvCount); + pos += con->finalArgvCount; + + if (con->numLeftovers) { + argv[pos++] = "--"; + memcpy(argv + pos, con->leftovers, sizeof(*argv) * con->numLeftovers); + pos += con->numLeftovers; + } + + argv[pos++] = NULL; + +#ifdef HAVE_SETRESUID + setresuid(getuid(), getuid(),-1); +#endif +#ifdef HAVE_SETREUID + setreuid(getuid(), getuid()); /*hlauer: not portable to hpux9.01 */ +#endif + + execvp(argv[0], argv); +} + +static const struct poptOption * findOption(const struct poptOption * table, + const char * longName, + const char shortName, + poptCallbackType * callback, + void ** callbackData, + int singleDash) { + const struct poptOption * opt = table; + const struct poptOption * opt2; + const struct poptOption * cb = NULL; + + while (opt->longName || opt->shortName || opt->arg) { + if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) { + opt2 = findOption(opt->arg, longName, shortName, callback, + callbackData, singleDash); + if (opt2) { + if (*callback && !*callbackData) + *callbackData = opt->descrip; + return opt2; + } + } else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_CALLBACK) { + cb = opt; + } else if (longName && opt->longName && + (!singleDash || (opt->argInfo & POPT_ARGFLAG_ONEDASH)) && + !strcmp(longName, opt->longName)) { + break; + } else if (shortName && shortName == opt->shortName) { + break; + } + opt++; + } + + if (!opt->longName && !opt->shortName) return NULL; + *callbackData = NULL; + *callback = NULL; + if (cb) { + *callback = cb->arg; + if (!(cb->argInfo & POPT_CBFLAG_INC_DATA)) + *callbackData = cb->descrip; + } + + return opt; +} + +/* returns 'val' element, -1 on last item, POPT_ERROR_* on error */ +int poptGetNextOpt(poptContext con) { + char * optString, * chptr, * localOptString; + char * longArg = NULL; + char * origOptString; + long aLong; + char * end; + const struct poptOption * opt = NULL; + int done = 0; + int i; + poptCallbackType cb; + void * cbData; + int singleDash; + + while (!done) { + while (!con->os->nextCharArg && con->os->next == con->os->argc + && con->os > con->optionStack) + con->os--; + if (!con->os->nextCharArg && con->os->next == con->os->argc) { + invokeCallbacks(con, con->options, 1); + if (con->doExec) execCommand(con); + return -1; + } + + if (!con->os->nextCharArg) { + + origOptString = con->os->argv[con->os->next++]; + + if (con->restLeftover || *origOptString != '-') { + con->leftovers[con->numLeftovers++] = origOptString; + if (con->flags & POPT_CONTEXT_POSIXMEHARDER) + con->restLeftover = 1; + continue; + } + + /* Make a copy we can hack at */ + localOptString = optString = + strcpy(alloca(strlen(origOptString) + 1), + origOptString); + + if (!optString[0]) + return POPT_ERROR_BADOPT; + + if (optString[1] == '-' && !optString[2]) { + con->restLeftover = 1; + continue; + } else { + optString++; + if (*optString == '-') + singleDash = 0, optString++; + else + singleDash = 1; + + if (handleAlias(con, optString, '\0', NULL)) + continue; + if (handleExec(con, optString, '\0')) + continue; + + chptr = optString; + while (*chptr && *chptr != '=') chptr++; + if (*chptr == '=') { + longArg = origOptString + (chptr - localOptString) + 1; + *chptr = '\0'; + } + + opt = findOption(con->options, optString, '\0', &cb, &cbData, + singleDash); + if (!opt && !singleDash) return POPT_ERROR_BADOPT; + } + + if (!opt) + con->os->nextCharArg = origOptString + 1; + } + + if (con->os->nextCharArg) { + origOptString = con->os->nextCharArg; + + con->os->nextCharArg = NULL; + + if (handleAlias(con, NULL, *origOptString, + origOptString + 1)) { + origOptString++; + continue; + } + if (handleExec(con, NULL, *origOptString)) + continue; + + opt = findOption(con->options, NULL, *origOptString, &cb, + &cbData, 0); + if (!opt) return POPT_ERROR_BADOPT; + + origOptString++; + if (*origOptString) + con->os->nextCharArg = origOptString; + } + + if (opt->arg && (opt->argInfo & POPT_ARG_MASK) == POPT_ARG_NONE) + *((int *)opt->arg) = 1; + else if ((opt->argInfo & POPT_ARG_MASK) != POPT_ARG_NONE) { + if (longArg) { + con->os->nextArg = longArg; + } else if (con->os->nextCharArg) { + con->os->nextArg = con->os->nextCharArg; + con->os->nextCharArg = NULL; + } else { + while (con->os->next == con->os->argc && + con->os > con->optionStack) + con->os--; + if (con->os->next == con->os->argc) + return POPT_ERROR_NOARG; + + con->os->nextArg = con->os->argv[con->os->next++]; + } + + if (opt->arg) { + switch (opt->argInfo & POPT_ARG_MASK) { + case POPT_ARG_STRING: + *((char **) opt->arg) = con->os->nextArg; + break; + + case POPT_ARG_INT: + case POPT_ARG_LONG: + aLong = strtol(con->os->nextArg, &end, 0); + if (*end) + return POPT_ERROR_BADNUMBER; + + if (aLong == LONG_MIN || aLong == LONG_MAX) + return POPT_ERROR_OVERFLOW; + if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_LONG) { + *((long *) opt->arg) = aLong; + } else { + if (aLong > INT_MAX || aLong < INT_MIN) + return POPT_ERROR_OVERFLOW; + *((int *) opt->arg) =aLong; + } + break; + + default: + fprintf(stdout, POPT_("option type (%d) not implemented in popt\n"), + opt->argInfo & POPT_ARG_MASK); + exit(1); + } + } + } + + if (cb) + cb(con, POPT_CALLBACK_REASON_OPTION, opt, con->os->nextArg, cbData); + else if (opt->val) + done = 1; + + if ((con->finalArgvCount + 2) >= (con->finalArgvAlloced)) { + con->finalArgvAlloced += 10; + con->finalArgv = realloc(con->finalArgv, + sizeof(*con->finalArgv) * con->finalArgvAlloced); + } + + i = con->finalArgvCount++; + con->finalArgv[i] = + malloc((opt->longName ? strlen(opt->longName) : 0) + 3); + if (opt->longName) + sprintf(con->finalArgv[i], "--%s", opt->longName); + else + sprintf(con->finalArgv[i], "-%c", opt->shortName); + + if (opt->arg && (opt->argInfo & POPT_ARG_MASK) != POPT_ARG_NONE) + con->finalArgv[con->finalArgvCount++] = strdup(con->os->nextArg); + } + + return opt->val; +} + +char * poptGetOptArg(poptContext con) { + char * ret = con->os->nextArg; + con->os->nextArg = NULL; + return ret; +} + +char * poptGetArg(poptContext con) { + if (con->numLeftovers == con->nextLeftover) return NULL; + return (con->leftovers[con->nextLeftover++]); +} + +char * poptPeekArg(poptContext con) { + if (con->numLeftovers == con->nextLeftover) return NULL; + return (con->leftovers[con->nextLeftover]); +} + +char ** poptGetArgs(poptContext con) { + if (con->numLeftovers == con->nextLeftover) return NULL; + + /* some apps like [like RPM ;-) ] need this NULL terminated */ + con->leftovers[con->numLeftovers] = NULL; + + return (con->leftovers + con->nextLeftover); +} + +void poptFreeContext(poptContext con) { + int i; + + for (i = 0; i < con->numAliases; i++) { + if (con->aliases[i].longName) free(con->aliases[i].longName); + free(con->aliases[i].argv); + } + + for (i = 0; i < con->numExecs; i++) { + if (con->execs[i].longName) free(con->execs[i].longName); + free(con->execs[i].script); + } + + for (i = 0; i < con->finalArgvCount; i++) + free(con->finalArgv[i]); + + free(con->leftovers); + free(con->finalArgv); + if (con->appName) free(con->appName); + if (con->aliases) free(con->aliases); + if (con->otherHelp) free(con->otherHelp); + free(con); +} + +int poptAddAlias(poptContext con, struct poptAlias newAlias, int flags) { + int aliasNum = con->numAliases++; + struct poptAlias * alias; + + /* SunOS won't realloc(NULL, ...) */ + if (!con->aliases) + con->aliases = malloc(sizeof(newAlias) * con->numAliases); + else + con->aliases = realloc(con->aliases, + sizeof(newAlias) * con->numAliases); + alias = con->aliases + aliasNum; + + *alias = newAlias; + if (alias->longName) + alias->longName = strcpy(malloc(strlen(alias->longName) + 1), + alias->longName); + else + alias->longName = NULL; + + return 0; +} + +char * poptBadOption(poptContext con, int flags) { + struct optionStackEntry * os; + + if (flags & POPT_BADOPTION_NOALIAS) + os = con->optionStack; + else + os = con->os; + + return os->argv[os->next - 1]; +} + +#define POPT_ERROR_NOARG -10 +#define POPT_ERROR_BADOPT -11 +#define POPT_ERROR_OPTSTOODEEP -13 +#define POPT_ERROR_BADQUOTE -15 /* only from poptParseArgString() */ +#define POPT_ERROR_ERRNO -16 /* only from poptParseArgString() */ + +const char * poptStrerror(const int error) { + switch (error) { + case POPT_ERROR_NOARG: + return POPT_("missing argument"); + case POPT_ERROR_BADOPT: + return POPT_("unknown option"); + case POPT_ERROR_OPTSTOODEEP: + return POPT_("aliases nested too deeply"); + case POPT_ERROR_BADQUOTE: + return POPT_("error in paramter quoting"); + case POPT_ERROR_BADNUMBER: + return POPT_("invalid numeric value"); + case POPT_ERROR_OVERFLOW: + return POPT_("number too large or too small"); + case POPT_ERROR_ERRNO: + return strerror(errno); + default: + return POPT_("unknown error"); + } +} + +int poptStuffArgs(poptContext con, char ** argv) { + int i; + + if ((con->os - con->optionStack) == POPT_OPTION_DEPTH) + return POPT_ERROR_OPTSTOODEEP; + + for (i = 0; argv[i]; i++); + + con->os++; + con->os->next = 0; + con->os->nextArg = con->os->nextCharArg = NULL; + con->os->currAlias = NULL; + con->os->argc = i; + con->os->argv = argv; + con->os->stuffed = 1; + + return 0; +} + +const char * poptGetInvocationName(poptContext con) { + return con->os->argv[0]; +} diff --git a/popt.h b/popt.h new file mode 100644 index 0000000..9bac797 --- /dev/null +++ b/popt.h @@ -0,0 +1,110 @@ +/* (C) 1998 Red Hat Software, Inc. -- Licensing details are in the COPYING + file accompanying popt source distributions, available from + ftp://ftp.redhat.com/pub/code/popt */ + +#ifndef H_POPT +#define H_POPT + +#include /* for FILE * */ + +#define POPT_OPTION_DEPTH 10 + +#define POPT_ARG_NONE 0 +#define POPT_ARG_STRING 1 +#define POPT_ARG_INT 2 +#define POPT_ARG_LONG 3 +#define POPT_ARG_INCLUDE_TABLE 4 /* arg points to table */ +#define POPT_ARG_CALLBACK 5 /* table-wide callback... must be + set first in table; arg points + to callback, descrip points to + callback data to pass */ +#define POPT_ARG_MASK 0x0000FFFF +#define POPT_ARGFLAG_ONEDASH 0x80000000 /* allow -longoption */ +#define POPT_ARGFLAG_DOC_HIDDEN 0x40000000 /* don't show in help/usage */ +#define POPT_CBFLAG_PRE 0x80000000 /* call the callback before parse */ +#define POPT_CBFLAG_POST 0x40000000 /* call the callback after parse */ +#define POPT_CBFLAG_INC_DATA 0x20000000 /* use data from the include line, + not the subtable */ + +#define POPT_ERROR_NOARG -10 +#define POPT_ERROR_BADOPT -11 +#define POPT_ERROR_OPTSTOODEEP -13 +#define POPT_ERROR_BADQUOTE -15 /* only from poptParseArgString() */ +#define POPT_ERROR_ERRNO -16 /* only from poptParseArgString() */ +#define POPT_ERROR_BADNUMBER -17 +#define POPT_ERROR_OVERFLOW -18 + +/* poptBadOption() flags */ +#define POPT_BADOPTION_NOALIAS (1 << 0) /* don't go into an alias */ + +/* poptGetContext() flags */ +#define POPT_CONTEXT_NO_EXEC (1 << 0) /* ignore exec expansions */ +#define POPT_CONTEXT_KEEP_FIRST (1 << 1) /* pay attention to argv[0] */ +#define POPT_CONTEXT_POSIXMEHARDER (1 << 2) /* options can't follow args */ + +struct poptOption { + const char * longName; /* may be NULL */ + char shortName; /* may be '\0' */ + int argInfo; + void * arg; /* depends on argInfo */ + int val; /* 0 means don't return, just update flag */ + char * descrip; /* description for autohelp -- may be NULL */ + char * argDescrip; /* argument description for autohelp */ +}; + +struct poptAlias { + char * longName; /* may be NULL */ + char shortName; /* may be '\0' */ + int argc; + char ** argv; /* must be free()able */ +}; + +extern struct poptOption poptHelpOptions[]; +#define POPT_AUTOHELP { NULL, '\0', POPT_ARG_INCLUDE_TABLE, poptHelpOptions, \ + 0, "Help options", NULL }, + +typedef struct poptContext_s * poptContext; +#ifndef __cplusplus +typedef struct poptOption * poptOption; +#endif + +enum poptCallbackReason { POPT_CALLBACK_REASON_PRE, + POPT_CALLBACK_REASON_POST, + POPT_CALLBACK_REASON_OPTION }; +typedef void (*poptCallbackType)(poptContext con, + enum poptCallbackReason reason, + const struct poptOption * opt, + const char * arg, void * data); + +poptContext poptGetContext(char * name, int argc, char ** argv, + const struct poptOption * options, int flags); +void poptResetContext(poptContext con); + +/* returns 'val' element, -1 on last item, POPT_ERROR_* on error */ +int poptGetNextOpt(poptContext con); +/* returns NULL if no argument is available */ +char * poptGetOptArg(poptContext con); +/* returns NULL if no more options are available */ +char * poptGetArg(poptContext con); +char * poptPeekArg(poptContext con); +char ** poptGetArgs(poptContext con); +/* returns the option which caused the most recent error */ +char * poptBadOption(poptContext con, int flags); +void poptFreeContext(poptContext con); +int poptStuffArgs(poptContext con, char ** argv); +int poptAddAlias(poptContext con, struct poptAlias alias, int flags); +int poptReadConfigFile(poptContext con, char * fn); +/* like above, but reads /etc/popt and $HOME/.popt along with environment + vars */ +int poptReadDefaultConfig(poptContext con, int useEnv); +/* argv should be freed -- this allows ', ", and \ quoting, but ' is treated + the same as " and both may include \ quotes */ +int poptParseArgvString(char * s, int * argcPtr, char *** argvPtr); +const char * poptStrerror(const int error); +void poptSetExecPath(poptContext con, const char * path, int allowAbsolute); +void poptPrintHelp(poptContext con, FILE * f, int flags); +void poptPrintUsage(poptContext con, FILE * f, int flags); +void poptSetOtherOptionHelp(poptContext con, const char * text); +const char * poptGetInvocationName(poptContext con); + +#endif diff --git a/poptconfig.c b/poptconfig.c new file mode 100644 index 0000000..a09a249 --- /dev/null +++ b/poptconfig.c @@ -0,0 +1,155 @@ +/* (C) 1998 Red Hat Software, Inc. -- Licensing details are in the COPYING + file accompanying popt source distributions, available from + ftp://ftp.redhat.com/pub/code/popt */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_ALLOCA_H +# include +#else +# ifdef _AIX +# pragma alloca +# endif +#endif + +#include +#include +#include +#include +#include +#include + +#include "popt.h" +#include "poptint.h" + +static void configLine(poptContext con, char * line) { + int nameLength = strlen(con->appName); + char * opt; + struct poptAlias alias; + char * entryType; + char * longName = NULL; + char shortName = '\0'; + + if (strncmp(line, con->appName, nameLength)) return; + line += nameLength; + if (!*line || !isspace(*line)) return; + while (*line && isspace(*line)) line++; + entryType = line; + + while (!*line || !isspace(*line)) line++; + *line++ = '\0'; + while (*line && isspace(*line)) line++; + if (!*line) return; + opt = line; + + while (!*line || !isspace(*line)) line++; + *line++ = '\0'; + while (*line && isspace(*line)) line++; + if (!*line) return; + + if (opt[0] == '-' && opt[1] == '-') + longName = opt + 2; + else if (opt[0] == '-' && !opt[2]) + shortName = opt[1]; + + if (!strcmp(entryType, "alias")) { + if (poptParseArgvString(line, &alias.argc, &alias.argv)) return; + alias.longName = longName, alias.shortName = shortName; + poptAddAlias(con, alias, 0); + } else if (!strcmp(entryType, "exec")) { + con->execs = realloc(con->execs, + sizeof(*con->execs) * (con->numExecs + 1)); + if (longName) + con->execs[con->numExecs].longName = strdup(longName); + else + con->execs[con->numExecs].longName = NULL; + + con->execs[con->numExecs].shortName = shortName; + con->execs[con->numExecs].script = strdup(line); + + con->numExecs++; + } +} + +int poptReadConfigFile(poptContext con, char * fn) { + char * file, * chptr, * end; + char * buf, * dst; + int fd, rc; + int fileLength; + + fd = open(fn, O_RDONLY); + if (fd < 0) { + if (errno == ENOENT) + return 0; + else + return POPT_ERROR_ERRNO; + } + + fileLength = lseek(fd, 0, SEEK_END); + lseek(fd, 0, 0); + + file = alloca(fileLength + 1); + if ((fd = read(fd, file, fileLength)) != fileLength) { + rc = errno; + close(fd); + errno = rc; + return POPT_ERROR_ERRNO; + } + close(fd); + + dst = buf = alloca(fileLength + 1); + + chptr = file; + end = (file + fileLength); + while (chptr < end) { + switch (*chptr) { + case '\n': + *dst = '\0'; + dst = buf; + while (*dst && isspace(*dst)) dst++; + if (*dst && *dst != '#') { + configLine(con, dst); + } + chptr++; + break; + case '\\': + *dst++ = *chptr++; + if (chptr < end) { + if (*chptr == '\n') + dst--, chptr++; + /* \ at the end of a line does not insert a \n */ + else + *dst++ = *chptr++; + } + break; + default: + *dst++ = *chptr++; + } + } + + return 0; +} + +int poptReadDefaultConfig(poptContext con, int useEnv) { + char * fn, * home; + int rc; + + if (!con->appName) return 0; + + rc = poptReadConfigFile(con, "/etc/popt"); + if (rc) return rc; + if (getuid() != geteuid()) return 0; + + if ((home = getenv("HOME"))) { + fn = alloca(strlen(home) + 20); + strcpy(fn, home); + strcat(fn, "/.popt"); + rc = poptReadConfigFile(con, fn); + if (rc) return rc; + } + + return 0; +} + diff --git a/popthelp.c b/popthelp.c new file mode 100644 index 0000000..1878a56 --- /dev/null +++ b/popthelp.c @@ -0,0 +1,276 @@ +/* (C) 1998 Red Hat Software, Inc. -- Licensing details are in the COPYING + file accompanying popt source distributions, available from + ftp://ftp.redhat.com/pub/code/popt */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_ALLOCA_H +# include +#else +# ifdef _AIX +# pragma alloca +# endif +#endif + +#include +#include +#include +#include + +#include "popt.h" +#include "poptint.h" + +static void displayArgs(poptContext con, enum poptCallbackReason foo, + struct poptOption * key, + const char * arg, void * data) { + if (key->shortName== '?') + poptPrintHelp(con, stderr, 0); + else + poptPrintUsage(con, stderr, 0); + exit(0); +} + +struct poptOption poptHelpOptions[] = { + { NULL, '\0', POPT_ARG_CALLBACK, &displayArgs, '\0', NULL }, + { "help", '?', 0, NULL, '?', N_("Show this help message") }, + { "usage", '\0', 0, NULL, 'u', N_("Display brief usage message") }, + { NULL, '\0', 0, NULL, 0 } +} ; + +static const char * getArgDescrip(const struct poptOption * opt) { + if (!(opt->argInfo & POPT_ARG_MASK)) return NULL; + + if (opt == (poptHelpOptions + 1) || opt == (poptHelpOptions + 2)) + if (opt->argDescrip) return POPT_(opt->argDescrip); + + if (opt->argDescrip) return _(opt->argDescrip); + return POPT_("ARG"); +} + +static void singleOptionHelp(FILE * f, int maxLeftCol, + const struct poptOption * opt) { + int indentLength = maxLeftCol + 5; + int lineLength = 79 - indentLength; + const char * help = _(opt->descrip); + int helpLength; + const char * ch; + char format[10]; + char * left = alloca(maxLeftCol + 1); + const char * argDescrip = getArgDescrip(opt); + + *left = '\0'; + if (opt->longName && opt->shortName) + sprintf(left, "-%c, --%s", opt->shortName, opt->longName); + else if (opt->shortName) + sprintf(left, "-%c", opt->shortName); + else if (opt->longName) + sprintf(left, "--%s", opt->longName); + if (!*left) return ; + if (argDescrip) { + strcat(left, "="); + strcat(left, argDescrip); + } + + if (help) + fprintf(f," %-*s ", maxLeftCol, left); + else { + fprintf(f," %s\n", left); + return; + } + + helpLength = strlen(help); + while (helpLength > lineLength) { + ch = help + lineLength - 1; + while (ch > help && !isspace(*ch)) ch--; + if (ch == help) break; /* give up */ + while (ch > (help + 1) && isspace(*ch)) ch--; + ch++; + + sprintf(format, "%%.%ds\n%%%ds", (int) (ch - help), indentLength); + fprintf(f, format, help, " "); + help = ch; + while (isspace(*help) && *help) help++; + helpLength = strlen(help); + } + + if (helpLength) fprintf(f, "%s\n", help); +} + +static int maxArgWidth(const struct poptOption * opt) { + int max = 0; + int this; + const char * s; + + while (opt->longName || opt->shortName || opt->arg) { + if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) { + this = maxArgWidth(opt->arg); + if (this > max) max = this; + } else if (!(opt->argInfo & POPT_ARGFLAG_DOC_HIDDEN)) { + this = opt->shortName ? 2 : 0; + if (opt->longName) { + if (this) this += 2; + this += strlen(opt->longName) + 2; + } + + s = getArgDescrip(opt); + if (s) + this += strlen(s) + 1; + if (this > max) max = this; + } + + opt++; + } + + return max; +} + +static void singleTableHelp(FILE * f, const struct poptOption * table, + int left) { + const struct poptOption * opt; + + opt = table; + while (opt->longName || opt->shortName || opt->arg) { + if ((opt->longName || opt->shortName) && + !(opt->argInfo & POPT_ARGFLAG_DOC_HIDDEN)) + singleOptionHelp(f, left, opt); + opt++; + } + + opt = table; + while (opt->longName || opt->shortName || opt->arg) { + if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) { + if (opt->descrip) + fprintf(f, "\n%s\n", _(opt->descrip)); + singleTableHelp(f, opt->arg, left); + } + opt++; + } +} + +static int showHelpIntro(poptContext con, FILE * f) { + int len = 6; + char * fn; + + fprintf(f, POPT_("Usage:")); + if (!(con->flags & POPT_CONTEXT_KEEP_FIRST)) { + fn = con->optionStack->argv[0]; + if (strchr(fn, '/')) fn = strchr(fn, '/') + 1; + fprintf(f, " %s", fn); + len += strlen(fn) + 1; + } + + return len; +} + +void poptPrintHelp(poptContext con, FILE * f, int flags) { + int leftColWidth; + + showHelpIntro(con, f); + if (con->otherHelp) + fprintf(f, " %s\n", con->otherHelp); + else + fprintf(f, " %s\n", POPT_("[OPTION...]")); + + leftColWidth = maxArgWidth(con->options); + singleTableHelp(f, con->options, leftColWidth); +} + +static int singleOptionUsage(FILE * f, int cursor, + const struct poptOption * opt) { + int len = 3; + char shortStr[2]; + const char * item = shortStr; + const char * argDescrip = getArgDescrip(opt); + + if (opt->shortName) { + if (!(opt->argInfo & POPT_ARG_MASK)) + return cursor; /* we did these already */ + len++; + *shortStr = opt->shortName; + shortStr[1] = '\0'; + } else if (opt->longName) { + len += 1 + strlen(opt->longName); + item = opt->longName; + } + + if (len == 3) return cursor; + + if (argDescrip) + len += strlen(argDescrip) + 1; + + if ((cursor + len) > 79) { + fprintf(f, "\n "); + cursor = 7; + } + + fprintf(f, " [-%s%s%s%s]", opt->shortName ? "" : "-", item, + argDescrip ? (opt->shortName ? " " : "=") : "", + argDescrip ? argDescrip : ""); + + return cursor + len + 1; +} + +int singleTableUsage(FILE * f, int cursor, const struct poptOption * table) { + const struct poptOption * opt; + + opt = table; + while (opt->longName || opt->shortName || opt->arg) { + if ((opt->longName || opt->shortName) && + !(opt->argInfo & POPT_ARGFLAG_DOC_HIDDEN)) + cursor = singleOptionUsage(f, cursor, opt); + else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) + cursor = singleTableUsage(f, cursor, opt->arg); + opt++; + } + + return cursor; +} + +static int showShortOptions(const struct poptOption * opt, FILE * f, + char * str) { + char s[300]; /* this is larger then the ascii set, so + it should do just fine */ + + if (!str) { + str = s; + memset(str, 0, sizeof(str)); + } + + while (opt->longName || opt->shortName || opt->arg) { + if (opt->shortName && !(opt->argInfo & POPT_ARG_MASK)) + str[strlen(str)] = opt->shortName; + else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) + showShortOptions(opt->arg, f, str); + + opt++; + } + + if (s != str || !*s) + return 0; + + fprintf(f, " [-%s]", s); + return strlen(s) + 4; +} + +void poptPrintUsage(poptContext con, FILE * f, int flags) { + int cursor; + + cursor = showHelpIntro(con, f); + cursor += showShortOptions(con->options, f, NULL); + singleTableUsage(f, cursor, con->options); + + if (con->otherHelp) { + cursor += strlen(con->otherHelp) + 1; + if (cursor > 79) fprintf(f, "\n "); + fprintf(f, " %s", con->otherHelp); + } + + fprintf(f, "\n"); +} + +void poptSetOtherOptionHelp(poptContext con, const char * text) { + if (con->otherHelp) free(con->otherHelp); + con->otherHelp = strdup(text); +} diff --git a/poptint.h b/poptint.h new file mode 100644 index 0000000..5d99be5 --- /dev/null +++ b/poptint.h @@ -0,0 +1,64 @@ +/* (C) 1998 Red Hat Software, Inc. -- Licensing details are in the COPYING + file accompanying popt source distributions, available from + ftp://ftp.redhat.com/pub/code/popt */ + +#ifndef H_POPTINT +#define H_POPTINT + +struct optionStackEntry { + int argc; + char ** argv; + int next; + char * nextArg; + char * nextCharArg; + struct poptAlias * currAlias; + int stuffed; +}; + +struct execEntry { + char * longName; + char shortName; + char * script; +}; + +struct poptContext_s { + struct optionStackEntry optionStack[POPT_OPTION_DEPTH], * os; + char ** leftovers; + int numLeftovers; + int nextLeftover; + const struct poptOption * options; + int restLeftover; + char * appName; + struct poptAlias * aliases; + int numAliases; + int flags; + struct execEntry * execs; + int numExecs; + char ** finalArgv; + int finalArgvCount; + int finalArgvAlloced; + struct execEntry * doExec; + char * execPath; + int execAbsolute; + char * otherHelp; +}; + +#ifdef HAVE_LIBINTL_H +#include +#endif + +#ifdef HAVE_GETTEXT +#define _(foo) gettext(foo) +#else +#define _(foo) (foo) +#endif + +#ifdef HAVE_DGETTEXT +#define POPT_(foo) dgettext("popt", foo) +#else +#define POPT_(foo) (foo) +#endif + +#define N_(foo) (foo) + +#endif diff --git a/poptparse.c b/poptparse.c new file mode 100644 index 0000000..a0f95c1 --- /dev/null +++ b/poptparse.c @@ -0,0 +1,101 @@ +/* (C) 1998 Red Hat Software, Inc. -- Licensing details are in the COPYING + file accompanying popt source distributions, available from + ftp://ftp.redhat.com/pub/code/popt */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_ALLOCA_H +# include +#else +# ifdef _AIX +# pragma alloca +# endif +#endif + +#include +#include +#include + +#include "popt.h" + +int poptParseArgvString(char * s, int * argcPtr, char *** argvPtr) { + char * buf = strcpy(alloca(strlen(s) + 1), s); + char * bufStart = buf; + char * src, * dst; + char quote = '\0'; + int argvAlloced = 5; + char ** argv = malloc(sizeof(*argv) * argvAlloced); + char ** argv2; + int argc = 0; + int i; + + src = s; + dst = buf; + argv[argc] = buf; + + memset(buf, '\0', strlen(s) + 1); + + while (*src) { + if (quote == *src) { + quote = '\0'; + } else if (quote) { + if (*src == '\\') { + src++; + if (!*src) { + free(argv); + return POPT_ERROR_BADQUOTE; + } + if (*src != quote) *buf++ = '\\'; + } + *buf++ = *src; + } else if (isspace(*src)) { + if (*argv[argc]) { + buf++, argc++; + if (argc == argvAlloced) { + argvAlloced += 5; + argv = realloc(argv, sizeof(*argv) * argvAlloced); + } + argv[argc] = buf; + } + } else switch (*src) { + case '"': + case '\'': + quote = *src; + break; + case '\\': + src++; + if (!*src) { + free(argv); + return POPT_ERROR_BADQUOTE; + } + /* fallthrough */ + default: + *buf++ = *src; + } + + src++; + } + + if (strlen(argv[argc])) { + argc++, buf++; + } + + dst = malloc(argc * sizeof(*argv) + (buf - bufStart)); + argv2 = (void *) dst; + dst += argc * sizeof(*argv); + memcpy(argv2, argv, argc * sizeof(*argv)); + memcpy(dst, bufStart, buf - bufStart); + + for (i = 0; i < argc; i++) { + argv2[i] = dst + (argv[i] - bufStart); + } + + free(argv); + + *argvPtr = argv2; + *argcPtr = argc; + + return 0; +} -- 2.39.5