Version 1.9.1

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@18710 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Adam Fedor 2004-02-29 02:49:16 +00:00
parent e89ea4d83c
commit 5f83c3e2cf
13 changed files with 213 additions and 168 deletions

View file

@ -1,7 +1,7 @@
Announcement
************
The GNUstep Makefile Package version 1.9.0 is now available.
The GNUstep Makefile Package version 1.9.1 is now available.
What is the GNUstep makefile package?
=====================================
@ -12,23 +12,19 @@ write a project without having to deal with the complex issues
associated with configuration, building, installation, and packaging.
It also allows the user to easily create cross-compiled binaries.
Note that versions that have a odd minor release number (the second
number, y, in x.y.z) are unstable releases (like 1.5.2), while even
minor release numbers (1.4.1) are stable releases.
Changes in version `1.9.0'
Changes in version `1.9.1'
==========================
* Support for building in a separate build dir.
* Remove `--disable-import' option
* Add -enable-string-makefiles option to configure
* README.Darwin for darwin/MacOSX install
* List of classes in a framework gets written to the plist file.
* Framework version and naming clarified.
Obtaining gnustep-make
======================
You can get the gstep-make-1.9.0.tar.gz distribution file at
You can get the gstep-make-1.9.1.tar.gz distribution file at
<ftp://ftp.gnustep.org/pub/gnustep/core>
Please log bug reports on the GNUstep project page

View file

@ -1,6 +1,14 @@
2004-02-28 Quentin MathŽ <qmathe@club-internet.fr>
2004-02-28 Adam Fedor <fedor@gnu.org>
* Documentation/README.Darwin: Update with the detailed and complete installation process on Mac OS X and Darwin (with the help of Nicolas Roard).
* Version 1.9.1
* Documentation/announce.texi, readme.texi, install.texi, news.texi:
Update.
2004-02-28 Quentin Mathe <qmathe@club-internet.fr>
* Documentation/README.Darwin: Update with the detailed and
complete installation process on Mac OS X and Darwin (with the
help of Nicolas Roard).
2004-02-23 Adam Fedor <fedor@gnu.org>

View file

@ -12,11 +12,6 @@ write a project without having to deal with the complex issues
associated with configuration, building, installation, and packaging.
It also allows the user to easily create cross-compiled binaries.
Note that versions that have a odd minor release number (the second number,
y, in x.y.z) are unstable
releases (like 1.5.2), while even minor release numbers (1.4.1) are stable
releases.
@set ANNOUNCE-ONLY
@include news.texi
@clear ANNOUNCE-ONLY

View file

@ -90,9 +90,9 @@ compile, and also when you install).
* Backend Bundles::
* Alternate Libraries::
* Alternate Thread Library::
* Warnings for #import::
* Cross-Compiling::
* Warnings for #import::
* Flat Structure::
* Cross-Compiling::
@end menu
@node Backend Bundles, Alternate Libraries, Configuration, Configuration
@ -116,10 +116,10 @@ You can specify compilation of alternate libraries by using the
with-library-combo option.
@example
./configure --with-library-combo=nx-gnu-gnu
./configure --with-library-combo=apple-gnu-gnu
@end example
to compile with Apple's (NexT's) runtime on Darwin, for example. See the DESIGN
to compile with Apple's runtime on Darwin, for example. See the DESIGN
document for more examples of the variety of library combos.
@node Alternate Thread Library, Warnings for #import, Alternate Libraries, Configuration
@ -143,23 +143,31 @@ to set compiler flags, use the CPPFLAGS variable when calling configure:
CPPFLAGS="-I/usr/local/include" ./configure --with-thread-lib="-L/usr/local/lib -lgthread -lglib"
@end example
@node Warnings for #import, Cross-Compiling, Alternate Thread Library, Configuration
@node Warnings for #import, Flat Structure, Alternate Thread Library, Configuration
@subsection Warnings for #import
Up until gcc 3.4, the #import directive was not implemented correctly.
As a result, the GCC compiler automatically
emitted a warning whenever #import was used. Because many users are
annoyed by these warnings and want to use #import (usually for
compatibility with other systems), gnustep-make can disable
these warnings:
@example
./configure --enable-import
@end example
emitted a warning whenever #import was used.
As of gcc 3.4, this problem has been fixed, so presumable, this warning
is no longer emitted when code is compiled.
is no longer emitted when code is compiled. If
you are using an early compiler, you can supress these warnings by adding
@code{-Wno-import} to @code{CPPFLAGS} in the config.make file.
@node Cross-Compiling, Flat Structure, Warnings for #import, Configuration
@subsection Configuring the GNUstep makefile package for a cross-compile target
@node Flat Structure, Cross-Compiling, Warnings for #import, Configuration
@subsection Configuring for a non-flattened structure
GNUstep is normally configured to support a single target/combo. If you are
interested in supporting more than one target and/or combo, it's possible to
configure GNUstep to use a non-'flattened' directory structure.
You do this by supplying the @code{--disable-flattened} argument to configure.
You might also want to supply the @code{--enable-multi-platform} option.
In a flattened structure, files are stored at the top-level rather than
in a @code{$(GNUSTEP_CPU)/$(GNUSTEP_OS)/$(LIBRARY_COMBO)} subdirectory.
@node Cross-Compiling, , Flat Structure, Configuration
@subsection Configuring for a cross-compile target
By default when you run configure, it assumes that you want to create
executables for the same host that you are compiling on; however, the
@ -177,35 +185,21 @@ platform for cross-compiling:
make install
@end example
Note that configuring and installing for a cross-compile target does
not eliminate or overwrite the files for any other targets that you
may have configured. So if you wish to setup the GNUstep makefile
package for multiple targets then just perform the above steps
multiple times.
GNUstep normally is configured to work with only one target. To work
with multiple targets, you'll need to add @code{--disable-flattened}
and @code{--enable-multi-platform} to the configure flags. Files for
the different targets will not be overwritten when you configure and install
the make package several times.
@example
./configure --target=i386-mingw32
./configure --disable-flattened --enable-multi-platform --target=i386-mingw32
make install
./configure --target=sparc-solaris2.5
./configure --disable-flattened --enable-multi-platform --target=sparc-solaris2.5
make install
./configure --target=alpha-linux-gnu
./configure --disable-flattened --enable-multi-platform --target=alpha-linux-gnu
make install
@end example
@node Flat Structure, , Cross-Compiling, Configuration
@subsection Configuring the GNUstep makefile package for a flattened structure
On systems where you know you are only interested in supporting a single
operating system, cpu type, and library combination, it's possible to
configure GNUstep to use a 'flattened' directory structure.
You do this by supplying the '--enable-flattened' argument to configure.
In a flattened structure, files are stored at the top-level rather than
in a @code{$(GNUSTEP_CPU)/$(GNUSTEP_OS)/$(LIBRARY_COMBO)} subdirectory.
You lose a lot of versatility with this layout, but it's simpler (less
intimidating) for naive users to handle.
@node Installation, Setup, Configuration, Top
@section Installation

View file

@ -9,6 +9,16 @@
The currently released version is @samp{@value{GNUSTEP-MAKE-VERSION}}.
@end ifclear
@section Changes in version @samp{1.9.1}
@itemize @bullet
@item Remove @code{--disable-import} option
@item README.Darwin for darwin/MacOSX install
@item Framework version and naming clarified.
@end itemize
@ifclear ANNOUNCE-ONLY
@section Changes in version @samp{1.9.0}
@itemize @bullet
@ -17,8 +27,6 @@ The currently released version is @samp{@value{GNUSTEP-MAKE-VERSION}}.
@item List of classes in a framework gets written to the plist file.
@end itemize
@ifclear ANNOUNCE-ONLY
@section Changes in version @samp{1.8.0}
Read the NEWS file for a complete list of changes since the last stable

View file

@ -23,10 +23,6 @@ Files in the @samp{Documentation} directory have information on the
design of the Makefile system and how to write your own makefiles that
work with it.
Note that releases numbers that have an odd minor version (e.g. 1.3.2)
are unstable releases. They are not as well tested as stable releases
(e.g. 1.4.1).
@section License
The GNUstep libraries are covered under the GNU Lesser Public License.

View file

@ -234,7 +234,9 @@ warning: using `#import' is not recommended
Up until gcc 3.4, the #import directive was not implemented correctly.
As a result, the GCC compiler automatically emitted a warning whenever
#import was used. As of gcc 3.4, this problem has been fixed, so
presumably, this warning is no longer emitted when code is compiled.
presumably, this warning is no longer emitted when code is compiled. If
you are using an early compiler, you can supress these warnings by adding
@code{-Wno-import} to your include (cpp) flags.
@c ****************************************************************
@node Compatibility and Layout, Troubleshooting, Compiling and Installing, Top

