From ecfbd24d8e73d421f881e24efb0fc9c7809537cc Mon Sep 17 00:00:00 2001 From: Richard Frith-MacDonald Date: Sat, 25 Jun 2016 07:12:41 +0000 Subject: [PATCH] Changed to restructure subdirectory layout for binaries and system dependent resources in a non-flattened installation. First step towards seamless Debian multiarch support. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39918 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 34 +++++++++++++++++ Documentation/Base.gsdoc | 10 ++++- Documentation/ReleaseNotes.gsdoc | 13 +++++++ Documentation/news.texi | 12 +++++- Source/Makefile.postamble | 5 +-- Source/NSBundle.m | 25 ++++--------- Source/NSPathUtilities.m | 12 +++--- Source/NSTask.m | 20 +++++----- Source/NSThread.m | 2 +- configure | 57 +++++++++++++++++++---------- configure.ac | 63 ++++++++++++++++++++------------ 11 files changed, 168 insertions(+), 85 deletions(-) diff --git a/ChangeLog b/ChangeLog index e74d7f3c7..882cc4f89 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,37 @@ +2016-06-25 Richard Frith-Macdonald + + * Documentation/Base.gsdoc: + * Documentation/ReleaseNotes.gsdoc: + * Documentation/news.texi: + * Source/Makefile.postamble: + * Source/NSBundle.m: + * Source/NSPathUtilities.m: + * Source/NSTask.m: + * Source/NSThread.m: + * configure: + * configure.ac: + When using non-flattened environment, the subdirectory name for + libraries/binaries is changed for Debian compatibility (and simplicity) + to use a directory whose name is of the form architecture/library-combo + rather than nested directories of the form cpu/os-abi/library-combo. + The architecture name format is a sanitised triplet cpu-os-abi (where + previously we had cpu/os-abi). + These changes are the first step in making GNUstep work seamlessly + with Debian multiarch. To use them you will need to rebuild your + entire gnustep installation using a version of gnustep-make which + has correspoinding changes to know where to install bbinaries and + resources. However, the changes should have no effect on a flattened + installation (currently the default). + +2016-06-24 Richard Frith-Macdonald + + * Source/NSDistributedNotificationCenter.m: Double timeout from five + to ten seconds when waiting for the server to become reachable. + * Tools/gdnc.m: Auto-stop 15 seconds after the last client disconnects + rather than immediately ... allowing other clients time to connect. + Changes to reduce the chance of gdnc failure on a slow system where + the server is not running as a daemon. + 2016-06-23 Richard Frith-Macdonald * Source/GSString.m: Optimise getting ascii or utf8 characters diff --git a/Documentation/Base.gsdoc b/Documentation/Base.gsdoc index 8542469d7..886d3ab4c 100644 --- a/Documentation/Base.gsdoc +++ b/Documentation/Base.gsdoc @@ -353,6 +353,8 @@ notice and this notice are preserved.

Used in place of GNUSTEP_TARGET_CPU if the other is missing. + Please do not use this to locate resources; for architecture + dependent resources use GNUSTEP_TARGET_DIR.

GNUSTEP_HOST_DIR @@ -365,6 +367,8 @@ notice and this notice are preserved.

Used in place of GNUSTEP_TARGET_OS if the other is missing. + Please do not use this to locate resources; for architecture + dependent resources use GNUSTEP_TARGET_DIR.

GNUSTEP_TARGET_CPU @@ -372,13 +376,15 @@ notice and this notice are preserved.

Overrides the default value of the machine (hardware) name used on this system. + Please do not use this to locate resources; for architecture + dependent resources use GNUSTEP_TARGET_DIR.

GNUSTEP_TARGET_DIR

Overrides the default path used to locate subdirectories - for GNUstep binaries withing bundles and applications. + for GNUstep binaries within bundles and applications. This is normally equivalent to a path made up of the GNUSTEP_TARGET_CPU and GNUSTEP_TARGET_OS

@@ -388,6 +394,8 @@ notice and this notice are preserved.

