summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTollef Fog Heen <tfheen@err.no>2010-09-01 20:48:57 +0200
committerTollef Fog Heen <tfheen@err.no>2010-09-01 20:48:57 +0200
commit03bd4a55287cd9492c5fde6adb1ac81a37b75cce (patch)
tree91f9562fcb3b446f2b5d34746d030f4b28dc1c33
parent2b86e9b4664fd43622e2cd5ab47713a818758970 (diff)
Drop support for legacy -config scripts
We used to call gnome-config, gtk-config, glib-config and so on, which was useful in the beginning of pkg-config. This hasn't served any practical purpose in recent years, so drop the support.
-rw-r--r--parse.c334
-rw-r--r--parse.h2
-rw-r--r--pkg.c21
3 files changed, 4 insertions, 353 deletions
diff --git a/parse.c b/parse.c
index 48f6f2b..990e20c 100644
--- a/parse.c
+++ b/parse.c
@@ -1225,337 +1225,3 @@ try_command (const char *command)
return WIFEXITED(status) && (WEXITSTATUS(status) == 0);
#endif
}
-
-Package *
-get_compat_package (const char *name)
-{
-#ifdef G_OS_WIN32
- /* There has never been any of these legacy *-config scripts on
- * Windows as far as I know. No use trying to execute them, will
- * only confuse users to see the "blabla is not recognized as an
- * internal or external command, operable program or batch file"
- * messages.
- */
- return NULL;
-#else
-
- Package *pkg;
-
- if (name_ends_in_uninstalled (name))
- debug_spew ("Suspiciously looking for compat package for -uninstalled: %s\n", name);
-
- debug_spew ("Looking for '%s' using legacy -config scripts\n", name);
-
- pkg = g_new0 (Package, 1);
-
- pkg->path_position = G_MAXINT;
-
- 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, "libgnomevfs") == 0)
- {
- char *output;
-
- debug_spew ("Calling gnome-vfs-config\n");
-
- pkg->version = backticks ("gnome-vfs-config --version");
- if (pkg->version == NULL)
- {
- g_free (pkg);
- return NULL;
- }
-
- pkg->name = g_strdup ("GNOME VFS");
- pkg->key = g_strdup ("libgnomevfs");
- pkg->description = g_strdup ("GNOME Virtual File System");
-
- output = backticks ("gnome-vfs-config --libs");
- parse_libs (pkg, output, "gnome-vfs-config");
- g_free (output);
-
- output = backticks ("gnome-vfs-config --cflags");
- parse_cflags (pkg, output, "gnome-vfs-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 ((guchar)*p))
- ++p;
-
- if (*p == '\0')
- {
- /* empty output */
- g_free (output);
- g_free (pkg);
- return NULL;
- }
-
- /* only heuristic; find a number or . */
- while (*p && ! (isdigit ((guchar)*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 ((guchar)*p))
- ++p;
-
- if (*p == '\0')
- {
- /* empty output */
- g_free (output);
- g_free (pkg);
- return NULL;
- }
-
- /* only heuristic; find a number or . */
- while (*p && ! (isdigit ((guchar)*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 ((guchar)*p))
- ++p;
-
- if (*p == '\0')
- {
- /* empty output */
- g_free (output);
- g_free (pkg);
- return NULL;
- }
-
- /* only heuristic; find a number or . */
- while (*p && ! (isdigit ((guchar)*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;
- }
-#endif
-}
diff --git a/parse.h b/parse.h
index 0da036c..4c370d4 100644
--- a/parse.h
+++ b/parse.h
@@ -26,8 +26,6 @@ Package *parse_package_file (const char *path, gboolean ignore_requires,
gboolean ignore_private_libs,
gboolean ignore_requires_private);
-Package *get_compat_package (const char *name);
-
GSList *parse_module_list (Package *pkg, const char *str, const char *path);
#endif
diff --git a/pkg.c b/pkg.c
index 3689cae..f76eda3 100644
--- a/pkg.c
+++ b/pkg.c
@@ -279,7 +279,7 @@ file_readable (const char *path)
static Package *
-internal_get_package (const char *name, gboolean warn, gboolean check_compat)
+internal_get_package (const char *name, gboolean warn)
{
Package *pkg = NULL;
const char *location;
@@ -307,7 +307,7 @@ internal_get_package (const char *name, gboolean warn, gboolean check_compat)
un = g_strconcat (name, "-uninstalled", NULL);
- pkg = internal_get_package (un, FALSE, FALSE);
+ pkg = internal_get_package (un, FALSE);
g_free (un);
@@ -321,19 +321,6 @@ internal_get_package (const char *name, gboolean warn, gboolean check_compat)
location = g_hash_table_lookup (locations, name);
}
- if (location == NULL && check_compat)
- {
- pkg = get_compat_package (name);
-
- if (pkg)
- {
- debug_spew ("Returning values for '%s' from a legacy -config script\n",
- name);
-
- return pkg;
- }
- }
-
if (location == NULL)
{
if (warn)
@@ -394,13 +381,13 @@ internal_get_package (const char *name, gboolean warn, gboolean check_compat)
Package *
get_package (const char *name)
{
- return internal_get_package (name, TRUE, TRUE);
+ return internal_get_package (name, TRUE);
}
Package *
get_package_quiet (const char *name)
{
- return internal_get_package (name, FALSE, TRUE);
+ return internal_get_package (name, FALSE);
}
static GSList*