Fix:Core:Find libraries when compiled with --libdir=prefix/lib64
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Mon, 5 Jan 2009 21:58:20 +0000 (21:58 +0000)
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Mon, 5 Jan 2009 21:58:20 +0000 (21:58 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@1901 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/navit/Makefile.am
navit/navit/main.c

index 1578442..51da9f5 100644 (file)
@@ -5,7 +5,7 @@ if BUILD_SAMPLEMAP
   SUBDIRS += maps
 endif
 
-AM_CPPFLAGS = -I$(top_srcdir)/navit/fib-1.1 @NAVIT_CFLAGS@ @ZLIB_CFLAGS@ -DPREFIX=\"@prefix@\" -DMODULE=navit
+AM_CPPFLAGS = -I$(top_srcdir)/navit/fib-1.1 @NAVIT_CFLAGS@ @ZLIB_CFLAGS@ -DPREFIX=\"@prefix@\" -DLIBDIR=\"@libdir@\" -DMODULE=navit
 BUILT_SOURCES = version.h
 if BUILD_SAMPLEMAP
   BUILT_SOURCES += osm2navit$(EXEEXT)
index 18499a6..e7748ee 100644 (file)
@@ -175,7 +175,7 @@ setenv(char *var, char *val, int overwrite)
 #endif
 
 static char *environment_vars[][4]={
-       {"NAVIT_LIBDIR",        ":",            ":/lib/navit",          ":/lib"},
+       {"NAVIT_LIBDIR",        ":",            "::/navit",             ":/lib"},
        {"NAVIT_SHAREDIR",      ":",            ":/share/navit",        ":"},
        {"NAVIT_LOCALEDIR",     ":/../locale",  ":/share/locale",       ":/locale"},
        {"NAVIT_USER_DATADIR",  ":",            "~/.navit",             ":/data"},
@@ -194,7 +194,10 @@ main_setup_environment(int mode)
                if (val) {
                        switch (val[0]) {
                        case ':':
-                               val=g_strdup_printf("%s%s", getenv("NAVIT_PREFIX"), val+1);
+                               if (val[1] == ':')
+                                       val=g_strdup_printf("%s/%s%s", getenv("NAVIT_PREFIX"), LIBDIR+sizeof(PREFIX), val+2);
+                               else
+                                       val=g_strdup_printf("%s%s", getenv("NAVIT_PREFIX"), val+1);
                                break;
                        case '~':
                                val=g_strdup_printf("%s%s", getenv("HOME"), val+1);