From 097ee73e95439d7b6454f1f2c20c17f095fc7554 Mon Sep 17 00:00:00 2001 From: Adam Fedor Date: Tue, 31 Mar 1998 16:34:29 +0000 Subject: [PATCH] Improved CON_AUTOLOAD tests. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2780 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 11 +++++++++++ Documentation/gnustep-howto.tmpl.texi | 8 +++++--- Documentation/status.tmpl.texi | 10 +++++++++- Testing/GNUmakefile | 2 +- aclocal.m4 | 20 ++++++++++---------- configure | 22 +++++++++++----------- 6 files changed, 47 insertions(+), 26 deletions(-) diff --git a/ChangeLog b/ChangeLog index f8497de6f..7b4794d6d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +Tue Mar 31 11:32:03 1998 Adam Fedor + + * aclocal.m4 (OBJC_CON_AUTOLOAD): Improved test. Check nm output + for indicator functions. + * configure: Regenerate. + + * checks/GNUmakefile (LoadMe_RESOURCE_FILES): Changed name. + + * doc/gnustep-howto.tmpl.texi: Update. + * doc/status.tmpl.texi: Likewise. + Fri Mar 20 11:15:00 1998 Richard Frith-Macdonald * checks/client.m: Added some tests for passing objects byref diff --git a/Documentation/gnustep-howto.tmpl.texi b/Documentation/gnustep-howto.tmpl.texi index 5ddedca3d..db44b72c7 100644 --- a/Documentation/gnustep-howto.tmpl.texi +++ b/Documentation/gnustep-howto.tmpl.texi @@ -170,9 +170,11 @@ make install @subsection Compiling PCThreads -For Linux/GNU systems on Intel x86 processors, the PCThreads library is +For GNU/Linux systems on Intel x86 processors, the PCThreads library is known to work with GNUstep. PCThreads version 1.1.0 is an enhanced version -of PCThread 1.0.0 with better support for GNUstep. +of PCThread 1.0.0 with better support for GNUstep. PCThreads may no longer +be necessary on all GNU/Linux systems, such as Debian 2.0 or other systems +with glibc2. @example cd /usr/src @@ -204,7 +206,7 @@ Special note for Solaris users. GNUstep works on Solaris/Intel systems; however, GCC 2.8.0 has problems, so you must use the older patched GCC 2.7.2 instead. GCC 2.8.0 has also induced a problem on Solaris/Sparc systems; however, there is a patch to fix this in the contrib directory -on the ftp sites. +on the ftp sites (This is also true for egcs-1.0.1). @table @asis @item 1. Uncompress GCC: diff --git a/Documentation/status.tmpl.texi b/Documentation/status.tmpl.texi index e5cf28522..8b494da63 100644 --- a/Documentation/status.tmpl.texi +++ b/Documentation/status.tmpl.texi @@ -35,6 +35,7 @@ Unknown status. Doesn't yet call -awakeAfterUsingCoder:. @item NSArray:: [9] @item NSAssertionHandler:: [9] +@item NSAttributedString:: [8] @item NSAutoreleasePool:: [9] But not exception- safe @item NSBundle:: [8] @@ -60,11 +61,17 @@ Unknown status. @item NSDeserializer:: [7] @item NSDictionary:: [8] @item NSDistantObject:: [7] +@item NSDistributedLock:: [7] @item NSEnumerator:: [9] -@item NSException:: [9] +@item NSException:: [9] But this needs integration with new, better +@item NSFileHandle:: [9] +@item NSFileManager:: [9] +@item NSHashTable:: [8] +@item NSHost:: [8] @item NSInvocation:: [3] @item NSLock:: [8] +@item NSMapTable:: [8] @item NSMethodSignature:: [4] @item NSMutableArray:: [8] @item NSMutableCharacterSet:: [7] @@ -89,6 +96,7 @@ Unknown status. @item NSString:: [8] Careful, relationship with GNU String is tricky; this could also use fixing. +@item NSTask:: [8] @item NSThread:: [8] @item NSTimeZone:: [8] @item NSTimeZoneDetail:: [8] diff --git a/Testing/GNUmakefile b/Testing/GNUmakefile index 5b2297d6a..6f066a44f 100644 --- a/Testing/GNUmakefile +++ b/Testing/GNUmakefile @@ -138,7 +138,7 @@ BUNDLE_NAME=LoadMe LoadMe_OBJC_FILES = LoadMe.m MyCategory.m SecondClass.m # The bundle resource files and directories -LoadMe_RESOURCES = English.lproj/NXStringTable.example +LoadMe_RESOURCE_FILES = English.lproj/NXStringTable.example LoadMe_RESOURCE_DIRS = English.lproj SRCS = $(TEST_TOOL_NAME:=.m) diff --git a/aclocal.m4 b/aclocal.m4 index 252e49f66..47682bd41 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -28,11 +28,9 @@ AC_DEFUN(OBJC_CON_AUTOLOAD, # # If this system supports autoloading of constructors, that means that gcc # doesn't have to do it for us via collect2. This routine tests for this -# in a very roundabout way by intentionally trying to link a program that -# will give a link error, and examining the output to see if collect2 gave -# the error (which means the system does not autoload constructors) -# The only problem is this test might incorrectly return yes if it fails -# for some other reason besides a link problem. +# in a very roundabout way by compiling a program with a constructor and +# testing the file, via nm, for certain symbols that collect2 includes to +# handle loading of constructors. # # Makes the following substitutions: # Defines CON_AUTOLOAD (whether constructor functions are autoloaded) @@ -42,16 +40,18 @@ AC_MSG_CHECKING(loading of constructor functions) AC_CACHE_VAL(objc_cv_con_autoload, [dnl cat > conftest.constructor.c <&1 | grep collect2`"; then - objc_cv_con_autoload=no -else +${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.constructor.$ac_ext $LIBS 1>&5 +if test -n "`nm conftest | grep _ctors_aux`"; then objc_cv_con_autoload=yes +else + objc_cv_con_autoload=no fi ]) if test $objc_cv_con_autoload = yes; then diff --git a/configure b/configure index 570ac991c..dd4929ea8 100755 --- a/configure +++ b/configure @@ -1178,31 +1178,31 @@ EOF # # If this system supports autoloading of constructors, that means that gcc # doesn't have to do it for us via collect2. This routine tests for this -# in a very roundabout way by intentionally trying to link a program that -# will give a link error, and examining the output to see if collect2 gave -# the error (which means the system does not autoload constructors) -# The only problem is this test might incorrectly return yes if it fails -# for some other reason besides a link problem. +# in a very roundabout way by compiling a program with a constructor and +# testing the file, via nm, for certain symbols that collect2 includes to +# handle loading of constructors. # # Makes the following substitutions: # Defines CON_AUTOLOAD (whether constructor functions are autoloaded) #-------------------------------------------------------------------- echo $ac_n "checking loading of constructor functions""... $ac_c" 1>&6 -echo "configure:1192: checking loading of constructor functions" >&5 +echo "configure:1190: checking loading of constructor functions" >&5 if eval "test \"`echo '$''{'objc_cv_con_autoload'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.constructor.c <&1 | grep collect2`"; then - objc_cv_con_autoload=no -else +${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.constructor.$ac_ext $LIBS 1>&5 +if test -n "`nm conftest | grep _ctors_aux`"; then objc_cv_con_autoload=yes +else + objc_cv_con_autoload=no fi fi