2007-04-11 22:35:22 +00:00
|
|
|
@chapter GNUstep Make Release Notes
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
2008-01-14 13:04:47 +00:00
|
|
|
@section Version 2.0.5
|
|
|
|
|
|
|
|
@table @samp
|
|
|
|
|
2008-03-02 18:37:50 +00:00
|
|
|
@item default filesystem layout on apple-apple-apple
|
|
|
|
The default filesystem layout when using the apple-apple-apple
|
|
|
|
library-combo has been changed from 'gnustep' to the new 'apple'
|
|
|
|
filesystem layout, and on darwin the configuration file is by default
|
|
|
|
installed in /Library/GNUstep/GNUstep.conf instead of
|
|
|
|
/etc/GNUstep/GNUstep.conf. Using the 'gnustep' filesystem layout with
|
|
|
|
the apple-apple-apple library-combo did not make much sense; in
|
|
|
|
gnustep-make version 2.0.5 and newer, a ./configure on Apple Mac OS X
|
|
|
|
automatically chooses the right library-combo and filesystem layout to
|
|
|
|
compile and install Apple native frameworks and applications.
|
|
|
|
|
2008-01-14 13:04:47 +00:00
|
|
|
@item ~/GNUstep/GNUstep.sh
|
|
|
|
This script used to be automatically sourced whenever the main
|
|
|
|
GNUstep.sh file was sourced. In gnustep-make version 2 (starting with
|
|
|
|
2.0.5) the file is no longer sourced. If you are sourcing GNUstep.sh
|
|
|
|
at start-up and have a custom shell script that you'd like to source
|
|
|
|
in addition to GNUstep.sh, please source it in your shell init script
|
|
|
|
before or after sourcing GNUstep.sh. The same applies to
|
|
|
|
~/GNUstep/GNUstep.csh.
|
|
|
|
|
2008-02-19 10:49:20 +00:00
|
|
|
@item xxx_NEEDS_GUI
|
|
|
|
This new variable can be used to specify that a project needs to be
|
|
|
|
linked against the gui library (or not). If set to YES, the gui
|
|
|
|
library will be linked; if set to NO, the gui library will not be
|
2008-02-19 14:15:08 +00:00
|
|
|
linked. If unspecified, the generic variable NEEDS_GUI is used; if
|
|
|
|
that is also unspecified, the behaviour depends on the project type
|
2008-02-19 10:49:20 +00:00
|
|
|
(and is backwards-compatible): applications, bundles, frameworks,
|
|
|
|
palettes and libraries link automatically against the gui library;
|
|
|
|
other project types do not. It is recommended that you set
|
|
|
|
xxx_NEEDS_GUI for all bundles, frameworks and libraries to clarify how
|
|
|
|
the linking should be done.
|
|
|
|
|
2008-02-19 14:15:08 +00:00
|
|
|
@item NEEDS_GUI
|
|
|
|
This new variable can be used to specify that all projects built by
|
|
|
|
this GNUmakefile need to be linked against the gui library (or not).
|
|
|
|
If set to YES, the gui library will be linked; if set to NO, the gui
|
|
|
|
library will not be linked. This behaviour can be overridden for
|
|
|
|
specific project targets by using the xxx_NEEDS_GUI variable (see
|
|
|
|
above).
|
|
|
|
|
2008-01-14 13:04:47 +00:00
|
|
|
@end table
|
|
|
|
|
2007-04-11 22:35:22 +00:00
|
|
|
@section Version 2.0.0
|
|
|
|
|
2007-04-12 17:56:12 +00:00
|
|
|
Version 2.0.0 is a new major release of gnustep-make which includes a
|
|
|
|
number of major changes compared to previous 1.x releases. Most of
|
|
|
|
the changes are backwards compatible in the sense that old
|
|
|
|
GNUmakefiles will work with gnustep-make version 1 or 2 when used in
|
|
|
|
the same conditions (traditional GNUstep filesystem layout). But
|
|
|
|
GNUmakefiles might need updating to work with the new filesystem
|
|
|
|
layout configurations that are allowed by gnustep-make version 2.
|
2007-04-11 22:35:22 +00:00
|
|
|
|
2007-04-12 17:56:12 +00:00
|
|
|
@table @samp
|
2007-04-11 22:35:22 +00:00
|
|
|
|
2007-04-12 17:56:12 +00:00
|
|
|
@item GNUSTEP_INSTALLATION_DIR
|
|
|
|
This variable is deprecated in gnustep-make version 2; you should
|
|
|
|
never use it. gnustep-make version 2 supports installation domains
|
|
|
|
that are mapped to filesystem locations in arbitrary ways; for this
|
|
|
|
reason, specifying a GNUSTEP_INSTALLATION_DIR no longer makes sense.
|
|
|
|
If you need to relocate the whole installation (for example,
|
|
|
|
installing into /tmp to prepare a binary package) you should use
|
|
|
|
DESTDIR, as in 'make install DESTDIR=/tmp'. To choose an installation
|
|
|
|
domain, you should use GNUSTEP_INSTALLATION_DOMAIN, as in 'make
|
|
|
|
install GNUSTEP_INSTALLATION_DOMAIN=LOCAL'. It's particularly
|
|
|
|
important that you remove any reference to GNUSTEP_INSTALLATION_DIR
|
|
|
|
inside your own GNUmakefiles.
|
2007-04-11 22:35:22 +00:00
|
|
|
|
2007-04-12 17:56:12 +00:00
|
|
|
If your GNUmakefiles contains references to GNUSTEP_INSTALLATION_DIR
|
|
|
|
(or similar), you should remove them by replacing them with references
|
|
|
|
to the actual logical directory into which you want to install. For
|
|
|
|
example, if your GNUmakefile is trying to install something into
|
|
|
|
GNUSTEP_INSTALLATION_DIR/Library/Libraries, you need to replace it
|
|
|
|
with GNUSTEP_LIBRARIES. This is important for non-GNUstep filesystem
|
|
|
|
layouts (where, eg, GNUSTEP_LIBRARIES should be set to /usr/lib or
|
|
|
|
/usr/local/lib or /home/nicola/GNUstep/Library/Libraries depending on
|
|
|
|
the installation domain); in that case, gnustep-make will manage
|
|
|
|
GNUSTEP_LIBRARIES for you. Please check the file @file{filesystem}
|
|
|
|
for more information on the available variables.
|
2007-04-11 22:35:22 +00:00
|
|
|
|
2007-04-12 17:56:12 +00:00
|
|
|
@item GNUSTEP_xxx_ROOT
|
|
|
|
The variables GNUSTEP_SYSTEM_ROOT, GNUSTEP_LOCAL_ROOT,
|
|
|
|
GNUSTEP_NETWORK_ROOT, GNUSTEP_USER_ROOT and GNUSTEP_ROOT are
|
|
|
|
deprecated in gnustep-make version 2 and you should never use them.
|
|
|
|
gnustep-make version 2 supports installation domains that are mapped
|
|
|
|
to filesystem locations in arbitrary ways; for this reason, a variable
|
|
|
|
like GNUSTEP_SYSTEM_ROOT has no longer any use.
|
|
|
|
|
|
|
|
If your GNUmakefiles contains references to GNUSTEP_SYSTEM_ROOT (or
|
|
|
|
similar), you should remove them by replacing them with references to
|
|
|
|
the actual logical directory into which you want to install. For
|
|
|
|
example, if your GNUmakefile is trying to install something into
|
|
|
|
GNUSTEP_SYSTEM_ROOT/Library/Libraries, you need to replace it with
|
|
|
|
GNUSTEP_SYSTEM_LIBRARIES. Please check the file @file{filesystem} for
|
|
|
|
more information on the available variables.
|
|
|
|
|
|
|
|
@item gnustep-make ./configure and install options
|
|
|
|
The options to configure (and make install), particularly the ones to
|
|
|
|
determine the filesystem layout, have been radically changed in
|
|
|
|
gnustep-make version 2. If you have a building or packaging script
|
|
|
|
for gnustep-make, you need to make sure you replace your old
|
|
|
|
./configure options with the new ones. In particular, the
|
|
|
|
--with-system-root, --with-local-root and --with-network-root
|
|
|
|
configure options have been replaced by the more powerful
|
|
|
|
--with-layout configure option. Also, configure no longer imports an
|
|
|
|
existing configuration file so you need to make sure that you pass all
|
|
|
|
the options every time. 'make install special_prefix=xxx' has been
|
|
|
|
replaced by 'make install DESTDIR=xxx'.
|
|
|
|
|
|
|
|
@item make debug=yes is now the default
|
|
|
|
The default used to be 'make debug=no'; this has now been changed to
|
|
|
|
be 'make debug=yes'. To get the traditional behaviour, please use
|
|
|
|
'make debug=no'.
|
|
|
|
|
|
|
|
@item RPM support rewritten
|
|
|
|
The RPM support has been rewritten so if you're using gnustep-make
|
|
|
|
to automatically generate RPM packages for your software, you may
|
|
|
|
want to review the process. In particular, there is no longer
|
|
|
|
a distinction between debug and non-debug packages.
|
|
|
|
|
|
|
|
@item xxx_PREPROCESS_INFO_PLIST
|
|
|
|
This variable is now obsolete and can be removed; gnustep-make version 2
|
|
|
|
can automatically detect plists that need preprocessing.
|
|
|
|
|
|
|
|
@item Framework default version
|
|
|
|
The default framework resource version changed from 'A' to
|
2007-04-18 02:52:48 +00:00
|
|
|
INTERFACE_VERSION (which is set, by default, to '0').
|
2007-04-12 17:56:12 +00:00
|
|
|
|
|
|
|
@item Microsoft Windows updates
|
|
|
|
If you are using Microsoft Windows, you probably want to check
|
|
|
|
the new installation instructions and reinstall everything.
|
|
|
|
|
|
|
|
@item Java tools location changed
|
|
|
|
Java tools are now installed into GNUSTEP_JAVA rather than
|
|
|
|
in a subdirectory of GNUSTEP_TOOLS.
|
|
|
|
|
|
|
|
@item resource-set.make install directory
|
|
|
|
The variable xxx_RESOURCE_FILES_INSTALL_DIR for resource-set.make has
|
|
|
|
been deprecated in favour of xxx_INSTALL_DIR. For backwards
|
|
|
|
compatibility, you may want to set them both:
|
|
|
|
|
|
|
|
xxx_INSTALL_DIR = $(GNUSTEP_LIBRARY)/Libraries/Resources/xxx
|
|
|
|
|
|
|
|
xxx_RESOURCE_FILES_INSTALL_DIR = /Library/Libraries/Resources/xxx
|
|
|
|
|
|
|
|
@item INSTALL_ROOT_DIR
|
|
|
|
All instances of INSTALL_ROOT_DIR in user's makefiles should be
|
|
|
|
replaced with DESTDIR.
|
|
|
|
|
|
|
|
@item GNUSTEP_FLATTENED
|
|
|
|
All checks for GNUSTEP_FLATTENED should be updated to check the new
|
|
|
|
variable GNUSTEP_IS_FLATTENED instead, and to compare it explicitly to
|
|
|
|
'yes' and 'no', and assume that '' means 'yes'.
|
|
|
|
|
|
|
|
@item ./shared_obj
|
|
|
|
The ./shared_obj, ./shared_debug_obj directories and similar are no longer
|
|
|
|
created. You can use ./obj instead.
|
|
|
|
|
|
|
|
@item library names
|
|
|
|
All libraries now have the same name.
|
|
|
|
|
|
|
|
@item application names
|
|
|
|
All applications now have the same name.
|
|
|
|
|
|
|
|
@end table
|
2007-04-11 22:35:22 +00:00
|
|
|
|
|
|
|
@ifinfo
|
|
|
|
Copyright @copyright{} 2007 Free Software Foundation
|
|
|
|
|
|
|
|
Copying and distribution of this file, with or without modification,
|
|
|
|
are permitted in any medium without royalty provided the copyright
|
|
|
|
notice and this notice are preserved.
|
|
|
|
@end ifinfo
|
|
|
|
|
|
|
|
|