diff --git a/mozilla/camino/Chimera.pbproj/project.pbxproj b/mozilla/camino/Chimera.pbproj/project.pbxproj index 80c367a77b8..c7908184f62 100644 --- a/mozilla/camino/Chimera.pbproj/project.pbxproj +++ b/mozilla/camino/Chimera.pbproj/project.pbxproj @@ -197,6 +197,7 @@ children = ( 29B97316FDCFA39411CA2CEA, F56F241F02AC6D0401A967F3, + F5D1421902BC88F801A967F3, ); isa = PBXGroup; name = "Other Sources"; @@ -4224,7 +4225,6 @@ OPTIMIZATION_CFLAGS = "-O2"; OTHER_CFLAGS = "-fno-rtti -DOSTYPE=\\\"Darwin1.4\\\" -DOSARCH=\\\"Darwin\\\" -D_BUILD_STATIC_BIN"; OTHER_LDFLAGS = "-lxpcom -lplds4 -lplc4 -lnspr4 -lsmime3 -lssl3 -lnss3 -lsoftokn3 -lmozjs -lmozjpeg -ljsj -lmozpng -lmozmng -lpthread -lz -lm"; - PREBINDING = NO; PRODUCT_NAME = Navigator; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wno-four-char-constants -Wno-unknown-pragmas -Wall -Wconversion -Wpointer-arith -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth -Wno-long-long"; @@ -6121,6 +6121,7 @@ F5BAAC3F02AC6AA201A967F3, F5BAAC4002AC6AA201A967F3, F585F52902B2C66C01A967F3, + F5D1421A02BC88F901A967F3, ); isa = PBXCopyFilesBuildPhase; name = "Copy Files"; @@ -6211,6 +6212,17 @@ settings = { }; }; + F5D1421902BC88F801A967F3 = { + isa = PBXFileReference; + path = "redo-prebinding.sh"; + refType = 2; + }; + F5D1421A02BC88F901A967F3 = { + fileRef = F5D1421902BC88F801A967F3; + isa = PBXBuildFile; + settings = { + }; + }; F5D3F1CE0209235A014E447F = { isa = PBXFileReference; name = libmork.dylib; diff --git a/mozilla/camino/MainController.h b/mozilla/camino/MainController.h index c81e09b7de4..2b4cd00fa78 100644 --- a/mozilla/camino/MainController.h +++ b/mozilla/camino/MainController.h @@ -122,4 +122,7 @@ class BookmarksService; + (NSImage*)createImageForDragging:(NSImage*)aIcon title:(NSString*)aTitle; +- (void)updatePrebinding; +- (void)prebindFinished:(NSNotification *)aNotification; + @end diff --git a/mozilla/camino/MainController.mm b/mozilla/camino/MainController.mm index ace6941d281..da848108eda 100644 --- a/mozilla/camino/MainController.mm +++ b/mozilla/camino/MainController.mm @@ -47,6 +47,7 @@ #include "nsIChromeRegistry.h" #import "CHAboutBox.h" #include +#include #ifdef _BUILD_STATIC_BIN #include "nsStaticComponent.h" @@ -104,6 +105,10 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1"; -(void)awakeFromNib { +#ifdef _BUILD_STATIC_BIN + [self updatePrebinding]; +#endif + mPreferenceManager = [[CHPreferenceManager sharedInstance] retain]; [self newWindow: self]; @@ -553,6 +558,34 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1"; return NO; } +- (void) updatePrebinding +{ + // Check our prebinding status. If we didn't launch prebound, + // fork the update script. + + if (!_dyld_launched_prebound()) { + NSLog(@"Not prebound, launching update script\n"); + NSTask* aTask = [[NSTask alloc] init]; + NSArray* args = [NSArray arrayWithObject: @"redo-prebinding.sh"]; + + [aTask setCurrentDirectoryPath:[[[NSBundle mainBundle] executablePath] stringByDeletingLastPathComponent]]; + [aTask setLaunchPath:@"/bin/sh"]; + [aTask setArguments:args]; + + [[NSNotificationCenter defaultCenter] addObserver: self + selector:@selector(prebindFinished:) + name:NSTaskDidTerminateNotification + object: nil]; + + [aTask launch]; + } +} + +- (void)prebindFinished:(NSNotification *)aNotification +{ + [[aNotification object] release]; +} + // services - (void)openURL:(NSPasteboard *) pboard userData:(NSString *) userData error:(NSString **) error diff --git a/mozilla/camino/projects/Chimera.pbproj/project.pbxproj b/mozilla/camino/projects/Chimera.pbproj/project.pbxproj index 80c367a77b8..c7908184f62 100644 --- a/mozilla/camino/projects/Chimera.pbproj/project.pbxproj +++ b/mozilla/camino/projects/Chimera.pbproj/project.pbxproj @@ -197,6 +197,7 @@ children = ( 29B97316FDCFA39411CA2CEA, F56F241F02AC6D0401A967F3, + F5D1421902BC88F801A967F3, ); isa = PBXGroup; name = "Other Sources"; @@ -4224,7 +4225,6 @@ OPTIMIZATION_CFLAGS = "-O2"; OTHER_CFLAGS = "-fno-rtti -DOSTYPE=\\\"Darwin1.4\\\" -DOSARCH=\\\"Darwin\\\" -D_BUILD_STATIC_BIN"; OTHER_LDFLAGS = "-lxpcom -lplds4 -lplc4 -lnspr4 -lsmime3 -lssl3 -lnss3 -lsoftokn3 -lmozjs -lmozjpeg -ljsj -lmozpng -lmozmng -lpthread -lz -lm"; - PREBINDING = NO; PRODUCT_NAME = Navigator; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wno-four-char-constants -Wno-unknown-pragmas -Wall -Wconversion -Wpointer-arith -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth -Wno-long-long"; @@ -6121,6 +6121,7 @@ F5BAAC3F02AC6AA201A967F3, F5BAAC4002AC6AA201A967F3, F585F52902B2C66C01A967F3, + F5D1421A02BC88F901A967F3, ); isa = PBXCopyFilesBuildPhase; name = "Copy Files"; @@ -6211,6 +6212,17 @@ settings = { }; }; + F5D1421902BC88F801A967F3 = { + isa = PBXFileReference; + path = "redo-prebinding.sh"; + refType = 2; + }; + F5D1421A02BC88F901A967F3 = { + fileRef = F5D1421902BC88F801A967F3; + isa = PBXBuildFile; + settings = { + }; + }; F5D3F1CE0209235A014E447F = { isa = PBXFileReference; name = libmork.dylib; diff --git a/mozilla/camino/projects/redo-prebinding.sh b/mozilla/camino/projects/redo-prebinding.sh new file mode 100644 index 00000000000..5e28135eaac --- /dev/null +++ b/mozilla/camino/projects/redo-prebinding.sh @@ -0,0 +1,2 @@ +#!/bin/sh +update_prebinding -files `pwd`/* diff --git a/mozilla/camino/redo-prebinding.sh b/mozilla/camino/redo-prebinding.sh new file mode 100644 index 00000000000..5e28135eaac --- /dev/null +++ b/mozilla/camino/redo-prebinding.sh @@ -0,0 +1,2 @@ +#!/bin/sh +update_prebinding -files `pwd`/* diff --git a/mozilla/camino/src/application/MainController.h b/mozilla/camino/src/application/MainController.h index c81e09b7de4..2b4cd00fa78 100644 --- a/mozilla/camino/src/application/MainController.h +++ b/mozilla/camino/src/application/MainController.h @@ -122,4 +122,7 @@ class BookmarksService; + (NSImage*)createImageForDragging:(NSImage*)aIcon title:(NSString*)aTitle; +- (void)updatePrebinding; +- (void)prebindFinished:(NSNotification *)aNotification; + @end diff --git a/mozilla/camino/src/application/MainController.mm b/mozilla/camino/src/application/MainController.mm index ace6941d281..da848108eda 100644 --- a/mozilla/camino/src/application/MainController.mm +++ b/mozilla/camino/src/application/MainController.mm @@ -47,6 +47,7 @@ #include "nsIChromeRegistry.h" #import "CHAboutBox.h" #include +#include #ifdef _BUILD_STATIC_BIN #include "nsStaticComponent.h" @@ -104,6 +105,10 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1"; -(void)awakeFromNib { +#ifdef _BUILD_STATIC_BIN + [self updatePrebinding]; +#endif + mPreferenceManager = [[CHPreferenceManager sharedInstance] retain]; [self newWindow: self]; @@ -553,6 +558,34 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1"; return NO; } +- (void) updatePrebinding +{ + // Check our prebinding status. If we didn't launch prebound, + // fork the update script. + + if (!_dyld_launched_prebound()) { + NSLog(@"Not prebound, launching update script\n"); + NSTask* aTask = [[NSTask alloc] init]; + NSArray* args = [NSArray arrayWithObject: @"redo-prebinding.sh"]; + + [aTask setCurrentDirectoryPath:[[[NSBundle mainBundle] executablePath] stringByDeletingLastPathComponent]]; + [aTask setLaunchPath:@"/bin/sh"]; + [aTask setArguments:args]; + + [[NSNotificationCenter defaultCenter] addObserver: self + selector:@selector(prebindFinished:) + name:NSTaskDidTerminateNotification + object: nil]; + + [aTask launch]; + } +} + +- (void)prebindFinished:(NSNotification *)aNotification +{ + [[aNotification object] release]; +} + // services - (void)openURL:(NSPasteboard *) pboard userData:(NSString *) userData error:(NSString **) error diff --git a/mozilla/camino/src/scripts/redo-prebinding.sh b/mozilla/camino/src/scripts/redo-prebinding.sh new file mode 100644 index 00000000000..5e28135eaac --- /dev/null +++ b/mozilla/camino/src/scripts/redo-prebinding.sh @@ -0,0 +1,2 @@ +#!/bin/sh +update_prebinding -files `pwd`/* diff --git a/mozilla/chimera/Chimera.pbproj/project.pbxproj b/mozilla/chimera/Chimera.pbproj/project.pbxproj index 80c367a77b8..c7908184f62 100644 --- a/mozilla/chimera/Chimera.pbproj/project.pbxproj +++ b/mozilla/chimera/Chimera.pbproj/project.pbxproj @@ -197,6 +197,7 @@ children = ( 29B97316FDCFA39411CA2CEA, F56F241F02AC6D0401A967F3, + F5D1421902BC88F801A967F3, ); isa = PBXGroup; name = "Other Sources"; @@ -4224,7 +4225,6 @@ OPTIMIZATION_CFLAGS = "-O2"; OTHER_CFLAGS = "-fno-rtti -DOSTYPE=\\\"Darwin1.4\\\" -DOSARCH=\\\"Darwin\\\" -D_BUILD_STATIC_BIN"; OTHER_LDFLAGS = "-lxpcom -lplds4 -lplc4 -lnspr4 -lsmime3 -lssl3 -lnss3 -lsoftokn3 -lmozjs -lmozjpeg -ljsj -lmozpng -lmozmng -lpthread -lz -lm"; - PREBINDING = NO; PRODUCT_NAME = Navigator; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wno-four-char-constants -Wno-unknown-pragmas -Wall -Wconversion -Wpointer-arith -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth -Wno-long-long"; @@ -6121,6 +6121,7 @@ F5BAAC3F02AC6AA201A967F3, F5BAAC4002AC6AA201A967F3, F585F52902B2C66C01A967F3, + F5D1421A02BC88F901A967F3, ); isa = PBXCopyFilesBuildPhase; name = "Copy Files"; @@ -6211,6 +6212,17 @@ settings = { }; }; + F5D1421902BC88F801A967F3 = { + isa = PBXFileReference; + path = "redo-prebinding.sh"; + refType = 2; + }; + F5D1421A02BC88F901A967F3 = { + fileRef = F5D1421902BC88F801A967F3; + isa = PBXBuildFile; + settings = { + }; + }; F5D3F1CE0209235A014E447F = { isa = PBXFileReference; name = libmork.dylib; diff --git a/mozilla/chimera/MainController.h b/mozilla/chimera/MainController.h index c81e09b7de4..2b4cd00fa78 100644 --- a/mozilla/chimera/MainController.h +++ b/mozilla/chimera/MainController.h @@ -122,4 +122,7 @@ class BookmarksService; + (NSImage*)createImageForDragging:(NSImage*)aIcon title:(NSString*)aTitle; +- (void)updatePrebinding; +- (void)prebindFinished:(NSNotification *)aNotification; + @end diff --git a/mozilla/chimera/MainController.mm b/mozilla/chimera/MainController.mm index ace6941d281..da848108eda 100644 --- a/mozilla/chimera/MainController.mm +++ b/mozilla/chimera/MainController.mm @@ -47,6 +47,7 @@ #include "nsIChromeRegistry.h" #import "CHAboutBox.h" #include +#include #ifdef _BUILD_STATIC_BIN #include "nsStaticComponent.h" @@ -104,6 +105,10 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1"; -(void)awakeFromNib { +#ifdef _BUILD_STATIC_BIN + [self updatePrebinding]; +#endif + mPreferenceManager = [[CHPreferenceManager sharedInstance] retain]; [self newWindow: self]; @@ -553,6 +558,34 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1"; return NO; } +- (void) updatePrebinding +{ + // Check our prebinding status. If we didn't launch prebound, + // fork the update script. + + if (!_dyld_launched_prebound()) { + NSLog(@"Not prebound, launching update script\n"); + NSTask* aTask = [[NSTask alloc] init]; + NSArray* args = [NSArray arrayWithObject: @"redo-prebinding.sh"]; + + [aTask setCurrentDirectoryPath:[[[NSBundle mainBundle] executablePath] stringByDeletingLastPathComponent]]; + [aTask setLaunchPath:@"/bin/sh"]; + [aTask setArguments:args]; + + [[NSNotificationCenter defaultCenter] addObserver: self + selector:@selector(prebindFinished:) + name:NSTaskDidTerminateNotification + object: nil]; + + [aTask launch]; + } +} + +- (void)prebindFinished:(NSNotification *)aNotification +{ + [[aNotification object] release]; +} + // services - (void)openURL:(NSPasteboard *) pboard userData:(NSString *) userData error:(NSString **) error diff --git a/mozilla/chimera/projects/Chimera.pbproj/project.pbxproj b/mozilla/chimera/projects/Chimera.pbproj/project.pbxproj index 80c367a77b8..c7908184f62 100644 --- a/mozilla/chimera/projects/Chimera.pbproj/project.pbxproj +++ b/mozilla/chimera/projects/Chimera.pbproj/project.pbxproj @@ -197,6 +197,7 @@ children = ( 29B97316FDCFA39411CA2CEA, F56F241F02AC6D0401A967F3, + F5D1421902BC88F801A967F3, ); isa = PBXGroup; name = "Other Sources"; @@ -4224,7 +4225,6 @@ OPTIMIZATION_CFLAGS = "-O2"; OTHER_CFLAGS = "-fno-rtti -DOSTYPE=\\\"Darwin1.4\\\" -DOSARCH=\\\"Darwin\\\" -D_BUILD_STATIC_BIN"; OTHER_LDFLAGS = "-lxpcom -lplds4 -lplc4 -lnspr4 -lsmime3 -lssl3 -lnss3 -lsoftokn3 -lmozjs -lmozjpeg -ljsj -lmozpng -lmozmng -lpthread -lz -lm"; - PREBINDING = NO; PRODUCT_NAME = Navigator; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wno-four-char-constants -Wno-unknown-pragmas -Wall -Wconversion -Wpointer-arith -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth -Wno-long-long"; @@ -6121,6 +6121,7 @@ F5BAAC3F02AC6AA201A967F3, F5BAAC4002AC6AA201A967F3, F585F52902B2C66C01A967F3, + F5D1421A02BC88F901A967F3, ); isa = PBXCopyFilesBuildPhase; name = "Copy Files"; @@ -6211,6 +6212,17 @@ settings = { }; }; + F5D1421902BC88F801A967F3 = { + isa = PBXFileReference; + path = "redo-prebinding.sh"; + refType = 2; + }; + F5D1421A02BC88F901A967F3 = { + fileRef = F5D1421902BC88F801A967F3; + isa = PBXBuildFile; + settings = { + }; + }; F5D3F1CE0209235A014E447F = { isa = PBXFileReference; name = libmork.dylib; diff --git a/mozilla/chimera/projects/redo-prebinding.sh b/mozilla/chimera/projects/redo-prebinding.sh new file mode 100644 index 00000000000..5e28135eaac --- /dev/null +++ b/mozilla/chimera/projects/redo-prebinding.sh @@ -0,0 +1,2 @@ +#!/bin/sh +update_prebinding -files `pwd`/* diff --git a/mozilla/chimera/redo-prebinding.sh b/mozilla/chimera/redo-prebinding.sh new file mode 100644 index 00000000000..5e28135eaac --- /dev/null +++ b/mozilla/chimera/redo-prebinding.sh @@ -0,0 +1,2 @@ +#!/bin/sh +update_prebinding -files `pwd`/* diff --git a/mozilla/chimera/src/application/MainController.h b/mozilla/chimera/src/application/MainController.h index c81e09b7de4..2b4cd00fa78 100644 --- a/mozilla/chimera/src/application/MainController.h +++ b/mozilla/chimera/src/application/MainController.h @@ -122,4 +122,7 @@ class BookmarksService; + (NSImage*)createImageForDragging:(NSImage*)aIcon title:(NSString*)aTitle; +- (void)updatePrebinding; +- (void)prebindFinished:(NSNotification *)aNotification; + @end diff --git a/mozilla/chimera/src/application/MainController.mm b/mozilla/chimera/src/application/MainController.mm index ace6941d281..da848108eda 100644 --- a/mozilla/chimera/src/application/MainController.mm +++ b/mozilla/chimera/src/application/MainController.mm @@ -47,6 +47,7 @@ #include "nsIChromeRegistry.h" #import "CHAboutBox.h" #include +#include #ifdef _BUILD_STATIC_BIN #include "nsStaticComponent.h" @@ -104,6 +105,10 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1"; -(void)awakeFromNib { +#ifdef _BUILD_STATIC_BIN + [self updatePrebinding]; +#endif + mPreferenceManager = [[CHPreferenceManager sharedInstance] retain]; [self newWindow: self]; @@ -553,6 +558,34 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1"; return NO; } +- (void) updatePrebinding +{ + // Check our prebinding status. If we didn't launch prebound, + // fork the update script. + + if (!_dyld_launched_prebound()) { + NSLog(@"Not prebound, launching update script\n"); + NSTask* aTask = [[NSTask alloc] init]; + NSArray* args = [NSArray arrayWithObject: @"redo-prebinding.sh"]; + + [aTask setCurrentDirectoryPath:[[[NSBundle mainBundle] executablePath] stringByDeletingLastPathComponent]]; + [aTask setLaunchPath:@"/bin/sh"]; + [aTask setArguments:args]; + + [[NSNotificationCenter defaultCenter] addObserver: self + selector:@selector(prebindFinished:) + name:NSTaskDidTerminateNotification + object: nil]; + + [aTask launch]; + } +} + +- (void)prebindFinished:(NSNotification *)aNotification +{ + [[aNotification object] release]; +} + // services - (void)openURL:(NSPasteboard *) pboard userData:(NSString *) userData error:(NSString **) error diff --git a/mozilla/chimera/src/scripts/redo-prebinding.sh b/mozilla/chimera/src/scripts/redo-prebinding.sh new file mode 100644 index 00000000000..5e28135eaac --- /dev/null +++ b/mozilla/chimera/src/scripts/redo-prebinding.sh @@ -0,0 +1,2 @@ +#!/bin/sh +update_prebinding -files `pwd`/*