diff --git a/mozilla/Makefile.in b/mozilla/Makefile.in index bc67860f100..bddab01664a 100644 --- a/mozilla/Makefile.in +++ b/mozilla/Makefile.in @@ -80,8 +80,8 @@ ifdef MOZ_ENABLE_GTK DIRS += widget/src/gtksuperwin widget/src/gtkxtbin endif -# Linux installer needs standalone libjar, hence standalone zlib -ifeq ($(OS_ARCH),Linux) +# Linux and Solaris installer needs standalone libjar, hence standalone zlib +ifeq (,$(filter Linux SunOS5,$(OS_ARCH))) DIRS += modules/zlib/standalone endif diff --git a/mozilla/modules/libjar/Makefile.in b/mozilla/modules/libjar/Makefile.in index 4ec6949f155..8d386b7078d 100644 --- a/mozilla/modules/libjar/Makefile.in +++ b/mozilla/modules/libjar/Makefile.in @@ -27,8 +27,8 @@ VPATH = @srcdir@ include $(DEPTH)/config/autoconf.mk -# Linux installer needs standalone libjar -ifeq ($(OS_ARCH),Linux) +# Linux and Solaris installer needs standalone libjar +ifeq (,$(filter Linux SunOS5,$(OS_ARCH))) DIRS = standalone endif diff --git a/mozilla/xpinstall/Makefile.in b/mozilla/xpinstall/Makefile.in index 8d258433752..d4c76673c55 100644 --- a/mozilla/xpinstall/Makefile.in +++ b/mozilla/xpinstall/Makefile.in @@ -32,7 +32,7 @@ include $(DEPTH)/config/autoconf.mk DIRS = public res src stub -ifeq ($(OS_ARCH),Linux) +ifeq (,$(filter Linux SunOS5,$(OS_ARCH))) ifdef MOZ_ENABLE_GTK DIRS += wizard/unix/src2 endif diff --git a/mozilla/xpinstall/wizard/unix/src2/nsLegacyCheck.cpp b/mozilla/xpinstall/wizard/unix/src2/nsLegacyCheck.cpp index 903bc2b3ce2..d8c15ba561a 100644 --- a/mozilla/xpinstall/wizard/unix/src2/nsLegacyCheck.cpp +++ b/mozilla/xpinstall/wizard/unix/src2/nsLegacyCheck.cpp @@ -35,7 +35,8 @@ nsLegacyCheck::nsLegacyCheck() : nsLegacyCheck::~nsLegacyCheck() { #ifdef DEBUG - printf("%s %d: Freeing %s\n", __FILE__, __LINE__, mFilename); + if (mFilename) + printf("%s %d: Freeing %s\n", __FILE__, __LINE__, mFilename); #endif XI_IF_FREE(mFilename); XI_IF_FREE(mMessage); diff --git a/mozilla/xpinstall/wizard/unix/src2/nsXIEngine.cpp b/mozilla/xpinstall/wizard/unix/src2/nsXIEngine.cpp index 952d858ddfc..24aae2c23e9 100644 --- a/mozilla/xpinstall/wizard/unix/src2/nsXIEngine.cpp +++ b/mozilla/xpinstall/wizard/unix/src2/nsXIEngine.cpp @@ -130,11 +130,18 @@ nsXIEngine::Install(int aCustom, nsComponentList *aComps, char *aDestination) return E_PARAM; // handle LD_LIBRARY_PATH settings +#ifdef SOLARIS + sprintf(new_LD_LIBRARY_PATH, "LD_LIBRARY_PATH=%s/bin:.", mTmp); +#else sprintf(new_LD_LIBRARY_PATH, "%s/bin:.", mTmp); +#endif DUMP(new_LD_LIBRARY_PATH); old_LD_LIBRARY_PATH = getenv("LD_LIBRARY_PATH"); +#ifdef SOLARIS + putenv(new_LD_LIBRARY_PATH); +#else setenv("LD_LIBRARY_PATH", new_LD_LIBRARY_PATH, 1); - +#endif currComp = aComps->GetHead(); err = LoadXPIStub(&stub, aDestination); if (err == OK) @@ -162,7 +169,14 @@ nsXIEngine::Install(int aCustom, nsComponentList *aComps, char *aDestination) UnloadXPIStub(&stub); // restore LD_LIBRARY_PATH settings +#ifdef SOLARIS + char old_LD_env[MAXPATHLEN]; + + sprintf(old_LD_env, "LD_LIBRARY_PATH=%s", old_LD_LIBRARY_PATH); + putenv(old_LD_env); +#else setenv("LD_LIBRARY_PATH", old_LD_LIBRARY_PATH, 1); +#endif return err; } diff --git a/mozilla/xpinstall/wizard/unix/src2/nsXInstaller.cpp b/mozilla/xpinstall/wizard/unix/src2/nsXInstaller.cpp index 37de3d01e9b..660311424af 100644 --- a/mozilla/xpinstall/wizard/unix/src2/nsXInstaller.cpp +++ b/mozilla/xpinstall/wizard/unix/src2/nsXInstaller.cpp @@ -323,6 +323,6 @@ main(int argc, char **argv) XI_IF_DELETE(installer); - exit(err); + _exit(err); }