]> granicus.if.org Git - graphviz/commitdiff
Search for plugins in the install directory.
authorellson <devnull@localhost>
Mon, 4 Apr 2005 22:32:32 +0000 (22:32 +0000)
committerellson <devnull@localhost>
Mon, 4 Apr 2005 22:32:32 +0000 (22:32 +0000)
Use .so.0 so that we don't depend on the -devel package.

lib/gvc/gvconfig.c
lib/gvc/gvplugin.c

index 3d99324e5f69c3f9fe1a23bed39b4af85f7d323b..735f6a84400afab5df9424be1528654370146432 100644 (file)
@@ -137,7 +137,7 @@ void gvconfig(GVC_t * gvc)
     int sz, rc, i, j;
     struct stat config_st, libdir_st;
     FILE *f;
-    char *config_path, *home, *config;
+    char *config_path, *config_glob, *home, *config;
     glob_t globbuf;
     gvplugin_library_t *library;
     gvplugin_api_t *apis;
@@ -145,6 +145,7 @@ void gvconfig(GVC_t * gvc)
 
     char *dot_graphviz = "/.graphviz";
     char *libdir = GVLIBDIR;
+    char *plugin_glob = "/libgvplugin*.so.0";
 
 #define SZ_CONFIG 1000
     
@@ -181,8 +182,11 @@ void gvconfig(GVC_t * gvc)
            return;
        }
 
-       rc = glob("/home/ellson/FIX/Linux.x86_64/lib/graphviz/libgvplugin*.so",
-               GLOB_NOSORT, NULL, &globbuf);
+       config_glob = malloc(strlen(libdir) + strlen(plugin_glob) + 1);
+       strcpy(config_glob, libdir);
+       strcat(config_glob, plugin_glob);
+
+       rc = glob(config_glob, GLOB_NOSORT, NULL, &globbuf);
 
         if (rc == 0) {
            for (j = 0; j < globbuf.gl_pathc; j++) {
@@ -209,7 +213,7 @@ void gvconfig(GVC_t * gvc)
            }
        }
        globfree(&globbuf);
-
+        free(config_glob);
        fclose(f);
        return;     /* all plugins have been installed */
     }
index 4e748df7f64ecf23cf12e8bc9bb3f8ad5b4d6f0f..4890a2268422e2999facce272e701409d85d1de7 100644 (file)
@@ -113,7 +113,7 @@ gvplugin_library_t *gvplugin_library_load(char *path)
     s = strrchr(path, '/');
     sym = malloc(strlen(s) + strlen(suffix) + 1);
     strcpy(sym, s+4);         /* strip leading "/lib" */
-    s = strchr(sym, '.');     /* strip trailing ".so" */
+    s = strchr(sym, '.');     /* strip trailing ".so.0" */
     strcpy(s,"_LTX_library"); /* append "_LTX_library" */
 
     ptr = lt_dlsym (hndl, sym);