mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-23 00:41:02 +00:00
Stuff for new release
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39569 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
1eb08aef48
commit
03952f1e96
11 changed files with 343 additions and 461 deletions
34
ANNOUNCE
34
ANNOUNCE
|
@ -1,7 +1,7 @@
|
|||
1 Announcement
|
||||
**************
|
||||
|
||||
The GNUstep Base Library, version 1.24.8, is now available.
|
||||
The GNUstep Base Library, version 1.24.9, is now available.
|
||||
|
||||
1.1 What is the GNUstep Base Library?
|
||||
=====================================
|
||||
|
@ -16,33 +16,25 @@ remote object messaging support (distributed objects), and event loops.
|
|||
portion of the OpenStep standard (the Foundation library).
|
||||
|
||||
There is more information available at the GNUstep homepage at
|
||||
`http://www.gnustep.org'.
|
||||
'http://www.gnustep.org'.
|
||||
|
||||
1.2 Noteworthy changes in version `1.24.8'
|
||||
1.2 Noteworthy changes in version '1.24.9'
|
||||
==========================================
|
||||
|
||||
* Performance optimisations (particularly in the use of tiny string
|
||||
objects by the new objc runtime on 64bit systems).
|
||||
|
||||
* Thread naming and logging of threads by NSLog() has been made
|
||||
consistent with the latest OSX releases, making debugging of
|
||||
multithreaded code a little easier.
|
||||
|
||||
* Sergei Golovin has added NSURLConnection regression tests (while
|
||||
fixing a few bugs there).
|
||||
|
||||
* Niels added support for generics
|
||||
* Support for 'ng' runtime library (latest language features enabled)
|
||||
* Performance optimisations and improved diagnostic messages
|
||||
* Garbage Collection deprecated (support to be removed)
|
||||
* As usual, this release also contains an update to include the most
|
||||
recent international timezone data.
|
||||
|
||||
* Various other bugfixes.
|
||||
1.3 Where can you get it? How can you compile it?
|
||||
=================================================
|
||||
|
||||
1.3 Where can you get it? How can you compile it?
|
||||
==================================================
|
||||
The gnustep-base-1.24.9.tar.gz distribution file has been placed at
|
||||
<ftp://ftp.gnustep.org/pub/gnustep/core>.
|
||||
|
||||
The gnustep-base-1.24.8.tar.gz distribution file has been placed at
|
||||
`ftp://ftp.gnustep.org/pub/gnustep/core'.
|
||||
|
||||
Please log bug reports on the GNUstep project page
|
||||
`http://savannah.gnu.org/bugs/?group=gnustep' or send bug reports to
|
||||
Please log bug reports on the GNUstep project page
|
||||
<http://savannah.gnu.org/bugs/?group=gnustep> or send bug reports to
|
||||
<bug-gnustep@gnu.org>.
|
||||
|
||||
|
|
14
ChangeLog
14
ChangeLog
|
@ -1,3 +1,16 @@
|
|||
2016-03-20 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Documentation/ReleaseNotes.gsdoc:
|
||||
* Documentation/news.texi:
|
||||
* ANNOUNCE:
|
||||
* NEWS:
|
||||
* NSTimeZones/NSTimeZones.tar:
|
||||
* Tools/AGSParser.m:
|
||||
* Version:
|
||||
Update version for new release. Add short news/announce entries.
|
||||
Update timezone information to latest IANA data.
|
||||
Add simple support for generics to autogsdoc.
|
||||
|
||||
2016-03-18 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/NSUserDefaults.m: Wait longer for locks on slow systems
|
||||
|
@ -194,6 +207,7 @@
|
|||
an object at the end of the array.
|
||||
|
||||
2016-02-22 Niels Grewe <niels.grewe@halbordnung.de>
|
||||
|
||||
* Headers/Foundation/NSObjCRuntime.h: Add macros for backwards-
|
||||
compatible generics annotations. Also define instancetype if necessary.
|
||||
* Headers/Foundation/NSArray.h:
|
||||
|
|
|
@ -29,6 +29,19 @@ notice and this notice are preserved.
|
|||
migrate to using a newer version of the library.
|
||||
</p>
|
||||
|
||||
<section>
|
||||
<heading>Version 1.24.9</heading>
|
||||
<p>A new stable (bugfix) release.<br />
|
||||
Niels added support for generics.<br />
|
||||
Support for 'ng' runtime library (latest language features
|
||||
enabled)<br />
|
||||
Performance optimisations and improved diagnostic messages.<br />
|
||||
Garbage Collection deprecated (support to be removed).<br />
|
||||
As usual, this release also contains an update to include the
|
||||
most recent international timezone data.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<heading>Version 1.24.8</heading>
|
||||
<p>A new stable (bugfix) release.<br />
|
||||
|
|
|
@ -11,6 +11,18 @@ 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.24.9}
|
||||
@itemize @bullet
|
||||
@item Niels added support for generics
|
||||
@item Support for 'ng' runtime library (latest language features enabled)
|
||||
@item Performance optimisations and improved diagnostic messages
|
||||
@item Garbage Collection deprecated (support to be removed)
|
||||
@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.8}
|
||||
@itemize @bullet
|
||||
@item Performance optimisations (particularly in the use of tiny string
|
||||
|
@ -25,8 +37,6 @@ most recent international timezone data.
|
|||
@item Various other bugfixes.
|
||||
@end itemize
|
||||
|
||||
@ifclear ANNOUNCE-ONLY
|
||||
|
||||
@section Noteworthy changes in version @samp{1.24.7}
|
||||
|
||||
@itemize @bullet
|
||||
|
|
|
@ -311,19 +311,22 @@ typedef NSUInteger NSDirectoryEnumerationOptions;
|
|||
/**
|
||||
* Returns an array of NSURL of the contents of the specified directory. <br>
|
||||
* The listing is shallow and does not recurse into subdirectories.
|
||||
* The special files '.' and '..' are excluded but it can return hidden files. <br>
|
||||
* The only <i>mask</i> option supported is NSDirectoryEnumerationSkipsHiddenFiles.<br>
|
||||
* The special files '.' and '..' are excluded but it can return
|
||||
* hidden files.<br>
|
||||
* The only mask option supported is
|
||||
* NSDirectoryEnumerationSkipsHiddenFiles.<br>
|
||||
* The current implementation handles only files and property keys are ignored.
|
||||
*/
|
||||
- (NSArray*) contentsOfDirectoryAtURL:(NSURL*)url
|
||||
includingPropertiesForKeys:(NSArray*)keys
|
||||
options:(NSDirectoryEnumerationOptions)mask
|
||||
error:(NSError **)error;
|
||||
- (NSArray*) contentsOfDirectoryAtURL: (NSURL*)url
|
||||
includingPropertiesForKeys: (NSArray*)keys
|
||||
options: (NSDirectoryEnumerationOptions)mask
|
||||
error: (NSError **)error;
|
||||
#endif
|
||||
|
||||
#if OS_API_VERSION(MAC_OS_X_VERSION_10_5, GS_API_LATEST)
|
||||
/**
|
||||
* Returns an array of NSStrings of the contents of the specified directory.<br />
|
||||
* Returns an array of NSStrings of the contents of the
|
||||
* specified directory.<br />
|
||||
* The listing does <strong>not</strong> recursively list subdirectories.<br />
|
||||
* The special files '.' and '..' are not listed.<br />
|
||||
* Indicates an error by returning nil (eg. if path is not a directory or
|
||||
|
|
84
INSTALL
84
INSTALL
|
@ -1,11 +1,11 @@
|
|||
0.1 Introduction
|
||||
================
|
||||
1 Introduction
|
||||
==============
|
||||
|
||||
If you are installing this package as part of the GNUstep core packages,
|
||||
read the file GNUstep-HOWTO for more complete instructions on how to
|
||||
install the entire GNUstep package (including this library).
|
||||
GNUstep-HOWTO is located in the gnustep-make package or at
|
||||
`http://www.gnustep.org'
|
||||
<http://www.gnustep.org>
|
||||
|
||||
This version of gnustep-base requires gnustep-make version 2.0.0 or
|
||||
higher.
|
||||
|
@ -13,17 +13,11 @@ higher.
|
|||
Other external libraries that you may need to install include:
|
||||
|
||||
* ffi (HIGHLY RECOMMENDED)
|
||||
|
||||
* icu (HIGHLY RECOMMENDED)
|
||||
|
||||
* gnutls (HIGHLY RECOMMENDED)
|
||||
|
||||
* libxml2 (RECOMMENDED)
|
||||
|
||||
* libxslt (OPTIONAL)
|
||||
|
||||
* iconv (OPTIONAL, not needed if you have glibc)
|
||||
|
||||
* openssl (OPTIONAL, not needed if you have gnutls)
|
||||
|
||||
If you are installing the GNUstep libraries individually, make sure
|
||||
|
@ -36,7 +30,7 @@ and you have sourced the makefile script:
|
|||
are going to use graphical applications.
|
||||
|
||||
When you configure this library, make sure you use the same
|
||||
configuration options as with gstep-make. Some additional options to
|
||||
configuration options as with gstep-make. Some additional options to
|
||||
configure are described below.
|
||||
|
||||
Quick installation instructions:
|
||||
|
@ -51,36 +45,36 @@ configure are described below.
|
|||
make
|
||||
make install
|
||||
|
||||
0.2 Configuration
|
||||
=================
|
||||
2 Configuration
|
||||
===============
|
||||
|
||||
Configuration is performed by running the `configure' program at a
|
||||
shell prompt. You may want to use some of the optional arguments to the
|
||||
`configure' program. Type `configure --help' for a list of these. It is
|
||||
not likely that you will need to use the `--prefix' option, since
|
||||
Configuration is performed by running the 'configure' program at a shell
|
||||
prompt. You may want to use some of the optional arguments to the
|
||||
'configure' program. Type 'configure --help' for a list of these. It
|
||||
is not likely that you will need to use the '--prefix' option, since
|
||||
gstep-base will automatically install in the directory specified by the
|
||||
`GNUSTEP_SYSTEM_ROOT' environment variable (specified when you
|
||||
installed gnustep-make).
|
||||
'GNUSTEP_SYSTEM_ROOT' environment variable (specified when you installed
|
||||
gnustep-make).
|
||||
|
||||
Some configuration options for the base library need to be specified
|
||||
when configuring the gnustep-make package. In most cases, it is a good
|
||||
when configuring the gnustep-make package. In most cases, it is a good
|
||||
idea to specify the same configuration options when configuring both
|
||||
packages, just to make sure.
|
||||
|
||||
Also make sure you've read the machine-specific instructions for your
|
||||
particular operating system and CPU. These instructions come with the
|
||||
GNUstep-HOWTO and are also located at the GNUstep web site at
|
||||
`http://www.gnustep.org'.
|
||||
<http://www.gnustep.org>.
|
||||
|
||||
0.2.1 Reading Command-Line Arguments
|
||||
------------------------------------
|
||||
2.1 Reading Command-Line Arguments
|
||||
----------------------------------
|
||||
|
||||
There are two features that change how GNUstep gets access to
|
||||
command-line arguments and environment variables (normally passed to
|
||||
the program in the `main()' function. These features are
|
||||
`--enable-pass-arguments' and the `--enable-fake-main' option(s).
|
||||
command-line arguments and environment variables (normally passed to the
|
||||
program in the 'main()' function. These features are
|
||||
'--enable-pass-arguments' and the '--enable-fake-main' option(s).
|
||||
|
||||
The fake-main option _secretly_ renames the `main()' function and
|
||||
The fake-main option _secretly_ renames the 'main()' function and
|
||||
substitutes it's own function which stores the command line arguments
|
||||
before calling the real main.
|
||||
|
||||
|
@ -90,54 +84,54 @@ line
|
|||
|
||||
[NSProcessInfo initializeWithArguments:argv count:argc environment:env];
|
||||
|
||||
in the `main()' function of their program.
|
||||
in the 'main()' function of their program.
|
||||
|
||||
Normally, the configure script will determine if a program can read
|
||||
process information directly from the system (for use by the class
|
||||
NSProcessInfo) and enable or disable the fake-main hack automatically,
|
||||
but if you find that configure is not doing this correctly, you can
|
||||
force the fake-main hack to be used, which will always work. Note that
|
||||
force the fake-main hack to be used, which will always work. Note that
|
||||
if the fake-main hack is enabled, you need to include the header file
|
||||
GSConfig.h in you main program - this is done by default if you include
|
||||
NSObject.h or Foundation.h. If you want to avoid the whole idea of the
|
||||
fake-main hack, you can use the pass-arguments option. In this case you
|
||||
NSObject.h or Foundation.h. If you want to avoid the whole idea of the
|
||||
fake-main hack, you can use the pass-arguments option. In this case you
|
||||
will be forced to call the NSProcessInfo initializeWithArguments method
|
||||
to pass the program arguments to NSProcessInfo (This would be done
|
||||
automatically if you use the NSApplicationMain function in a gui
|
||||
application).
|
||||
|
||||
0.2.2 FFI Library
|
||||
-----------------
|
||||
2.2 FFI Library
|
||||
---------------
|
||||
|
||||
GNUstep's NSInvocations and Distributed Objects code involves detailed
|
||||
manipulation of the stack and function calls using a library that
|
||||
implements a Foreign-Function Interface (FFI), such as the libffi
|
||||
library. Use of libffi is automatically enabled if the libffi library
|
||||
library. Use of libffi is automatically enabled if the libffi library
|
||||
is found (and the same with ffcall, although libffi takes precedence),
|
||||
unless specifically disabled with `--disable-do'.
|
||||
unless specifically disabled with '--disable-do'.
|
||||
|
||||
0.2.3 OpenSSL
|
||||
-------------
|
||||
2.3 OpenSSL
|
||||
-----------
|
||||
|
||||
While GNUstep base has full support for HTTPS/TLS using gnustls, it also
|
||||
has optional support for using the OpenSSL libraries for secure URL
|
||||
connections (though only with the NSURL classes). This functionality is
|
||||
connections (though only with the NSURL classes). This functionality is
|
||||
compiled as a separate bundle since the OpenSSL license is not
|
||||
compatible with GPL, and in the hopes that if someone writes an openssl
|
||||
replacement, it can quickly be used by creating another bundle. The
|
||||
replacement, it can quickly be used by creating another bundle. The
|
||||
openssl libraries need to be installed for this to work.
|
||||
|
||||
0.3 Compilation
|
||||
===============
|
||||
3 Compilation
|
||||
=============
|
||||
|
||||
To compile this library, type make. After this is complete, type make
|
||||
install (make sure you are the root user). Some additional options you
|
||||
can use with make are `debug=yes' to make a debugging version of the
|
||||
library and `shared=no' to make a static version of the library. See
|
||||
To compile this library, type make. After this is complete, type make
|
||||
install (make sure you are the root user). Some additional options you
|
||||
can use with make are 'debug=yes' to make a debugging version of the
|
||||
library and 'shared=no' to make a static version of the library. See
|
||||
the gstep-make package for more information on these options.
|
||||
|
||||
If you can't install gstep-base as root, be sure to edit the
|
||||
`Tools/gdomap.h' file and uncomment the last line.
|
||||
'Tools/gdomap.h' file and uncomment the last line.
|
||||
|
||||
Copyright (C) 2005 Free Software Foundation
|
||||
|
||||
|
|
Binary file not shown.
29
README
29
README
|
@ -7,16 +7,16 @@ object collections, byte streams, typed coders, invocations,
|
|||
notifications, notification dispatchers, moments in time, network ports,
|
||||
remote object messaging support (distributed objects), and event loops.
|
||||
|
||||
It provides functionality that aims to implement the non-graphical
|
||||
It provides functionality that aims to implement the non-graphical
|
||||
portion of the Apple's Cocoa frameworks (the Foundation library) which
|
||||
came from the OpenStep standard.
|
||||
|
||||
1.1 Initial reading
|
||||
===================
|
||||
|
||||
The file `NEWS' has the library's feature history.
|
||||
The file 'NEWS' has the library's feature history.
|
||||
|
||||
The files `INSTALL' or `GNUstep-HOWTO' (from the web site) gives
|
||||
The files 'INSTALL' or 'GNUstep-HOWTO' (from the web site) gives
|
||||
instructions for installing the library.
|
||||
|
||||
1.2 License
|
||||
|
@ -24,19 +24,19 @@ instructions for installing the library.
|
|||
|
||||
The GNUstep libraries and library resources are covered under the GNU
|
||||
Lesser Public License. This means you can use these libraries in any
|
||||
program (even non-free programs). If you distribute the libraries along
|
||||
program (even non-free programs). If you distribute the libraries along
|
||||
with your program, you must make the improvements you have made to the
|
||||
libraries freely available. You should read the COPYING.LIB file for
|
||||
more information. All files in the `Source', `Headers'
|
||||
`NSCharacterSets', `NSTimeZones', `Resources', and `SSL' directories
|
||||
and subdirectories under this are covered under the LGPL.
|
||||
libraries freely available. You should read the COPYING.LIB file for
|
||||
more information. All files in the 'Source', 'Headers'
|
||||
'NSCharacterSets', 'NSTimeZones', 'Resources', and 'SSL' directories and
|
||||
subdirectories under this are covered under the LGPL.
|
||||
|
||||
GNUstep tools, test programs, and other files are covered under the
|
||||
GNU Public License. This means if you make changes to these programs,
|
||||
you cannot charge a fee, other than distribution fees, for others to
|
||||
use the program. You should read the COPYING file for more information.
|
||||
All files in the `Documentation', `Examples', `Tools', `config', and
|
||||
`macosx' directories are covered under the GPL.
|
||||
GNU Public License. This means if you make changes to these programs,
|
||||
you cannot charge a fee, other than distribution fees, for others to use
|
||||
the program. You should read the COPYING file for more information.
|
||||
All files in the 'Documentation', 'Examples', 'Tools', 'config', and
|
||||
'macosx' directories are covered under the GPL.
|
||||
|
||||
With GNUstep-Base, we strongly recommend the use of the ffcall
|
||||
libraries, which provides stack frame handling for NSInvocation and
|
||||
|
@ -51,10 +51,9 @@ are under GNU LGPL" (Text in quotes provided by the author of ffcall).
|
|||
could be better.
|
||||
|
||||
Please log bug reports on the GNUstep project page
|
||||
`http://savannah.gnu.org/bugs/?group=gnustep' or send bug reports
|
||||
<http://savannah.gnu.org/bugs/?group=gnustep> or send bug reports
|
||||
to <bug-gnustep@gnu.org>.
|
||||
|
||||
|
||||
Happy hacking!
|
||||
|
||||
Copyright (C) 2005 Free Software Foundation
|
||||
|
|
|
@ -2424,6 +2424,7 @@ fail:
|
|||
* whitespace and try again.
|
||||
* If we read end of data, or anything which is invalid inside an
|
||||
* identifier, we return nil.
|
||||
* If we read a GS_GENERIC... macro, we return its first argument.
|
||||
*/
|
||||
- (NSString*) parseIdentifier
|
||||
{
|
||||
|
@ -2445,6 +2446,28 @@ try:
|
|||
|
||||
tmp = [[NSString alloc] initWithCharacters: &buffer[start]
|
||||
length: pos - start];
|
||||
if ([tmp isEqual: @"GS_GENERIC_CLASS"]
|
||||
|| [tmp isEqual: @"GS_GENERIC_TYPE"])
|
||||
{
|
||||
[self skipSpaces];
|
||||
if (pos < length && buffer[pos] == '(')
|
||||
{
|
||||
pos++;
|
||||
/* Found a GS_GENERIC_ macro ... the first
|
||||
* identifier inside the macro arguments is the
|
||||
* name we want to return.
|
||||
*/
|
||||
RELEASE(tmp);
|
||||
tmp = RETAIN([self parseIdentifier]);
|
||||
while (pos < length)
|
||||
{
|
||||
if (buffer[pos++] == ')')
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
val = [wordMap objectForKey: tmp];
|
||||
if (val == nil)
|
||||
{
|
||||
|
|
4
Version
4
Version
|
@ -7,9 +7,9 @@ GCC_VERSION=4.0.0
|
|||
# The version number of this release.
|
||||
MAJOR_VERSION=1
|
||||
MINOR_VERSION=24
|
||||
SUBMINOR_VERSION=8
|
||||
SUBMINOR_VERSION=9
|
||||
# numeric value should match above
|
||||
VERSION_NUMBER=124.8
|
||||
VERSION_NUMBER=124.9
|
||||
GNUSTEP_BASE_VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${SUBMINOR_VERSION}
|
||||
VERSION=${GNUSTEP_BASE_VERSION}
|
||||
|
||||
|
|
Loading…
Reference in a new issue