Updates for new release

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@40477 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
rfm 2017-04-14 09:44:34 +00:00
parent 6020c17320
commit 17006411e1
9 changed files with 306 additions and 332 deletions

View file

@ -1,7 +1,7 @@
1 Announcement
**************
The GNUstep Makefile Package version 2.6.8 is now available.
The GNUstep Makefile Package version 2.7.0 is now available.
1.1 What is the GNUstep makefile package?
=========================================
@ -12,34 +12,24 @@ 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.
1.2 Changes in version '2.6.8'
1.2 Changes in version '2.7.0'
==============================
Configure option '-with-library-combo=ng-gnu-gnu' to use the 'Next
Generation' setup of the latest ObjectiveC-2 runtime and compiler
features rather than traditional runtime. Requires the new runtime and
a recent clang compiler.
Garbage collection support removed
Command line option 'documentation=no' to suppress builds of
documentation.
ARC enabled by default if the ng runtime is used
Integration of testsuite for regression/unit testing of libraries
using the 'check' target. In your makefile define libraryname_TEST_DIR
= TestsSubdirectory
Multi-architecture directory layout adjusted to be more Debian
compatible
Various minor bugfixes, documentation spelling corrections etc.
Framework support fixes
The '-enable-strict-v2-mode' option is now, after eight years, turned
on by default (in anticipation of finally removing backward
compatibility with version one). WARNING; Packagers please ensure that
you update any old gnustep-make version one makefiles.
Garbage collection support to be removed at the next release.
Various other minor bugfixes
1.3 Obtaining gnustep-make
==========================
You can get the gstep-make-2.6.8.tar.gz distribution file at
You can get the gstep-make-2.7.0.tar.gz distribution file at
<ftp://ftp.gnustep.org/pub/gnustep/core>
Please log bug reports on the GNUstep project page

View file

@ -1,7 +1,19 @@
2017-04-14 Richard Frith-Macdonald <rfm@gnu.org>
* Version: 2.7.0 release
* Documentation/news.texi: 2.7.0 release
* Documentation/releasenotes.texi: 2.7.0 release
* ANNOUNCE:
* INSTALL:
* NEWS:
* README:
* RELEASENOTES:
Regenerate documentation
2017-04-07 Richard Frith-Macdonald <rfm@gnu.org>
* common.make: correct earlier change ... error pointed out by
Galen Rhodes as b ug #50751
Galen Rhodes as bug #50751
2016-11-22 Doug Simons <doug.simons@testplant.com>

View file

@ -9,6 +9,20 @@
The currently released version is @samp{@value{GNUSTEP-MAKE-VERSION}}.
@end ifclear
@section Changes in version @samp{2.7.0}
Garbage collection support removed
ARC enabled by default if the ng runtime is used
Multi-architecture directory layout adjusted to be more Debian compatible
Framework support fixes
Various other minor bugfixes
@ifclear ANNOUNCE-ONLY
@section Changes in version @samp{2.6.8}
Configure option '--with-library-combo=ng-gnu-gnu' to use the 'Next Generation' setup of the latest ObjectiveC-2 runtime and compiler features rather than traditional runtime. Requires the new runtime and a recent clang compiler.
@ -25,8 +39,6 @@ The '--enable-strict-v2-mode' option is now, after eight years, turned on by def
Garbage collection support to be removed at the next release.
@ifclear ANNOUNCE-ONLY
@section Changes in version @samp{2.6.7}
Improved package building support

View file

@ -19,6 +19,8 @@ multiarch support which puts headers in an architecture specific subdirectory.
The long since deprecated GNUSTEP_INSTALLATION_DIR is removed.
Various bugfixes and minor improvements.
@section Version 2.6.8
Configure option '--with-library-combo=ng-gnu-gnu' to use the 'Next Generation' setup of the latest ObjectiveC-2 runtime and compiler features rather than traditional runtime. Requires the new runtime and a recent clang compiler.

112
INSTALL
View file

