зеркало из https://github.com/mozilla/gecko-dev.git
Bug 660687: Add configure switches that can override confvars.sh's choice of an app basename and disable all system extension directories. r=ted
This commit is contained in:
Родитель
1df027a28e
Коммит
c5095222cf
29
configure.in
29
configure.in
|
@ -4311,6 +4311,7 @@ dnl ========================================================
|
|||
MOZ_ARG_HEADER(Application)
|
||||
|
||||
ENABLE_TESTS=1
|
||||
ENABLE_SYSTEM_EXTENSION_DIRS=1
|
||||
MOZ_BRANDING_DIRECTORY=
|
||||
MOZ_OFFICIAL_BRANDING=
|
||||
MOZ_FEEDS=1
|
||||
|
@ -4455,7 +4456,7 @@ else
|
|||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
|
||||
# Allow someone to change MOZ_APP_NAME in mozconfig
|
||||
# Allow someone to change MOZ_APP_NAME and MOZ_APP_BASENAME in mozconfig
|
||||
MOZ_ARG_WITH_STRING(app-name,
|
||||
[--with-app-name=APPNAME sets MOZ_APP_NAME to APPNAME],
|
||||
WITH_APP_NAME=$withval,
|
||||
|
@ -4465,6 +4466,15 @@ if test -n "$WITH_APP_NAME" ; then
|
|||
MOZ_APP_NAME="$WITH_APP_NAME"
|
||||
fi
|
||||
|
||||
MOZ_ARG_WITH_STRING(app-basename,
|
||||
[--with-app-basename=BASENAME sets MOZ_APP_BASENAME to BASENAME],
|
||||
WITH_APP_BASENAME=$withval,
|
||||
)
|
||||
|
||||
if test -n "$WITH_APP_BASENAME" ; then
|
||||
MOZ_APP_BASENAME="$WITH_APP_BASENAME"
|
||||
fi
|
||||
|
||||
# Now is a good time to test for logic errors, define mismatches, etc.
|
||||
case "$MOZ_BUILD_APP" in
|
||||
xulrunner)
|
||||
|
@ -5602,6 +5612,23 @@ MOZ_ARG_DISABLE_BOOL(pref-extensions,
|
|||
MOZ_PREF_EXTENSIONS=,
|
||||
MOZ_PREF_EXTENSIONS=1 )
|
||||
|
||||
dnl ========================================================
|
||||
dnl Searching of system directories for extensions.
|
||||
dnl Note: this switch is meant to be used for test builds
|
||||
dnl whose behavior should not depend on what happens to be
|
||||
dnl installed on the local machine.
|
||||
dnl ========================================================
|
||||
MOZ_ARG_DISABLE_BOOL(system-extension-dirs,
|
||||
[ --disable-system-extension-dirs
|
||||
Disable searching system- and account-global
|
||||
directories for extensions of any kind; use
|
||||
only profile-specific extension directories],
|
||||
ENABLE_SYSTEM_EXTENSION_DIRS=,
|
||||
ENABLE_SYSTEM_EXTENSION_DIRS=1 )
|
||||
if test "$ENABLE_SYSTEM_EXTENSION_DIRS"; then
|
||||
AC_DEFINE(ENABLE_SYSTEM_EXTENSION_DIRS)
|
||||
fi
|
||||
|
||||
dnl ========================================================
|
||||
dnl = Universalchardet
|
||||
dnl ========================================================
|
||||
|
|
|
@ -318,18 +318,30 @@ nsXREDirProvider::GetFile(const char* aProperty, bool* aPersistent,
|
|||
}
|
||||
#if defined(XP_UNIX) || defined(XP_MACOSX)
|
||||
else if (!strcmp(aProperty, XRE_SYS_LOCAL_EXTENSION_PARENT_DIR)) {
|
||||
#ifdef ENABLE_SYSTEM_EXTENSION_DIRS
|
||||
return GetSystemExtensionsDirectory((nsILocalFile**)(nsIFile**) aFile);
|
||||
#else
|
||||
return NS_ERROR_FAILURE;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
#if defined(XP_UNIX) && !defined(XP_MACOSX)
|
||||
else if (!strcmp(aProperty, XRE_SYS_SHARE_EXTENSION_PARENT_DIR)) {
|
||||
#ifdef ENABLE_SYSTEM_EXTENSION_DIRS
|
||||
static const char *const sysLExtDir = "/usr/share/mozilla/extensions";
|
||||
return NS_NewNativeLocalFile(nsDependentCString(sysLExtDir),
|
||||
false, (nsILocalFile**)(nsIFile**) aFile);
|
||||
#else
|
||||
return NS_ERROR_FAILURE;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
else if (!strcmp(aProperty, XRE_USER_SYS_EXTENSION_DIR)) {
|
||||
#ifdef ENABLE_SYSTEM_EXTENSION_DIRS
|
||||
return GetSysUserExtensionsDirectory((nsILocalFile**)(nsIFile**) aFile);
|
||||
#else
|
||||
return NS_ERROR_FAILURE;
|
||||
#endif
|
||||
}
|
||||
else if (!strcmp(aProperty, XRE_APP_DISTRIBUTION_DIR)) {
|
||||
rv = GetAppDir()->Clone(getter_AddRefs(file));
|
||||
|
|
|
@ -224,17 +224,23 @@ nsAppFileLocationProvider::GetFile(const char *prop, bool *persistent, nsIFile *
|
|||
"Use nsAppFileLocationProvider::GetFiles(...).");
|
||||
const char *pathVar = PR_GetEnv("MOZ_PLUGIN_PATH");
|
||||
if (pathVar && *pathVar)
|
||||
rv = NS_NewNativeLocalFile(nsDependentCString(pathVar), true, getter_AddRefs(localFile));
|
||||
rv = NS_NewNativeLocalFile(nsDependentCString(pathVar), true,
|
||||
getter_AddRefs(localFile));
|
||||
}
|
||||
else if (nsCRT::strcmp(prop, NS_USER_PLUGINS_DIR) == 0)
|
||||
{
|
||||
#ifdef ENABLE_SYSTEM_EXTENSION_DIRS
|
||||
rv = GetProductDirectory(getter_AddRefs(localFile));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
rv = localFile->AppendRelativeNativePath(PLUGINS_DIR_NAME);
|
||||
#else
|
||||
rv = NS_ERROR_FAILURE;
|
||||
#endif
|
||||
}
|
||||
#ifdef XP_UNIX
|
||||
else if (nsCRT::strcmp(prop, NS_SYSTEM_PLUGINS_DIR) == 0) {
|
||||
static const char *const sysLPlgDir =
|
||||
#ifdef ENABLE_SYSTEM_EXTENSION_DIRS
|
||||
static const char *const sysLPlgDir =
|
||||
#if defined(HAVE_USR_LIB64_DIR) && defined(__LP64__)
|
||||
"/usr/lib64/mozilla/plugins";
|
||||
#else
|
||||
|
@ -242,6 +248,9 @@ nsAppFileLocationProvider::GetFile(const char *prop, bool *persistent, nsIFile *
|
|||
#endif
|
||||
rv = NS_NewNativeLocalFile(nsDependentCString(sysLPlgDir),
|
||||
false, getter_AddRefs(localFile));
|
||||
#else
|
||||
rv = NS_ERROR_FAILURE;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
|
Загрузка…
Ссылка в новой задаче