2
FAQ
View file

@ -1,7 +1,7 @@
GNUstep Frequently Asked Questions with Answers
***********************************************
Last updated 23 November 2003. Please send corrections to
Last updated 27 February 2004. Please send corrections to
<gnustep-maintainer@gnu.org>. Also look at the user FAQ for more user
oriented questions.

View file

@ -1,7 +1,7 @@
GNUstep HOWTO
*************
Last Update: 23 November 2003
Last Update: 27 February 2004
This document explains how to build the different components of the
GNUstep core libraries and GNUstep Launchpad.
@ -50,28 +50,17 @@ are required.
GPL. As a special exception, if used in GNUstep or in derivate
works of GNUstep, the included parts of ffcall are under GNU LGPL.
`libffi library (OPTIONAL)'
`libffi library (ALTERNATIVE RECOMMENDATION)'
This is a library that provides stack frame handling for
NSInvocation and NSConnection similar to ffcall. Use this instead
of ffcall. You don't need both.
`WindowMaker (Version >= 0.62) (OPTIONAL)'
GNUstep and WindowMaker work together to provide a consistant
interface. Although it is not required, GNUstep will work much
better if you use it with the WindowMaker window manager. In
addition, WindowMaker includes some functionality that GNUstep
uses that would otherwise not be available. Get WindowMaker from
<http://www.windowmaker.org>.
`libxml2 (RECOMMENDED)'
The libxml library (Version 2) is used to translate some of the
documentation for GNUstep and to provide suport for MacOS-X
compatible XML-based property-lists. It is recommended but not
currently required.
`The TIFF library (libtiff) (Version 3.4beta36 or greater) (REQUIRED)'
The GUI library uses this to handle loading and saving TIFF images.
`openssl (OPTIONAL)'
The openssl library is used to provide support for https
connections by the NSURL and HSURLHandle classes. This
@ -89,6 +78,21 @@ are required.
<http://clisp.cons.org/~haible/packages-libiconv.html>. However,
neither one is required to use GNUstep.
`The TIFF library (libtiff) (Version 3.4beta36 or greater) (REQUIRED)'
The GUI library uses this to handle loading and saving TIFF images.
`The JPEG library (libjpeg) (RECOMMENDED)'
The GUI library uses this to handle loading JPEG images.
`The PNG library (libpng) (RECOMMENDED)'
The GUI library uses this to handle loading PNG images.
`WindowMaker (Version >= 0.62) (OPTIONAL)'
GNUstep and WindowMaker work together to provide a consistant
interface. Although it is not required, GNUstep will work much
better if you use it with the WindowMaker window manager. Get
WindowMaker from <http://www.windowmaker.org>.
`gnustep-objc package (for gcc version < 3.0 ONLY) (RECOMMENDED)'
Note: Do not install this library unless you are sure you need it.
You probably don't need it except on MinGW. This is a special
@ -306,10 +310,12 @@ Usage is:
Machine Specific Instructions
*****************************
\input texinfo Below is a list of machines that people have
attempted to compile GNUstep on. GNUstep compiles with little or no
trouble on many of the more popular operating systems. Some machines
marked with _Unstable_ may have some trouble or may not work at all.
\input texinfo
Below is a list of machines that people have attempted to compile
GNUstep on. GNUstep compiles with little or no trouble on many of the
more popular operating systems. Some machines marked with _Unstable_
may have some trouble or may not work at all.
A recommended compiler is listed for each machine, if known. You
should try to use the recommended compiler for compiling GNUstep, as
@ -365,7 +371,7 @@ Darwin 6.x/PowerPC
==================
`Recommended compiler'
gcc 3.2.2
gcc 3.3.2. Older versions will not compile on Darwin.
Default compiler has some odd memory(?) related problems. Use the
GNU runtime. Download the gcc compiler and configure it with
@ -406,8 +412,47 @@ Debian/DEC-Alpha
Unknown
`Special Instructions'
None
Debian/i386
===========
Tested on sid.
`Recommended compiler'
Unknown
`Extra libs needed'
Unknown
`Special Instructions'
None
Debian/PowerPC
==============
Tested on sid.
`Recommended compiler'
Unknown
`Extra libs needed'
Unknown
`Special Instructions'
None
Debian/SPARC
============
Tested on sid.
`Recommended compiler'
Unknown
`Extra libs needed'
Unknown
`Special Instructions'
None
FreeBSD 4.x
===========
@ -488,16 +533,6 @@ FreeBSD 2.x (_Unstable!_)
FreeBSD 3.x. You need to use gmake not make to compile the
GNUstep packages.
GNU-Linux/PowerPC (LinuxPPC, Yellowdog)
=======================================
`Recommended compiler'
Standard
`Extra libs needed'
Standard (ffcall or libffi)
`Special Instructions'
Irix 6.5/MIPS
=============
@ -524,35 +559,23 @@ MkLinux/PowerPC (_Obsolete_)
This configuration is no longer being tested, but it may still work.
`Recommended compiler'
egcs-2.90.25 980302 (egcs-1.0.2 prerelease) which comes standard
with DR 3.
gcc 3.x allthough earlier ones should work if you also install
gnustep-objc
`Extra libs needed'
None.
`Special Instructions'
Comes with a good version of gcc. Seems to compile and install
ok, althouth DR3 has an old version of glibc, which requires some
workarounds which should be taken care of in the configuration.
Not completely tested, so some aspects, particular object
invocations and DO may not work properly.
DR3 comes with a good version of gcc. Seems to compile and
install ok, althouth DR3 has an old version of glibc, which
requires some workarounds which should be taken care of in the
configuration. Not completely tested, so some aspects, particular
object invocations and DO may not work properly.
If you want threads, you'll probably have to get the latest gcc
compiler and glibc library (which has the threads library) and
install both.
RedHat/Intel
============
`Recommended compiler'
Standard
`Extra libs needed'
Standard (ffcall or libffi)
`Special Instructions'
None
NetBSD
======
@ -609,6 +632,18 @@ OSF Alpha (_Unstable!_)
extra -lgnustep-gui in ADDTIONAL_TOOL_LIBS in the
GNUmakefile(.preamble).
RedHat/Intel
============
`Recommended compiler'
Standard
`Extra libs needed'
Standard (ffcall or libffi)
`Special Instructions'
None
Slackware/Intel
===============
@ -703,11 +738,13 @@ Suse 6.x/Intel
Suse/Intel
==========
GNUstep has been tested on version 7.0, 8.0, 8.1, and 8.2 of Suse
GNUstep has been tested on version 7.0, 8.0, 8.1, 8.2, and 9.0 of
Suse
`Recommended compiler'
Standard. gcc2.95.x, gcc3.0.x, 3.1 and 3.2 work, but 2.95 is
faster. Compile with -threads-enabled (non-standard).
The default compiler that comes with Susu is fine. Also gcc2.95.x,
gcc3.0.x, 3.1 and 3.2 work, but 2.95 is faster. Compile with
-threads-enabled (non-standard).
`Extra libs needed'
None
@ -718,7 +755,7 @@ Suse/Intel
Suse 7.x/PPC
============
GNUstep has been tested on version 7.0 of Suse
GNUstep has been tested on version 7.0 of Suse/PPC
`Recommended compiler'
Standard. gcc2.95.x, gcc3.0.x and gc3.1 work, but 2.95 is faster.
@ -825,13 +862,14 @@ Windows with CYGWIN (_Unstable!_)
gcc 2.95.3 (Cygwin release 1.1.8) or later
`Extra libs needed'
Objective-C library DLL (<ftp://ftp.gnustep.org/pub/gnustep/libs>)
for shared libs. It's a good idea to remove the libobjc.a that
comes with gcc (gcc -v for location) so that it isn't accidentally
found. For ffcall, you should get version 1.8b or above (the
earlier ones don't compile). There are still some problems with
structure passing, but that is generally not supportred on any
architecture. libffi not supported.
Objective-C library DLL
(<ftp://ftp.gnustep.org/pub/gnustep/windows/cygwin>) for shared
libs. It's a good idea to remove the libobjc.a that comes with gcc
(gcc -v for location) so that it isn't accidentally found. For
ffcall, you should get version 1.8b or above (the earlier ones
don't compile). There are still some problems with structure
passing, but that is generally not supportred on any architecture.
libffi also works.
`Special Instructions'
On later versions of Cygwin you may be required to include the
@ -858,6 +896,16 @@ Windows with MinGW (_Unstable! As always..._)
Win98 machines and earlier are very buggy and are not supported.
Native GUI backend is alpha version.
Yellowdog/PowerPC
=================
`Recommended compiler'
Standard
`Extra libs needed'
Standard (ffcall or libffi)
`Special Instructions'
Getting Libraries via Anonymous CVS
***********************************

75
INSTALL
View file

@ -89,10 +89,10 @@ Alternate Library Setup
You can specify compilation of alternate libraries by using the
with-library-combo option.
./configure --with-library-combo=nx-gnu-gnu
./configure --with-library-combo=apple-gnu-gnu
to compile with Apple's (NexT's) runtime on Darwin, for example. See
the DESIGN document for more examples of the variety of library combos.
to compile with Apple's runtime on Darwin, for example. See the
DESIGN document for more examples of the variety of library combos.
Alternate Thread Library
------------------------
@ -112,25 +112,31 @@ variable when calling configure:
CPPFLAGS="-I/usr/local/include" ./configure --with-thread-lib="-L/usr/local/lib -lgthread -lglib"
Warnings for deprecated #import
-------------------------------
Warnings for #import
--------------------
The #import directive, often found in legacy Objective-C code from
the NeXTstep era - and more recently on code from the Apple MacOS X
Cocoa environment - is deprecated. You should use #include instead
whenever possible, and even if you use #import, you should protect all
your headers against multiple inclusions. The GCC compiler
automatically emits a warning whenever you use #import. Because many
users are annoyed by these warnings and want to use #import (usually for
compatibility with other systems), gnustep-make can disable these
warnings:
./configure --enable-import
If you are a legacy or MacOS X user, and wonder why #import is
deprecated, please search the web and the GCC and GNUstep mailing list
archives - there are very precise and sound technical reasons.
Up until gcc 3.4, the #import directive was not implemented
correctly. As a result, the GCC compiler automatically emitted a
warning whenever #import was used. As of gcc 3.4, this problem has
been fixed, so presumable, this warning is no longer emitted when code
is compiled. If you are using an early compiler, you can supress these
warnings by adding `-Wno-import' to `CPPFLAGS' in the config.make file.
Configuring the GNUstep makefile package for a cross-compile target
-------------------------------------------------------------------
Configuring for a non-flattened structure
-----------------------------------------
GNUstep is normally configured to support a single target/combo. If
you are interested in supporting more than one target and/or combo,
it's possible to configure GNUstep to use a non-'flattened' directory
structure. You do this by supplying the `--disable-flattened' argument
to configure. You might also want to supply the
`--enable-multi-platform' option.
In a flattened structure, files are stored at the top-level rather
than in a `$(GNUSTEP_CPU)/$(GNUSTEP_OS)/$(LIBRARY_COMBO)' subdirectory.
Configuring for a cross-compile target
--------------------------------------
By default when you run configure, it assumes that you want to create
executables for the same host that you are compiling on; however, the
@ -146,32 +152,19 @@ platform for cross-compiling:
./configure --target=i386-mingw32
make install
Note that configuring and installing for a cross-compile target does
not eliminate or overwrite the files for any other targets that you may
have configured. So if you wish to setup the GNUstep makefile package
for multiple targets then just perform the above steps multiple times.
GNUstep normally is configured to work with only one target. To work
with multiple targets, you'll need to add `--disable-flattened' and
`--enable-multi-platform' to the configure flags. Files for the
different targets will not be overwritten when you configure and install
the make package several times.
./configure --target=i386-mingw32
./configure --disable-flattened --enable-multi-platform --target=i386-mingw32
make install
./configure --target=sparc-solaris2.5
./configure --disable-flattened --enable-multi-platform --target=sparc-solaris2.5
make install
./configure --target=alpha-linux-gnu
./configure --disable-flattened --enable-multi-platform --target=alpha-linux-gnu
make install
Configuring the GNUstep makefile package for a flattened structure
------------------------------------------------------------------
On systems where you know you are only interested in supporting a
single operating system, cpu type, and library combination, it's
possible to configure GNUstep to use a 'flattened' directory structure.
You do this by supplying the '-enable-flattened' argument to configure.
In a flattened structure, files are stored at the top-level rather
than in a `$(GNUSTEP_CPU)/$(GNUSTEP_OS)/$(LIBRARY_COMBO)' subdirectory.
You lose a lot of versatility with this layout, but it's simpler
(less intimidating) for naive users to handle.
Installation
============

13
NEWS
View file

@ -1,14 +1,23 @@
NEWS
****
The currently released version is `1.9.0'.
The currently released version is `1.9.1'.
Changes in version `1.9.1'
==========================
* Remove `--disable-import' option
* README.Darwin for darwin/MacOSX install
* Framework version and naming clarified.
Changes in version `1.9.0'
==========================
* Support for building in a separate build dir.
* Add -enable-string-makefiles option to configure
* Add `--enable-strip-makefiles' option to configure
* List of classes in a framework gets written to the plist file.

4
README
View file

@ -25,10 +25,6 @@ various machine specific READMEs in the Documentation directory.
design of the Makefile system and how to write your own makefiles that
work with it.
Note that releases numbers that have an odd minor version (e.g.
1.3.2) are unstable releases. They are not as well tested as stable
releases (e.g. 1.4.1).
License
=======

View file

@ -4,7 +4,7 @@
# The version number of this release.
GNUSTEP_MAKE_MAJOR_VERSION=1
GNUSTEP_MAKE_MINOR_VERSION=9
GNUSTEP_MAKE_SUBMINOR_VERSION=0
GNUSTEP_MAKE_SUBMINOR_VERSION=1
GNUSTEP_MAKE_VERSION=${GNUSTEP_MAKE_MAJOR_VERSION}.${GNUSTEP_MAKE_MINOR_VERSION}.${GNUSTEP_MAKE_SUBMINOR_VERSION}
VERSION=${GNUSTEP_MAKE_VERSION}