Overrides the default value of the operating system name used on this system. + Please do not use this to locate resources; for architecture + dependent resources use GNUSTEP_TARGET_DIR.

GNUSTEP_TZ diff --git a/Documentation/ReleaseNotes.gsdoc b/Documentation/ReleaseNotes.gsdoc index 382ee51c9..a94733b40 100644 --- a/Documentation/ReleaseNotes.gsdoc +++ b/Documentation/ReleaseNotes.gsdoc @@ -29,6 +29,19 @@ notice and this notice are preserved. migrate to using a newer version of the library.

+
+ Version 1.25.0 +

A new stable release.
+ Removes garbage collection support (though for now the + NSGarbageCollector class remains as a stub).
+ Changes multi-architecture support to match the scheme used by + Debian.
+ Improved support for 64bit little-endian systems.
+ As usual, this release also contains an update to include the + most recent international timezone data. +

+
+
Version 1.24.9

A new stable (bugfix) release.
diff --git a/Documentation/news.texi b/Documentation/news.texi index 585affd96..6c0901636 100644 --- a/Documentation/news.texi +++ b/Documentation/news.texi @@ -11,6 +11,16 @@ The currently released version of the library is See the @url{ReleaseNotes.html} document for more information. @end ifclear +@section Noteworthy changes in version @samp{1.25.0} +@itemize @bullet +@item Garbage collection support removed (NSGarbageCollector stub remains) +@item Support for Debian style multi-architecture installations added +@item As usual, this release also contains an update to include the +most recent international timezone data. +@end itemize + +@ifclear ANNOUNCE-ONLY + @section Noteworthy changes in version @samp{1.24.9} @itemize @bullet @item Niels added support for generics @@ -21,8 +31,6 @@ See the @url{ReleaseNotes.html} document for more information. most recent international timezone data. @end itemize -@ifclear ANNOUNCE-ONLY - @section Noteworthy changes in version @samp{1.24.8} @itemize @bullet @item Performance optimisations (particularly in the use of tiny string diff --git a/Source/Makefile.postamble b/Source/Makefile.postamble index 1166ead20..9d61760bb 100644 --- a/Source/Makefile.postamble +++ b/Source/Makefile.postamble @@ -109,10 +109,7 @@ after-clean:: # Things to do after distcleaning after-distclean:: - rm -f $(GNUSTEP_TARGET_DIR)/dynamic-load.h - rm -f $(GNUSTEP_TARGET_DIR)/config.h - rm -rf $(GNUSTEP_TARGET_DIR)/GNUstepBase - rm -rf $(GNUSTEP_TARGET_CPU) + rm -rf $(GNUSTEP_TARGET_DIR) # Things to do before checking # before-check:: diff --git a/Source/NSBundle.m b/Source/NSBundle.m index 921b206e1..ad3ea9f5c 100644 --- a/Source/NSBundle.m +++ b/Source/NSBundle.m @@ -776,15 +776,9 @@ _find_main_bundle_for_tool(NSString *toolName) { bundlePath = [bundlePath stringByDeletingLastPathComponent]; } - /* target os */ + /* target directory */ pathComponent = [bundlePath lastPathComponent]; - if ([pathComponent isEqual: gnustep_target_os]) - { - bundlePath = [bundlePath stringByDeletingLastPathComponent]; - } - /* target cpu */ - pathComponent = [bundlePath lastPathComponent]; - if ([pathComponent isEqual: gnustep_target_cpu]) + if ([pathComponent isEqual: gnustep_target_dir]) { bundlePath = [bundlePath stringByDeletingLastPathComponent]; } @@ -1179,6 +1173,9 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory) gnustep_target_dir = RETAIN(str); else if ((str = [env objectForKey: @"GNUSTEP_HOST_DIR"]) != nil) gnustep_target_dir = RETAIN(str); + else if (gnustep_target_cpu != nil && gnustep_target_os != nil) + gnustep_target_dir = [[NSString alloc] initWithFormat: @"%@-%@", + gnustep_target_cpu, gnustep_target_os]; if ((str = [env objectForKey: @"LIBRARY_COMBO"]) != nil) library_combo = RETAIN(str); @@ -1356,7 +1353,7 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory) path = [GSPrivateExecutablePath() stringByDeletingLastPathComponent]; /* We now need to chop off the extra subdirectories, the library - combo and the target cpu/os if they exist. The executable + combo and the target directory if they exist. The executable and this library should match so that is why we can use the compiled-in settings. */ /* library combo */ @@ -1365,15 +1362,9 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory) { path = [path stringByDeletingLastPathComponent]; } - /* target os */ + /* target dir */ s = [path lastPathComponent]; - if ([s isEqual: gnustep_target_os]) - { - path = [path stringByDeletingLastPathComponent]; - } - /* target cpu */ - s = [path lastPathComponent]; - if ([s isEqual: gnustep_target_cpu]) + if ([s isEqual: gnustep_target_dir]) { path = [path stringByDeletingLastPathComponent]; } diff --git a/Source/NSPathUtilities.m b/Source/NSPathUtilities.m index 30a058d43..2b799137b 100644 --- a/Source/NSPathUtilities.m +++ b/Source/NSPathUtilities.m @@ -2521,8 +2521,8 @@ L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\GNUstep", if ([gnustep_is_flattened boolValue] == NO && gnustep_target_cpu != nil && gnustep_target_os != nil) { - part = [gnustep_target_cpu stringByAppendingPathComponent: - gnustep_target_os]; + part = [NSString stringWithFormat: @"%@-%@", + gnustep_target_cpu, gnustep_target_os]; if (library_combo != nil) { full = [part stringByAppendingPathComponent: library_combo]; @@ -2563,8 +2563,8 @@ L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\GNUstep", if ([gnustep_is_flattened boolValue] == NO && gnustep_target_cpu != nil && gnustep_target_os != nil) { - part = [gnustep_target_cpu stringByAppendingPathComponent: - gnustep_target_os]; + part = [NSString stringWithFormat: @"%@-%@", + gnustep_target_cpu, gnustep_target_os]; if (library_combo != nil) { full = [part stringByAppendingPathComponent: library_combo]; @@ -2605,8 +2605,8 @@ L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\GNUstep", if ([gnustep_is_flattened boolValue] == NO && gnustep_target_cpu != nil && gnustep_target_os != nil) { - part = [gnustep_target_cpu stringByAppendingPathComponent: - gnustep_target_os]; + part = [NSString stringWithFormat: @"%@-%@", + gnustep_target_cpu, gnustep_target_os]; if (library_combo != nil) { full = [part stringByAppendingPathComponent: library_combo]; diff --git a/Source/NSTask.m b/Source/NSTask.m index cc72e2972..759c33e9d 100644 --- a/Source/NSTask.m +++ b/Source/NSTask.m @@ -726,8 +726,7 @@ pty_slave(const char* name) - (NSString*) validatedLaunchPath { NSString *libs; - NSString *cpu; - NSString *os; + NSString *target_dir; NSString *prog; NSString *lpath; NSString *base_path; @@ -740,8 +739,7 @@ pty_slave(const char* name) } libs = [NSBundle _library_combo]; - os = [NSBundle _gnustep_target_os]; - cpu = [NSBundle _gnustep_target_cpu]; + target_dir = [NSBundle _gnustep_target_dir]; /* * Set lpath to the actual path to use for the executable. @@ -754,12 +752,14 @@ pty_slave(const char* name) base_path = [_launchPath stringByDeletingLastPathComponent]; if ([[base_path lastPathComponent] isEqualToString: libs] == YES) base_path = [base_path stringByDeletingLastPathComponent]; - if ([[base_path lastPathComponent] isEqualToString: os] == YES) - base_path = [base_path stringByDeletingLastPathComponent]; - if ([[base_path lastPathComponent] isEqualToString: cpu] == YES) - base_path = [base_path stringByDeletingLastPathComponent]; - arch_path = [base_path stringByAppendingPathComponent: cpu]; - arch_path = [arch_path stringByAppendingPathComponent: os]; + if (nil == target_dir) + arch_path = base_path; + else + { + if ([[base_path lastPathComponent] isEqualToString: target_dir] == YES) + base_path = [base_path stringByDeletingLastPathComponent]; + arch_path = [base_path stringByAppendingPathComponent: target_dir]; + } full_path = [arch_path stringByAppendingPathComponent: libs]; lpath = [full_path stringByAppendingPathComponent: prog]; diff --git a/Source/NSThread.m b/Source/NSThread.m index 6502b47ac..2ffac0889 100644 --- a/Source/NSThread.m +++ b/Source/NSThread.m @@ -657,7 +657,7 @@ GSCurrentThreadDictionary(void) } /* - * Callback function so send notifications on becoming multi-threaded. + * Callback function to send notifications on becoming multi-threaded. */ static void gnustep_base_thread_callback(void) diff --git a/configure b/configure index 1208a5f44..29f841a3b 100755 --- a/configure +++ b/configure @@ -4012,31 +4012,48 @@ if test x"$GNUSTEP_LOCAL_LIBRARIES" = x""; then GNUSTEP_LOCAL_LIBRARIES="$GNUSTEP_LOCAL_ROOT/Library/Libraries" fi -if test x"$GNUSTEP_IS_FLATTENED" = x"no"; then - GNUSTEP_SYSTEM_HEADERS="$GNUSTEP_SYSTEM_HEADERS/$LIBRARY_COMBO" - GNUSTEP_NETWORK_HEADERS="$GNUSTEP_NETWORK_HEADERS/$LIBRARY_COMBO" - GNUSTEP_LOCAL_HEADERS="$GNUSTEP_LOCAL_HEADERS/$LIBRARY_COMBO" - # FIXME: Cross-compiling should read the target from the configure - # options and use it. GNUSTEP_TARGET_* variables do not exist in - # this context (so "$GNUSTEP_TARGET_CPU" will always be "") - if test x"$GNUSTEP_TARGET_CPU" = x""; then - GNUSTEP_SYSTEM_LIBRARIES="$GNUSTEP_SYSTEM_LIBRARIES/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO" - GNUSTEP_NETWORK_LIBRARIES="$GNUSTEP_NETWORK_LIBRARIES/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO" - GNUSTEP_LOCAL_LIBRARIES="$GNUSTEP_LOCAL_LIBRARIES/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO" - else - GNUSTEP_SYSTEM_LIBRARIES="$GNUSTEP_SYSTEM_LIBRARIES/$GNUSTEP_TARGET_CPU/$GNUSTEP_TARGET_OS/$LIBRARY_COMBO" - GNUSTEP_NETWORK_LIBRARIES="$GNUSTEP_NETWORK_LIBRARIES/$GNUSTEP_TARGET_CPU/$GNUSTEP_TARGET_OS/$LIBRARY_COMBO" - GNUSTEP_LOCAL_LIBRARIES="$GNUSTEP_LOCAL_LIBRARIES/$GNUSTEP_TARGET_CPU/$GNUSTEP_TARGET_OS/$LIBRARY_COMBO" - fi -fi - # # Add standard library and header directories for configure to use to locate # plain C developer headers/libraries which have been installed in the # GNUstep hierarchy. These take precedence # -CPPFLAGS="$CPPFLAGS -I$GNUSTEP_LOCAL_HEADERS -I$GNUSTEP_NETWORK_HEADERS -I$GNUSTEP_SYSTEM_HEADERS" -LDFLAGS="$LDFLAGS -L$GNUSTEP_LOCAL_LIBRARIES -L$GNUSTEP_NETWORK_LIBRARIES -L$GNUSTEP_SYSTEM_LIBRARIES" +if test x"$GNUSTEP_IS_FLATTENED" = x"yes"; then + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_LOCAL_HEADERS" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_NETWORK_HEADERS" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_SYSTEM_HEADERS" + LDFLAGS="$LDFLAGS -L$GNUSTEP_LOCAL_LIBRARIES" + LDFLAGS="$LDFLAGS -L$GNUSTEP_NETWORK_LIBRARIES" + LDFLAGS="$LDFLAGS -L$GNUSTEP_SYSTEM_LIBRARIES" +else + # FIXME: Cross-compiling should read the target from the configure + # options and use it. GNUSTEP_TARGET_* variables do not exist in + # this context (so "$GNUSTEP_TARGET_CPU" will always be "") + if test x"$GNUSTEP_TARGET_CPU" = x""; then + ARCH="$GNUSTEP_HOST_CPU-$GNUSTEP_HOST_OS" + else + ARCH=$GNUSTEP_TARGET_CPU-$GNUSTEP_TARGET_OS + fi + ALIB="$ARCH/$LIBRARY_COMBO" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_LOCAL_HEADERS/$ALIB" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_LOCAL_HEADERS/$ARCH" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_LOCAL_HEADERS" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_NETWORK_HEADERS/$ALIB" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_NETWORK_HEADERS/$ARCH" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_NETWORK_HEADERS" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_SYSTEM_HEADERS/$ALIB" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_SYSTEM_HEADERS/$ARCH" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_SYSTEM_HEADERS" + LDFLAGS="$LDFLAGS -L$GNUSTEP_LOCAL_LIBRARIES/$ALIB" + LDFLAGS="$LDFLAGS -L$GNUSTEP_LOCAL_LIBRARIES/$ARCH" + LDFLAGS="$LDFLAGS -L$GNUSTEP_LOCAL_LIBRARIES" + LDFLAGS="$LDFLAGS -L$GNUSTEP_NETWORK_LIBRARIES/$ALIB" + LDFLAGS="$LDFLAGS -L$GNUSTEP_NETWORK_LIBRARIES/$ARCH" + LDFLAGS="$LDFLAGS -L$GNUSTEP_NETWORK_LIBRARIES" + LDFLAGS="$LDFLAGS -L$GNUSTEP_SYSTEM_LIBRARIES/$ALIB" + LDFLAGS="$LDFLAGS -L$GNUSTEP_SYSTEM_LIBRARIES/$ARCH" + LDFLAGS="$LDFLAGS -L$GNUSTEP_SYSTEM_LIBRARIES" +fi + #-------------------------------------------------------------------- # Find the compiler diff --git a/configure.ac b/configure.ac index eae6d7669..6d7fe5cfc 100644 --- a/configure.ac +++ b/configure.ac @@ -1044,31 +1044,48 @@ if test x"$GNUSTEP_LOCAL_LIBRARIES" = x""; then GNUSTEP_LOCAL_LIBRARIES="$GNUSTEP_LOCAL_ROOT/Library/Libraries" fi -if test x"$GNUSTEP_IS_FLATTENED" = x"no"; then - GNUSTEP_SYSTEM_HEADERS="$GNUSTEP_SYSTEM_HEADERS/$LIBRARY_COMBO" - GNUSTEP_NETWORK_HEADERS="$GNUSTEP_NETWORK_HEADERS/$LIBRARY_COMBO" - GNUSTEP_LOCAL_HEADERS="$GNUSTEP_LOCAL_HEADERS/$LIBRARY_COMBO" - # FIXME: Cross-compiling should read the target from the configure - # options and use it. GNUSTEP_TARGET_* variables do not exist in - # this context (so "$GNUSTEP_TARGET_CPU" will always be "") - if test x"$GNUSTEP_TARGET_CPU" = x""; then - GNUSTEP_SYSTEM_LIBRARIES="$GNUSTEP_SYSTEM_LIBRARIES/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO" - GNUSTEP_NETWORK_LIBRARIES="$GNUSTEP_NETWORK_LIBRARIES/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO" - GNUSTEP_LOCAL_LIBRARIES="$GNUSTEP_LOCAL_LIBRARIES/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO" - else - GNUSTEP_SYSTEM_LIBRARIES="$GNUSTEP_SYSTEM_LIBRARIES/$GNUSTEP_TARGET_CPU/$GNUSTEP_TARGET_OS/$LIBRARY_COMBO" - GNUSTEP_NETWORK_LIBRARIES="$GNUSTEP_NETWORK_LIBRARIES/$GNUSTEP_TARGET_CPU/$GNUSTEP_TARGET_OS/$LIBRARY_COMBO" - GNUSTEP_LOCAL_LIBRARIES="$GNUSTEP_LOCAL_LIBRARIES/$GNUSTEP_TARGET_CPU/$GNUSTEP_TARGET_OS/$LIBRARY_COMBO" - fi -fi - # # Add standard library and header directories for configure to use to locate # plain C developer headers/libraries which have been installed in the # GNUstep hierarchy. These take precedence # -CPPFLAGS="$CPPFLAGS -I$GNUSTEP_LOCAL_HEADERS -I$GNUSTEP_NETWORK_HEADERS -I$GNUSTEP_SYSTEM_HEADERS" -LDFLAGS="$LDFLAGS -L$GNUSTEP_LOCAL_LIBRARIES -L$GNUSTEP_NETWORK_LIBRARIES -L$GNUSTEP_SYSTEM_LIBRARIES" +if test x"$GNUSTEP_IS_FLATTENED" = x"yes"; then + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_LOCAL_HEADERS" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_NETWORK_HEADERS" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_SYSTEM_HEADERS" + LDFLAGS="$LDFLAGS -L$GNUSTEP_LOCAL_LIBRARIES" + LDFLAGS="$LDFLAGS -L$GNUSTEP_NETWORK_LIBRARIES" + LDFLAGS="$LDFLAGS -L$GNUSTEP_SYSTEM_LIBRARIES" +else + # FIXME: Cross-compiling should read the target from the configure + # options and use it. GNUSTEP_TARGET_* variables do not exist in + # this context (so "$GNUSTEP_TARGET_CPU" will always be "") + if test x"$GNUSTEP_TARGET_CPU" = x""; then + ARCH="$GNUSTEP_HOST_CPU-$GNUSTEP_HOST_OS" + else + ARCH=$GNUSTEP_TARGET_CPU-$GNUSTEP_TARGET_OS + fi + ALIB="$ARCH/$LIBRARY_COMBO" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_LOCAL_HEADERS/$ALIB" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_LOCAL_HEADERS/$ARCH" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_LOCAL_HEADERS" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_NETWORK_HEADERS/$ALIB" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_NETWORK_HEADERS/$ARCH" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_NETWORK_HEADERS" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_SYSTEM_HEADERS/$ALIB" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_SYSTEM_HEADERS/$ARCH" + CPPFLAGS="$CPPFLAGS -I$GNUSTEP_SYSTEM_HEADERS" + LDFLAGS="$LDFLAGS -L$GNUSTEP_LOCAL_LIBRARIES/$ALIB" + LDFLAGS="$LDFLAGS -L$GNUSTEP_LOCAL_LIBRARIES/$ARCH" + LDFLAGS="$LDFLAGS -L$GNUSTEP_LOCAL_LIBRARIES" + LDFLAGS="$LDFLAGS -L$GNUSTEP_NETWORK_LIBRARIES/$ALIB" + LDFLAGS="$LDFLAGS -L$GNUSTEP_NETWORK_LIBRARIES/$ARCH" + LDFLAGS="$LDFLAGS -L$GNUSTEP_NETWORK_LIBRARIES" + LDFLAGS="$LDFLAGS -L$GNUSTEP_SYSTEM_LIBRARIES/$ALIB" + LDFLAGS="$LDFLAGS -L$GNUSTEP_SYSTEM_LIBRARIES/$ARCH" + LDFLAGS="$LDFLAGS -L$GNUSTEP_SYSTEM_LIBRARIES" +fi + #-------------------------------------------------------------------- # Find the compiler @@ -2715,10 +2732,8 @@ fi #-------------------------------------------------------------------- # Check for FFI interface libraries for invocations -# We enable ffi by default now, as it's fixed for some previouly bad -# platforms, and it has the advantage over ffcall that it does not -# mess up the stack, so stacktraces and native exception handling -# work better with it. +# We enable ffi by default now, as it's the only well supported +# library nowadays. #-------------------------------------------------------------------- do_broken_libffi=no do_broken_libffcall=no