From c751ea3e90b4192f2cc7111cde8e5da2db08c66a Mon Sep 17 00:00:00 2001
From: David Ayers
Date: Sun, 18 Feb 2007 11:19:58 +0000
Subject: [PATCH] * GSWeb.framework/GSWApplication.m
(GSWApplicationMainReal): Remove dependency on GNUSTEP_SYSTEM_ROOT and
search all domains in precedence for frameworks to load.
* Doc/howto.gsdoc: Replace reference to GNUSTEP_SYSTEM_ROOT with
new installation location. Also remove refernece to obsolete debug extension.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@24641 72102866-910b-0410-8b05-ffd578937521
---
ChangeLog | 9 ++++
Doc/howto.gsdoc | 2 +-
GSWeb.framework/GSWApplication.m | 72 ++++++++++++++++++--------------
3 files changed, 50 insertions(+), 33 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 6734af4..3d38028 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-12-12 David Ayers
+
+ * GSWeb.framework/GSWApplication.m (GSWApplicationMainReal):
+ Remove dependency on GNUSTEP_SYSTEM_ROOT and search all domains
+ in precedence for frameworks to load.
+
+ * Doc/howto.gsdoc: Replace reference to GNUSTEP_SYSTEM_ROOT with
+ new installation location. Also remove refernece to obsolete debug extension.
+
2007-02-18 Nicola Pero
* configure.ac: Check for GNUSTEP_MAKEFILES, not GNUSTEP_SYSTEM_ROOT.
diff --git a/Doc/howto.gsdoc b/Doc/howto.gsdoc
index 287ffa1..bba65d0 100644
--- a/Doc/howto.gsdoc
+++ b/Doc/howto.gsdoc
@@ -56,7 +56,7 @@
Debug
In order to debug your application compile it with "gmake debug=yes" and
install with "gmake install debug=yes". You'll find your application in
- GNUSTEP_SYSTEM_ROOT/GSWApps/MyApp.debug
+ GNUSTEP_DOMAIN/GNUSTEP_LIBRARY/GSWApps/MyApp.gswa
Now you can enable debug starting your app with -GSWebDebug=<option>
Options
diff --git a/GSWeb.framework/GSWApplication.m b/GSWeb.framework/GSWApplication.m
index b5f04e3..7cb1489 100644
--- a/GSWeb.framework/GSWApplication.m
+++ b/GSWeb.framework/GSWApplication.m
@@ -142,45 +142,53 @@ int GSWApplicationMainReal(NSString* applicationClassName,
{
NSArray* frameworks=[applicationClass loadFrameworks];
NSDebugFLog(@"LOAD Frameworks frameworks=%@",frameworks);
+
if (frameworks)
{
NSBundle* bundle=nil;
- int i=0;
+ unsigned i=0,j=0;
BOOL loadResult=NO;
- int frameworksCount=[frameworks count];
- /* FIXME: This should use gnustep-base's NSPathUtilities API
- * to search for things. GNUSTEP_SYSTEM_ROOT might not even
- * be defined under FHS! gnustep-base's NSPathUtilities API
- * will always work under all filesystem layouts.
- */
- NSString* GNUstepRoot=[[[NSProcessInfo processInfo]environment]
- objectForKey:@"GNUSTEP_SYSTEM_ROOT"];
- NSDebugFLLog(@"bundles",@"GNUstepRoot=%@",GNUstepRoot);
- // NSDebugFLLog(@"bundles",@"[[NSProcessInfo processInfo]environment]=%@",[[NSProcessInfo processInfo]environment]);
- NSDebugFLLog(@"bundles",@"[NSProcessInfo processInfo]=%@",
- [NSProcessInfo processInfo]);
+ NSFileManager *fm = [NSFileManager defaultManager];
+ NSArray *searchDomains
+ = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,
+ NSAllDomainsMask,
+ NO);
+ unsigned frameworksCount=[frameworks count];
+ unsigned searchDomainCount=[searchDomains count];
for(i=0;i