@ -5,20 +5,20 @@
================
If you are installing this package as part of the GNUstep core
libraries, read the file GNUstep-HOWTO for more complete instructions
on how to install the entire GNUstep package (including this package).
libraries, read the file GNUstep-HOWTO for more complete instructions on
how to install the entire GNUstep package (including this package).
GNUstep-HOWTO comes with this distribution.
This should be the first GNUstep package you install. Before
This should be the first GNUstep package you install. Before
installing this package, install ffcall or libffi and any other
libraries that GNUstep may need (see the GNUstep-HOWTO). Read and
follow the instructions on setting up the GNUstep environement below.
Then install gnustep-base.
libraries that GNUstep may need (see the GNUstep-HOWTO). Read and follow
the instructions on setting up the GNUstep environement below. Then
install gnustep-base.
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>.
Quick installation instructions:
@ -48,16 +48,16 @@ filesystem layout).
=================
The GNUstep packages uses the Autoconf mechanism for configuration; it
checks some host capabilties which are used by all GNUstep software.
To configure just type:
checks some host capabilties which are used by all GNUstep software. To
configure just type:
./configure
The GNUstep makefile package needs to know which filesystem layout to
use when installing; this determines the way that various directories
in the GNUstep domains (SYSTEM, NETWORK, LOCAL, USER) are mapped to
local directories on disk. In the FilesystemLayouts/README file you
can find detailed information on filesystem layouts.
use when installing; this determines the way that various directories in
the GNUstep domains (SYSTEM, NETWORK, LOCAL, USER) are mapped to local
directories on disk. In the FilesystemLayouts/README file you can find
detailed information on filesystem layouts.
To specify a filesystem layout, use the -with-layout=xxx option. The
default is
@ -66,9 +66,9 @@ default is
which installs GNUstep in /usr/local using the FHS layout (that is,
/usr/local/bin, /usr/local/lib, etc). Another popular option is
'-with-layout=gnustep' which installs gnustep-make into a GNUstep
layout based on /usr/GNUstep (inside /usr/GNUstep/System,
/usr/GNUstep/Local). Check the FilesystemLayouts for more options.
'-with-layout=gnustep' which installs gnustep-make into a GNUstep layout
based on /usr/GNUstep (inside /usr/GNUstep/System, /usr/GNUstep/Local).
Check the FilesystemLayouts for more options.
If you want to install the same layout but in a different location
(for example, /opt/gnustep), you can use -prefix=xxx,
@ -76,9 +76,9 @@ layout based on /usr/GNUstep (inside /usr/GNUstep/System,
./configure --prefix=/opt/gnustep
If you're confused and want to see exactly what directories will be
used for a certain choice of ./configure flags, you can check the
output of ./configure or even have a look at the GNUstep.conf file that
is generated by ./configure. It will list the full paths to all the
used for a certain choice of ./configure flags, you can check the output
of ./configure or even have a look at the GNUstep.conf file that is
generated by ./configure. It will list the full paths to all the
relevant GNUstep directories that would be used if you install the
software with that configuration.
@ -87,11 +87,11 @@ software with that configuration.
./configure --help
Look particularly at the end of the list that configure gives, as
these options are specific to GNUstep. Some of these are described
these options are specific to GNUstep. Some of these are described
below.
With the GNUstep packages you can use various switches, such as
shared and debug, to control compilation. for example, "make shared=no
shared and debug, to control compilation. for example, "make shared=no
debug=yes" compiles using static libraries with debugging information.
(Make sure you use the same switches for every package you compile, and
also when you install).
@ -100,10 +100,10 @@ also when you install).
---------------------
By default, the gnustep-make package specifies that GUI backends are
built as a bundle and loaded in at runtime. This allows one to switch
backends by simply redefining a user default. If you do not want this
behavior (for instance, if bundles do not work on your platform), it
can be disabled using
built as a bundle and loaded in at runtime. This allows one to switch
backends by simply redefining a user default. If you do not want this
behavior (for instance, if bundles do not work on your platform), it can
be disabled using
--disable-backend-bundle
@ -117,7 +117,7 @@ with-library-combo option.
./configure --with-library-combo=apple-gnu-gnu
to compile with Apple's runtime on Darwin, for example. See the
to compile with Apple's runtime on Darwin, for example. See the
DESIGN document for more examples of the variety of library combos.
1.2.3 Alternate Thread Library
@ -129,11 +129,11 @@ library is) with the with-thread-lib option.
./configure --with-thread-lib="-L/usr/local/lib -lgthread -lglib"
to use libgthread as your threading library. Note that the
to use libgthread as your threading library. Note that the
Objective-C runtime (libobjc) must have a compatible threading backend
in order to use this threading library and you must set the appropriate
threading backend by hand in the GNUmakefile if you are using
gnustep-objc. If you also need to set compiler flags, use the CPPFLAGS
gnustep-objc. If you also need 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"
@ -141,15 +141,15 @@ variable when calling configure:
1.2.4 Configuring for a non-flattened structure
-----------------------------------------------
GNUstep is normally configured to support a single target/combo. If you
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
structure. You do this by supplying the '--disable-flattened' argument
to configure. You might also want to supply the
`--enable-multi-platform' option.
'--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.
than in a '$(GNUSTEP_CPU)/$(GNUSTEP_OS)/$(LIBRARY_COMBO)' subdirectory.
1.2.5 Configuring for a cross-compile target
--------------------------------------------
@ -159,18 +159,18 @@ executables for the same host that you are compiling on; however, the
GNUstep makefile package has been designed to support cross-compiling
just as easily as normal compiling. In order to add a cross-compile
target to the GNUstep makefile package, you must rerun configure for
that target and reinstall the makefile package. By rerunning
configure, the appropriate target settings are determined, and
reinstalling the makefile package installs the appropriate files for
that target. The target parameter is used to specify the target
platform for cross-compiling:
that target and reinstall the makefile package. By rerunning configure,
the appropriate target settings are determined, and reinstalling the
makefile package installs the appropriate files for that target. The
target parameter is used to specify the target platform for
cross-compiling:
./configure --target=i386-mingw32
make install
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
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.
@ -219,8 +219,8 @@ shell/linker.
precise simplified instructions for your layout.
In general, you need to your GNUSTEP_SYSTEM_TOOLS,
GNUSTEP_NETWORK_TOOLS and GNUSTEP_LOCAL_TOOLS to your PATH, and add
your GNUSTEP_SYSTEM_LIBRARIES, GNUSTEP_NETWORK_LIBRARIES and
GNUSTEP_NETWORK_TOOLS and GNUSTEP_LOCAL_TOOLS to your PATH, and add your
GNUSTEP_SYSTEM_LIBRARIES, GNUSTEP_NETWORK_LIBRARIES and
GNUSTEP_LOCAL_LIBRARIES to your linker paths (which is /etc/ld.so.conf
on GNU/Linux).
@ -245,13 +245,13 @@ sourcing the GNUstep.sh file.
. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
(change the path to be the path to your GNUstep.sh file on disk.
Common cases include /usr/GNUstep/System/Library/Libraries/Makefiles
and /usr/local/share/GNUstep/Makefiles)
Common cases include /usr/GNUstep/System/Library/Libraries/Makefiles and
/usr/local/share/GNUstep/Makefiles)
You can run this command in your shell every time, or you may want to
add the command to your shell startup scripts - either the ones for
your own user (for example, `.bash_profile' for Bash) or the ones for
the whole system (for example, `/etc/profile' on GNU/Linux).
add the command to your shell startup scripts - either the ones for your
own user (for example, '.bash_profile' for Bash) or the ones for the
whole system (for example, '/etc/profile' on GNU/Linux).
Please note that you need to execute this command both to build
software using gnustep-make and to run software installed by
@ -289,25 +289,25 @@ instead of ~/GNUstep:
(Advanced configuration)
You can install gnustep-make multiple times in different directories
by using a different config file for each. But if you do, then you
must make sure that you can easily switch the operating system paths
from one installation to the other. An easy way to do this is to
configure your GNUstep by using GNUstep.sh as explained in the
non-flattened instructions.
by using a different config file for each. But if you do, then you must
make sure that you can easily switch the operating system paths from one
installation to the other. An easy way to do this is to configure your
GNUstep by using GNUstep.sh as explained in the non-flattened
instructions.
Your default gnustep-make installation is the one described in the
default GNUstep.conf file for the system; on GNU/Linux this is
`/etc/GNUstep/GNUstep.conf'. You can create a second one that uses a
'/etc/GNUstep/GNUstep.conf'. You can create a second one that uses a
different config file; for example:
./configure --prefix=/opt/mytest --with-config-file=/etc/GNUstep-mytest.conf --with-layout=gnustep
When you install, this second instance of gnustep-make will reside in
`/opt/mytest', and have `/etc/GNUstep-mytest.conf' as config file.
'/opt/mytest', and have '/etc/GNUstep-mytest.conf' as config file.
To use this second installation instead of the first one, you only
need to set the GNUSTEP_CONFIG_FILE variable to point to the next
config file and source GNUstep.sh:
need to set the GNUSTEP_CONFIG_FILE variable to point to the next config
file and source GNUstep.sh:
export GNUSTEP_CONFIG_FILE=/etc/GNUstep-mytest.conf
. /opt/mytest/System/Library/Makefies/GNUstep.sh

391
NEWS
View file

@ -1,9 +1,51 @@
1 NEWS
******
The currently released version is `2.6.7'.
The currently released version is '2.7.0'.
1.1 Changes in version `2.6.7'
1.1 Changes in version '2.7.0'
==============================
Garbage collection support removed
ARC enabled by default if the ng runtime is used
Multi-architecture directory layout adjusted to be more Debian
compatible
Framework support fixes
Various other minor bugfixes
1.2 Changes in version '2.6.8'
==============================
Configure option '-with-library-combo=ng-gnu-gnu' to use the 'Next
Generation' setup of the latest ObjectiveC-2 runtime and compiler
features rather than traditional runtime. Requires the new runtime and
a recent clang compiler.
With the 'ng' runtime in use, you can define GS_WITH_ARC=1 at the
start of a makefile, or in your environment, or in the command line
arguments to have objC code built using ARC.
Command line option 'documentation=no' to suppress builds of
documentation.
Integration of testsuite for regression/unit testing of libraries
using the 'check' target. In your makefile define libraryname_TEST_DIR
= TestsSubdirectory
Various minor bugfixes, documentation spelling corrections etc.
The '-enable-strict-v2-mode' option is now, after eight years, turned
on by default (in anticipation of finally removing backward
compatibility with version one). WARNING; Packagers please ensure that
you update any old gnustep-make version one makefiles.
Garbage collection support to be removed at the next release.
1.3 Changes in version '2.6.7'
==============================
Improved package building support
@ -14,14 +56,14 @@ Improved package building support
Various minor bugfixes, documentation spelling corrections etc.
1.2 Changes in version `2.6.6'
1.4 Changes in version '2.6.6'
==============================
Debian packaging support
Minor bugfixes.
1.3 Changes in version `2.6.5'
1.5 Changes in version '2.6.5'
==============================
Bugfix for non-fragile ABI test
@ -32,154 +74,124 @@ Bugfix for non-fragile ABI test
Added minimal test support for .c and .cc files.
1.4 Changes in version `2.6.4'
1.6 Changes in version '2.6.4'
==============================
Test framework extended equality tests.
Android build target
1.5 Changes in version `2.6.3'
1.7 Changes in version '2.6.3'
==============================
Minor bugfix release.
1.6 Changes in version `2.6.2'
1.8 Changes in version '2.6.2'
==============================
Added standalone filesystem layout for putting everything in one
directory for easy deployment of relocatable. Other bug fixes.
directory for easy deployment of relocatable. Other bug fixes.
1.7 Changes in version `2.6.1'
1.9 Changes in version '2.6.1'
==============================
Bug fix release. Most notably to fix a problem compiling GNUstep with
Bug fix release. Most notably to fix a problem compiling GNUstep with
clang.
1.8 Changes in version `2.6.0'
==============================
1.10 Changes in version '2.6.0'
===============================
* The default filesystem layout is now the 'fhs' layout
* The default location of the configuration file changed when not
installing system-wide
* Removed the -with-system-root, -with-local-root and
-with-network-root options
* Removed obsolete variables (deprecated 4 years ago).
* A new test framework is included in the pacakge
* objc.make deprecated. Use tool.make instead
* objc.make deprecated. Use tool.make instead
* -enable-absolute-install-paths is now the default on Darwin
1.9 Changes in version `2.4.0'
==============================
1.11 Changes in version '2.4.0'
===============================
* Add -enable-objc-nonfragile-abi flag
* New serial-subdirectories.make and parallel-subdirectories.make.
* Support for parallel building of subdirectories.
* Support for parallel building of different instances.
* Support source files in subdirectories without using a subproject.
* Support header files in sub-subdirectories.
* Batch-compile Java files (much faster).
* Changed default compilation flags to -O2 -g.
* Fixes for building documentation.
* Renamed info files to prevent conflicts.
* Updated cygwin support.
1.10 Changes in version `2.2.0'
1.12 Changes in version '2.2.0'
===============================
* New -with-objc-lib-flag for specifying libobjc.
* Automatically uses -lobjc_gc with configured with garbage
collection
* Parallel building supported using e.g. make -j 2
* Parallel building supported using e.g. make -j 2
* Use install -p if available.
* make uninstall works better now.
1.11 Changes in version `2.0.8'
1.13 Changes in version '2.0.8'
===============================
Minor bug fix to deal with installing in different domains
1.12 Changes in version `2.0.7'
1.14 Changes in version '2.0.7'
===============================
* New configuration file to set default installation
* gnustep-make now uses the -no-print-directory flag when invoking
make
* Files make have same name but different extensions (.c and .m)
* Change in path checking algorithm in GNUstep.sh and GNUstep.csh
* Test applications linked against gnustep-gui by default
1.13 Changes in version `2.0.6'
1.15 Changes in version '2.0.6'
===============================
* Fixed some spurious rebuilds of plists, and framework headers.
* Added the -enable-absolute-install-paths option for Darwin systems.
* Install GNUstep.conf in /etc/GNUstep/GNUstep.conf on all systems.
1.14 Changes in version `2.0.5'
1.16 Changes in version '2.0.5'
===============================
* Update C++ and ObjC++ support so that g++ and proper flags are
automatically used.
* Added a new filesystem layout for Apple Mac OS X and use this by
default on this system.
* NEEDS_GUI variable added to determine linking behavior against gui
library.
* New option -enable-strict-v2-mode to test for obsolete variables.
* ~/GNUstep/GNUstep.sh is no longer sourced.
1.15 Changes in version `2.0.4'
1.17 Changes in version '2.0.4'
===============================
Fixed a bug finding relative paths on Windows (during configuration).
1.16 Changes in version `2.0.3'
1.18 Changes in version '2.0.3'
===============================
New man pages for tools. Better uninstallation of files Add Windows
New man pages for tools. Better uninstallation of files Add Windows
installer makefile for Applications.
1.17 Changes in version `2.0.2'
1.19 Changes in version '2.0.2'
===============================
Update license to GPLv3.
1.18 Changes in version `2.0.1'
1.20 Changes in version '2.0.1'
===============================
Bug fixes in filesystem layout and framework installation.
1.19 Changes in version `2.0.0'
1.21 Changes in version '2.0.0'
===============================
The Makefile package has had a major makover which befits a major
@ -189,138 +201,123 @@ any of many typical filesystem layouts, including FHS, Mac, and the
traditional GNUstep layout.
Due to this change a number of variable names have been changed or
deprecated. If you are a developer maintaining makefiles, you should
check your makefiles for these variables. Most notibly, variables such
as `GNUSTEP_SYSTEM_ROOT' no longer make any sense, as various
deprecated. If you are a developer maintaining makefiles, you should
check your makefiles for these variables. Most notibly, variables such
as 'GNUSTEP_SYSTEM_ROOT' no longer make any sense, as various
directories that were previously in a traditional GNUstep system root
directory exist accross multiple directories in disparate places in
other filesystem layouts.
If you are a user or developer that is just installing GNUstep, read
the `GNUstep-HOWTO' and `INSTALL' documents to find out new information
the 'GNUstep-HOWTO' and 'INSTALL' documents to find out new information
about configuring and installing make.
If you are a developer, read the files `filesystem' and `make' for
information on new and changed variables. Read the `RELEASENOTES' file
If you are a developer, read the files 'filesystem' and 'make' for
information on new and changed variables. Read the 'RELEASENOTES' file
for specific changes in this release and updates you will need to make
with this version of make.
Various changes include (See `RELEASENOTES' for more information):
* New configure option `--with-layout' to choose different
filesystem layouts.
Various changes include (See 'RELEASENOTES' for more information):
* All applications use the `.app' extension even when compiled with
* New configure option '--with-layout' to choose different filesystem
layouts.
* All applications use the '.app' extension even when compiled with
debugging or profiling.
* Precompiled header support added using
xxx_OBJC_PRECOMPILED_HEADERS.
* gnustep-config is a program which prints out information on the
GNUstep filesystem and variables (Similar to programs like
pkg-config).
* Better inline messages/help, including printing the version of
gnustep-make that is being used
* Applications can be started now just using their name (by
installing a wrapper in the tools directory).
* Versioning of Microsoft Windows DLLs implemented.
* Use of `GNUSTEP_SYSTEM_ROOT' and similar variables deprecated.
* Implement use of GNU standard `DESTDIR' variable.
* Object files are now placed in the `obj' directory.
* Use of 'GNUSTEP_SYSTEM_ROOT' and similar variables deprecated.
* Implement use of GNU standard 'DESTDIR' variable.
* Object files are now placed in the 'obj' directory.
* Static and profile libraries have the same name as normal
libraries.
* Support for Admin Tools and Admin Apps directories
* RPM support rewritten
* Microsoft Windows support updated and extended
* Easy consistent way to link non-installed frameworks by using
-Lpath_to_framework/xxx.framework/$GNUSTEP_TARGET_LDIR
* Versioning of library resources
* Fixed rebuilding .plist and .palette files
1.20 Changes in version `1.13.0'
1.22 Changes in version '1.13.0'
================================
Debug libraries now have the same name as normal libraries (i.e. no "_d"
suffix). This reduces the possiblity of multiple libraries being loaded
into the same executable.
Debug libraries now have the same name as normal libraries (i.e. no
"_d" suffix). This reduces the possiblity of multiple libraries being
loaded into the same executable.
Added dragonfly OS to make targets.
Spaces and backslashes are no longer allowed in paths used by the
make package (e.g. with Windows OS). The libraries can still use native
make package (e.g. with Windows OS). The libraries can still use native
paths.
1.21 Changes in version `1.12.0'
1.23 Changes in version '1.12.0'
================================
Minor fixes.
1.22 Changes in version `1.11.2'
1.24 Changes in version '1.11.2'
================================
The `GNUstep.conf' file is now viewed as the essential determination of
The 'GNUstep.conf' file is now viewed as the essential determination of
the install location for GNUstep libraries, tools and other files.
During configuration, this file is read, if it exists, to determine
this information. This can still be overriden with environment and
command line options, however. See the filesystem documentation in the
GNUstep Make Documentation directory for more information.
During configuration, this file is read, if it exists, to determine this
information. This can still be overriden with environment and command
line options, however. See the filesystem documentation in the GNUstep
Make Documentation directory for more information.
You no longer need to source GNUstep.sh in order to compile GNUstep
programs. All that is needed is the definition of GNUSTEP_MAKEFILES.
programs. All that is needed is the definition of GNUSTEP_MAKEFILES.
You should also have the GNUstep system tools directory in your path.
All netbsd systems are assumed to use ELF libraries. Support for the
All netbsd systems are assumed to use ELF libraries. Support for the
old static libs version of netbsd was removed.
Serveral new options were added to configure to change the location
of basic dir locations and basic configuration files. Also, the help was
greatly improved. Note that -prefix=/usr/GNUstep/System no longer
of basic dir locations and basic configuration files. Also, the help
was greatly improved. Note that -prefix=/usr/GNUstep/System no longer
works. Please use -prefix=/usr/GNUstep or
-with-system-root=/usr/GNUstep/System.
A few more fixes for cygwin are included as well as Windows resource
rules.
Support for ObjC++ has been added. You should list the ObjC++ .mm
Support for ObjC++ has been added. You should list the ObjC++ .mm
files in the xxx_OBJCC_FILES variable, and put extra ObjC++ flags in
xxx_OBJCCFLAGS or ADDITIONAL_OBJCCFLAGS.
1.23 Changes in version `1.11.1'
1.25 Changes in version '1.11.1'
================================
Part of the previous change was reversed. Now libobjc is still linked
Part of the previous change was reversed. Now libobjc is still linked
with individual applications (as well as the base library), since some
operating systems require this to resolve external symbols. However,
operating systems require this to resolve external symbols. However,
there is no need to recompile all applications again.
Compilation of GNUstep on cygwin was revampled and fixed due to a
lot of work by Tom MacSween.
Compilation of GNUstep on cygwin was revampled and fixed due to a lot
of work by Tom MacSween.
1.24 Changes in version `1.11.0'
1.26 Changes in version '1.11.0'
================================
NOTE: The libobjc library is now linked in with the base library and
NOT with individual applications or tools (except on MingW). This
requires that you do a complete rebuild of all libraries, tools and
apps when switching to this new version.
NOTE: The libobjc library is now linked in with the base library and NOT
with individual applications or tools (except on MingW). This requires
that you do a complete rebuild of all libraries, tools and apps when
switching to this new version.
* New rules for building and using DLLs were implemented. Now gcc
* New rules for building and using DLLs were implemented. Now gcc
and other tricks are used to properly export symbols, so no .def
file should be needed.
* The GNUsteprc file in $GNUSTEP_SYSTEM_ROOT is deprecated. See the
* The GNUsteprc file in $GNUSTEP_SYSTEM_ROOT is deprecated. See the
new GNUstep.conf file (which is not installed by default).
* Psuedo-framwork support was implemented on MingW. This essentially
@ -330,319 +327,261 @@ apps when switching to this new version.
* Support for xxx_WINDRES_FILES on MinGW was implemented.
1.25 Changes in version `1.10.0'
1.27 Changes in version '1.10.0'
================================
* a GNUsteprc file is now automatically created and installed in
$GNUSTEP_SYSTEM_ROOT, which sets the system-wide default for the
user root directory (default=~/GNUstep, which can be overriden
with the `--with-user-root' argument to configure, or by modifying
user root directory (default=~/GNUstep, which can be overriden with
the '--with-user-root' argument to configure, or by modifying
GNUsteprc after configuration.)
* make_services is not run by GNUstep.sh anymore. You must run this
* make_services is not run by GNUstep.sh anymore. You must run this
manually now (see the gnustep-gui documentation).
* Palettes use a plist instead of a strings format file now for the
palette.table file.
* You can use the `--enable-native-objc-exceptions' argument to
* You can use the '--enable-native-objc-exceptions' argument to
configure to enable use of built in objc exceptions with compilers
that support it.
1.26 Changes in version `1.9.2'
1.28 Changes in version '1.9.2'
===============================
* Application and Bundles use the latest convention on Apple.
* Improve/Simplify dependency checking when making docs
1.27 Changes in version `1.9.1'
1.29 Changes in version '1.9.1'
===============================
* Remove `--disable-import' option
* Remove '--disable-import' option
* README.Darwin for darwin/MacOSX install
* Framework version and naming clarified.
1.28 Changes in version `1.9.0'
1.30 Changes in version '1.9.0'
===============================
* Support for building in a separate build dir.
* Add `--enable-strip-makefiles' option to configure
* Add '--enable-strip-makefiles' option to configure
* List of classes in a framework gets written to the plist file.
1.29 Changes in version `1.8.0'
1.31 Changes in version '1.8.0'
===============================
Read the NEWS file for a complete list of changes since the last stable
release. The major difference from 1.6.0 is that the locations of
certain directories have changed. Generally this will not cause a
release. The major difference from 1.6.0 is that the locations of
certain directories have changed. Generally this will not cause a
problem unless your GNUstep directory is shared by multiple machines
running this and earlier (1.6.x) versions of the software.
1.30 Changes in version `1.7.4'
1.32 Changes in version '1.7.4'
===============================
Bug fixes.
1.31 Changes in version `1.7.3'
1.33 Changes in version '1.7.3'
===============================
* Adds library combo to Headers directory if not flattened.
* Add Markup file (Renaissance) support.
1.32 Changes in version `1.7.2'
1.34 Changes in version '1.7.2'
===============================
-enable-flattened (Flat directory structure) is on by default.
* On WIN32 use HOMEPATH in preference to USERPROFILE
* netbsd and openbsd compile fixes.
1.33 Changes in version `1.7.1'
1.35 Changes in version '1.7.1'
===============================
Bug fixes.
1.34 Changes in version `1.7.0'
1.36 Changes in version '1.7.0'
===============================
This version contains a major change in the location of certain
directories and installed files as detailed in the `filesystem.texi'
document. When installing this version for the first time, all old
directories and installed files as detailed in the 'filesystem.texi'
document. When installing this version for the first time, all old
directories and files in those directories will be moved to the new
locations automatically. However, you should update all GNUstep versions
on any machine you have them installed on in order to avoid any
locations automatically. However, you should update all GNUstep
versions on any machine you have them installed on in order to avoid any
incompatibilities.
Other changes:
* Support for preprocessed Info.plists.
1.35 Changes in version `1.6.0'
1.37 Changes in version '1.6.0'
===============================
Make now configures by default for only one system. To compile and run
Make now configures by default for only one system. To compile and run
GNUstep for multiple platforms from the same directory, use the
configure argument -enable-multi-platform.
* Auto-build def file for DLLs
* Work natively on MacOSX systems. Now use apple-apple-apple instead
* Work natively on MacOSX systems. Now use apple-apple-apple instead
of nx-nx-nx on OSX systems.
* More efficient checks for re-making a project.
1.36 Changes in version `1.5.1'
1.38 Changes in version '1.5.1'
===============================
* Framework support rewritten, also supports multiple names.
* API change: Replace frameowork's xxx_TOOLS by xxx_COPY_INTO_DIR.
* Unified link commands between libraries and frameworks
(LIB_LINK_*).
* New 'make strings' target for localization support.
* Speed improvements.
* Doesn't try to build OSX bundle on GNUstep and vice versa.
* API change: Tools/Subproj can have resources.
* API change: TOOL_INSTALL_DIR.
1.37 Changes in version `1.5.0'
1.39 Changes in version '1.5.0'
===============================
* Add NetBSD Elf support
1.38 Changes in version `1.4.0'
1.40 Changes in version '1.4.0'
===============================
* Update Darwin/GNU gcc and Irix targets
1.39 Changes in version `1.3.4'
1.41 Changes in version '1.3.4'
===============================
This is a first prerelease version for 1.4.
* Use gnugc-gnu-gnu library combo for garbage collecting version.
* Add support for -library-combo in opentool
* Change GNUSTEP_PATHPREFIX_LIST to GNUSTEP_PATHLIST
* Add verbosity levels. Use make messages=yes for full messages.
* Change GNUSTEP_PATHPREFIX_LIST to GNUSTEP_PATHLIST
* Add verbosity levels. Use make messages=yes for full messages.
1.40 Changes in version `1.3.3'
1.42 Changes in version '1.3.3'
===============================
* Recognizes XXX_STANDARD_INSTALL=no to not do installation.
* Updated instructions for MingW/MSYS installation.
1.41 Changes in version `1.3.2'
1.43 Changes in version '1.3.2'
===============================
* Instructions for building on Windows with MSYS
* Resolve library dependencies better on Windows
* Fix frameworks in RPMs and DEBs
* Continued reorganization.
1.42 Changes in version `1.3.0'
1.44 Changes in version '1.3.0'
===============================
The package has gone through an extensive reorganization to break up
each sub-make into two separate components. This allows for much
simplified code and lots of code sharing between components. As a side
each sub-make into two separate components. This allows for much
simplified code and lots of code sharing between components. As a side
effect, it also increased the speed of the code by at least a factor of
2.
* Force shared=yes for cygwin and mingw
* Bundles copy resources from subprojects.
* Better resource management. Resources handled accross all project
* Better resource management. Resources handled accross all project
types.
* Simplified and fixed user root location between make and base
libraries.
* Changed Apps directory to Applications
* Fixes for MacOSX, MingW
1.43 Changes in version `1.2.1'
1.45 Changes in version '1.2.1'
===============================
* the source distribution code has been rewritten to be more general
and extended. Packages built using gnustep-make now automatically
have handy targets building tarballs from sources or from CVS
imports.
* implemented support for auto-dependencies, which means that any
object file automatically depends on all the header files which
were used to build it. Only works with newer compilers.
* implemented INSTALL_AS_USER and INSTALL_AS_GROUP.
* implemented a strip=yes option.
* various bug fixes and minor improvements.
1.44 Changes in version `1.2.0'
1.46 Changes in version '1.2.0'
===============================
* The core rules and internals of gnustep-make have been
fundamentally redesigned and rewritten. notably, gnustep-make now
works using only a single recursive sub-make invocation rather
than two, which makes it consistently faster and simpler in all
works using only a single recursive sub-make invocation rather than
two, which makes it consistently faster and simpler in all
circumstances.
* The clean rules have been heavily optimized - they no longer use
recursive sub-make invocations at all and so they are really fast.
* Many improvements to java support. Optimized management of nested
* Many improvements to java support. Optimized management of nested
classes
* Better conformance to make conventions.
* File specific compilation flags
* Fixed darwin support
* Support for C++ files.
* Made use of library installation dir consistent with other
installation.
* Much improved Windows path support
1.45 Changes in version `1.0.1'
1.47 Changes in version '1.0.1'
===============================
* Support for Java tools.
* Build GUI backend as a bundle (default).
* Remove backend part of LIBRARY_COMBO.
* Fixes to run on FreeBSD, Solaris.
1.46 Changes in version `1.0.0'
1.48 Changes in version '1.0.0'
===============================
* Optimizations that in many cases more than double the speed.
* Added preliminary darwin support.
* rpm packeing improvements.
* Better checking for mingw and cygwin
1.47 Changes in version `0.9.2'
1.49 Changes in version '0.9.2'
===============================
* HOWTO and faq files moved from core package to here
* Configurable GNUSTEP_LOCAL_ROOT and GNUSTEP_NETWORK_ROOT
1.48 Changes in version `0.9.1'
1.50 Changes in version '0.9.1'
===============================
Make has been reoganized so that it only relies on libraries and other
things that are necessary for the Makefile package itself. Any
things that are necessary for the Makefile package itself. Any
libraries wanting to add extra package information can do so by
installing a make stub in the `Additional' directory. This greatly
installing a make stub in the 'Additional' directory. This greatly
simplifies compilation and packaging.
* Javadoc support added.
* debian directory added for dpkg
* RPM support rewritten from scratch.
1.49 Changes in version `0.9.0'
1.51 Changes in version '0.9.0'
===============================
ffcall library is highly recommended for use with the GNUstep base
library. You need to have installed it prior to configuring the Makefile
package. See the INSTALL file.
library. You need to have installed it prior to configuring the
Makefile package. See the INSTALL file.
* Support for automatically generating RPM spec files.
* Build suitable files for MacOS bundles
* Add option for flattened directory structure.
* LaText documentation support.
* Added support for Frameworks
1.50 Noteworthy changes in version `0.6.6'
1.52 Noteworthy changes in version '0.6.6'
==========================================
The GNUstep system libraries are now installed in a separate system root
directory (default /usr/GNUstep/System) rather than the GNUstep root
directory (default /usr/GNUstep). You can revert to the old behavior
using a configure option `--without-system-root'. We also recommend
directory (default /usr/GNUstep). You can revert to the old behavior
using a configure option '--without-system-root'. We also recommend
removing any previous GNUstep versions before installing the new one in
order to avoid problems with the system finding the correct binary
and/or library.
* Support for Windows compilation (cygwin and mingw) and DLL creation
and usage.
* Java support rewritten and extended.

19
README
View file

@ -15,27 +15,27 @@ the user to easily create cross-compiled binaries.
1.2 Information
===============
The file `NEWS' has this packages feature history.
The file 'NEWS' has this packages feature history.
The files `INSTALL' or `GNUstep-HOWTO' give instructions for
installing the packages. Also see the `machines' documentation and
The files 'INSTALL' or 'GNUstep-HOWTO' give instructions for
installing the packages. Also see the 'machines' documentation and
various machine specific READMEs in the Documentation directory.
Files in the `Documentation' directory have information on the
design of the Makefile system and how to write your own makefiles that
work with it.
Files in the 'Documentation' directory have information on the design
of the Makefile system and how to write your own makefiles that work
with it.
1.3 License
===========
The GNUstep libraries 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 with your program, you
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.
available. You should read the COPYING.LIB file for more information.
GNUstep tools, test programs, and other files are covered under the
GNU General Public License. The GNU GPL is a free software license,
GNU General Public License. The GNU GPL is a free software license,
which requires that all the released improved versions be free software
as well. You should read the COPYING file for more information.
@ -64,4 +64,3 @@ more effective.
* Give us feedback! Tell us what you like; tell us what you think
could be better. Send bug reports to <bug-gnustep@gnu.org>.

View file

@ -5,7 +5,27 @@ The release notes include descriptions of API changes, behavior changes
and other information that might help developers and users migrate to
using a newer version of the make system.
1.1 Version 2.6.8
1.1 Version 2.7.0
=================
When building non-flattened, 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).
When building non-flattened, header files are now installed in an
architecture and library-combo dependent subdirectory in the same way
that binary libraries are installed. This removes an inconsistency and
makes sense with Debian multiarch support which puts headers in an
architecture specific subdirectory.
The long since deprecated GNUSTEP_INSTALLATION_DIR is removed.
Various bugfixes and minor improvements.
1.2 Version 2.6.8
=================
Configure option '-with-library-combo=ng-gnu-gnu' to use the 'Next
@ -33,7 +53,7 @@ you update any old gnustep-make version one makefiles.
Garbage collection support to be removed at the next release.
1.2 Version 2.6.7
1.3 Version 2.6.7
=================
Improved package building support
@ -44,14 +64,14 @@ Improved package building support
Various minor bugfixes, documentation spelling corrections etc.
1.3 Version 2.6.6
1.4 Version 2.6.6
=================
Debian packagge generation support added.
Bug fixes
1.4 Version 2.6.5
1.5 Version 2.6.5
=================
Bugfix for non-fragile ABI test
@ -62,19 +82,19 @@ Bugfix for non-fragile ABI test
Added minimal test support for .c and .cc files.
1.5 Version 2.6.4
1.6 Version 2.6.4
=================
Test framework enhancement (extended equality tests)
Android build target
1.6 Version 2.6.3
1.7 Version 2.6.3
=================
Bug fixes
1.7 Version 2.6.2
1.8 Version 2.6.2
=================
'Added standalone filesystem layout for putting everything in'
@ -82,13 +102,13 @@ Bug fixes
'Other bug fixes'
1.8 Version 2.6.1
1.9 Version 2.6.1
=================
Bug fixes
1.9 Version 2.6.0
=================
1.10 Version 2.6.0
==================
'The default filesystem layout is now the 'fhs' layout'
Before version 2.6.0, the default filesystem layout was the
@ -164,7 +184,7 @@ Bug fixes
This makes it easier to use GNUstep with the gnu-gnu-gnu library
combo on Apple Mac OS X.
1.10 Version 2.4.0
1.11 Version 2.4.0
==================
'You can enable the use of the non-fragile ivar ABI'
@ -410,7 +430,7 @@ Bug fixes
on all gnustep-make versions that support library resources (ie,
gnustep-make >= 2.0.x).
1.11 Version 2.2.0
1.12 Version 2.2.0
==================
'libobjc library'
@ -435,7 +455,7 @@ Bug fixes
resources, which means that 'make uninstall' will do a better job
at removing directories that were created during by 'make install'.
1.12 Version 2.0.7
1.13 Version 2.0.7
==================
'default installation'
@ -476,7 +496,7 @@ Bug fixes
test-application.make) are now linked against gnustep-gui by
default.
1.13 Version 2.0.6
1.14 Version 2.0.6
==================
'GNUSTEP_ABSOLUTE_INSTALL_PATHS'
@ -503,7 +523,7 @@ Bug fixes
the moment is not automatically installed unless you explicitly go
in that subdirectory and install it.
1.14 Version 2.0.5
1.15 Version 2.0.5
==================
'default filesystem layout on apple-apple-apple'
@ -547,7 +567,7 @@ Bug fixes
overridden for specific project targets by using the xxx_NEEDS_GUI
variable (see above).
1.15 Version 2.0.0
1.16 Version 2.0.0
==================
Version 2.0.0 is a new major release of gnustep-make which includes a

View file

@ -3,7 +3,7 @@
# The version number of this release.
GNUSTEP_MAKE_MAJOR_VERSION=2
GNUSTEP_MAKE_MINOR_VERSION=6
GNUSTEP_MAKE_SUBMINOR_VERSION=8
GNUSTEP_MAKE_MINOR_VERSION=7
GNUSTEP_MAKE_SUBMINOR_VERSION=0
GNUSTEP_MAKE_VERSION=${GNUSTEP_MAKE_MAJOR_VERSION}.${GNUSTEP_MAKE_MINOR_VERSION}.${GNUSTEP_MAKE_SUBMINOR_VERSION}