Fixed looking up gnustep-base resources with custom layout; try to catch serious filesystem config errors early on in configure

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24747 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2007-03-02 03:30:22 +00:00
parent d5ed49570f
commit 8b7a80b537
4 changed files with 6557 additions and 6724 deletions

View file

@ -1,3 +1,12 @@
2007-03-01 Nicola Pero <nicola.pero@meta-innovation.com>
* Source/NSBundle.m ([NSBundle +bundleForLibrary:]): Fixed paths
to lookup; it wouldn't work with the new filesystem layout
changes.
* configure.ac: Raise an error if we're asked to import a config
file but no such file is found.
* configure: Regenerated.
2007-03-01 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSZone.m: tidy indentation
@ -16,7 +25,7 @@
2007-03-01 Richard Frith-Macdonald <rfm@gnu.org>
* configure.ac: Restorelast reversion and fix actual bug (I hope)
* configure.ac: Restore last reversion and fix actual bug (I hope)
which was an incorrect setting of GNUSTEP_SYSTEM_TOOLS to the
Admin subdirectory, causing relative path calculations to be wrong.
* configure: regenerated.

View file

@ -2213,9 +2213,10 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory)
return nil;
}
tail = [@"Resources" stringByAppendingPathComponent: libraryName];
tail = [@"Libraries" stringByAppendingPathComponent:
[@"Resources" stringByAppendingPathComponent: libraryName]];
paths = NSSearchPathForDirectoriesInDomains (GSLibrariesDirectory,
paths = NSSearchPathForDirectoriesInDomains (NSLibraryDirectory,
NSAllDomainsMask, YES);
enumerator = [paths objectEnumerator];

13239
configure vendored

File diff suppressed because it is too large Load diff

View file

@ -222,12 +222,17 @@ then
GNUSTEP_DEFAULT_CONFIG="$result"
fi
if test "$GNUSTEP_DEFAULT_CONFIG" = ""; then
# We fall back to useing the make settings for the built-in ones.
# No file to import has been specified. We need to read the paths
# from somewhere though! GNUstep.sh might not have been sourced,
# so at this stage we have no knowledge of what the paths must be.
# The only place that we can read them from is the gnustep-make
# GNUstep.conf file.
# So we fall back to useing the make settings for the built-in ones.
# However, on mingw these will be msys style paths, and we don't
# want that ... so later on we convert these to portable relative
# paths based on the directory in which the base library will be
# installed.
GNUSTEP_DEFAULT_CONFIG="$GNUSTEP_MAKE_FILE"
GNUSTEP_DEFAULT_CONFIG="$GNUSTEP_MAKE_CONFIG"
fi
AC_MSG_RESULT($GNUSTEP_DEFAULT_CONFIG)
@ -240,7 +245,18 @@ then
#
if test ! -f "$GNUSTEP_DEFAULT_CONFIG"; then
AC_MSG_RESULT([fail: file "$GNUSTEP_DEFAULT_CONFIG" does not exist])
AC_MSG_NOTICE([Please run configure again with the --disable-importing-config-file option or specifying an alternative file using the --with-default-config= option])
# Ohoh ... things are not going well. We are asked to import
# a config file that doesn't exist. So all paths might be unset
# and who knows what we'll end up hardcoding into gnustep-base.
# It looks like we need to make sure the user knows what they
# are doing, as there is a high chance they don't and might end
# up with a confused/non-working system. As far as we know, the
# system might be already screwed. If they don't want to import
# a config file (eg, they don't have one and they don't care about
# the hardcoded paths) they should just say so. ;-)
AC_MSG_ERROR([Please run configure again with the --disable-importing-config-file option or specifying an alternative file using the --with-default-config= option])
else
AC_MSG_RESULT([trying to import "$GNUSTEP_DEFAULT_CONFIG"])
AC_MSG_NOTICE([If this fails, please run configure again with the --disable-importing-config-file option or specifying an alternative file using the --with-default-config= option])
@ -308,10 +324,12 @@ if test x"$GNUSTEP_USER_DIR_DOC_INFO" = x""; then GNUSTEP_USER_DIR_DOC_INFO=$GNU
# If we are on mingw, we now want to convert the paths to relative
# paths (relative to libgnustep-base.dll).
#
# FIXME: To do it properly, we ought to allow the user to configure
# TODO: To do it properly, we ought to allow the user to configure
# the installation domain at configure time! This assumes we always
# install into System.
#
# FIXME: Check that relative_path.sh works with MinGW-style paths too.
#
case "$target_os" in
mingw*)
GNUSTEP_BASE_PATH="$GNUSTEP_SYSTEM_TOOLS"