[pango] Add PANGO_LIBDIR and PANGO_SYSCONFDIR enviroment variables
- From: Owen Taylor <otaylor src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pango] Add PANGO_LIBDIR and PANGO_SYSCONFDIR enviroment variables
- Date: Thu, 8 Jul 2010 20:00:01 +0000 (UTC)
commit e94a21a9b52a5b9f9e4a5f1e19f9c84a16bf2838
Author: Owen W. Taylor <otaylor fishsoup net>
Date: Thu Jul 8 15:51:33 2010 -0400
Add PANGO_LIBDIR and PANGO_SYSCONFDIR enviroment variables
Add environment variables to override the compile time values
for the libdir and sysconfdir. This provides additional
flexibility and enables using a static pango.modules file
for libraries packaged with an application on OS X by setting
environment variables at application startup and using
paths of the form:
@executable_path/../lib/pango/modules/..
in the modules file.
https://bugzilla.gnome.org/show_bug.cgi?id=554524
pango/pango-utils.c | 26 +++++++++++++++++---------
1 files changed, 17 insertions(+), 9 deletions(-)
---
diff --git a/pango/pango-utils.c b/pango/pango-utils.c
index 100dbc7..1e10448 100644
--- a/pango/pango-utils.c
+++ b/pango/pango-utils.c
@@ -692,19 +692,23 @@ DllMain (HINSTANCE hinstDLL,
G_CONST_RETURN char *
pango_get_sysconf_subdirectory (void)
{
-#ifdef G_OS_WIN32
- static gchar *result = NULL;
+ static const gchar *result = NULL;
if (result == NULL)
{
+#ifdef G_OS_WIN32
gchar *root = g_win32_get_package_installation_directory_of_module (pango_dll);
result = g_build_filename (root, "etc\\pango", NULL);
g_free (root);
- }
- return result;
#else
- return SYSCONFDIR "/pango";
+ const char *sysconfdir = g_getenv ("PANGO_SYSCONFDIR");
+ if (sysconfdir != NULL)
+ result = g_build_filename (sysconfdir, "pango", NULL);
+ else
+ result = SYSCONFDIR "/pango";
#endif
+ }
+ return result;
}
/**
@@ -721,11 +725,11 @@ pango_get_sysconf_subdirectory (void)
G_CONST_RETURN char *
pango_get_lib_subdirectory (void)
{
-#ifdef G_OS_WIN32
static gchar *result = NULL;
if (result == NULL)
{
+#ifdef G_OS_WIN32
gchar *root = g_win32_get_package_installation_directory_of_module (pango_dll);
/* If we are running against an uninstalled copy of the Pango DLL,
* use the compile-time installation prefix.
@@ -735,11 +739,15 @@ pango_get_lib_subdirectory (void)
else
result = g_build_filename (root, "lib\\pango", NULL);
g_free (root);
- }
- return result;
#else
- return LIBDIR "/pango";
+ const char *libdir = g_getenv ("PANGO_LIBDIR");
+ if (libdir != NULL)
+ result = g_build_filename (libdir, "pango", NULL);
+ else
+ result = LIBDIR "/pango";
#endif
+ }
+ return result;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]