2007-04-13 14:30:32 +00:00
|
|
|
1 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.
|
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.1 Version 2.9.2
|
|
|
|
=================
|
|
|
|
|
|
|
|
Changes to work around the removal of the javah tool after java version
|
|
|
|
8.
|
|
|
|
|
|
|
|
Changes to have the test framework require/use bash for consistent
|
|
|
|
behavior.
|
|
|
|
|
|
|
|
Changes to fix PDF generation with texinfo/7.1 and later.
|
|
|
|
|
|
|
|
Changes to implement .dist-ignore support for the git-dist: make
|
|
|
|
target.
|
|
|
|
|
|
|
|
1.2 Version 2.9.1
|
|
|
|
=================
|
|
|
|
|
|
|
|
Test framework has workaround for clang issues when building with MSCV.
|
|
|
|
|
|
|
|
A few minor test framework issues inroduced by the parallelisation
|
|
|
|
rewrite are fixed.
|
|
|
|
|
|
|
|
A bug in the PASS_MATCH macro is fixed.
|
|
|
|
|
|
|
|
The test framework makefiles now automatically add the framework
|
|
|
|
header directory to the compiler flags, so testcases can be more
|
|
|
|
reliably built by invoking make directly (rather than via the
|
|
|
|
gnustep-tests script).
|
|
|
|
|
|
|
|
1.3 Version 2.9.0
|
2021-03-21 21:56:13 +00:00
|
|
|
=================
|
|
|
|
|
|
|
|
We have improved support for newer GCC versions (GCC9 and newer).
|
|
|
|
|
|
|
|
Building with ARC has been fixed.
|
|
|
|
|
|
|
|
We've added support for storyboard files in 'GNUmakefile's.
|
|
|
|
|
|
|
|
On Windows, we now support building with MSVC's Clang toolchain.
|
|
|
|
|
|
|
|
Subprojects' object files are now linked individually in their parent
|
|
|
|
project, rather than being first linked into 'subproject.o'.
|
|
|
|
|
|
|
|
We have also changed the way 'OBJCXX' flags are handled, and
|
|
|
|
increased the minimum version of autoconf used to 2.65. (The
|
|
|
|
regenerated 'configure' file will not handle runstatedir anymore.)
|
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.4 Version 2.8.0
|
2020-04-05 14:48:18 +00:00
|
|
|
=================
|
|
|
|
|
|
|
|
We now include better library combo and ABI detection: gnustep-make will
|
|
|
|
now attempt to detect the optimal library combo and ABI supported by the
|
|
|
|
installed compiler and Objective-C runtime library. Explicit selection
|
|
|
|
of the runtime ABI is now possible using the '--with-runtime-abi'
|
|
|
|
configure option.
|
|
|
|
|
|
|
|
There's now full support for the gnustep-2.0 Objective-C ABI.
|
|
|
|
|
|
|
|
This release includes support for creating a Git tag and creating a
|
|
|
|
tarball from a git tag using the 'git-tag' and 'git-dist' targets.
|
|
|
|
|
|
|
|
This release includes support for creating a Mercurial tag and
|
|
|
|
creating a tarball from a hg tag using the 'hg-tag' and 'hg-dist'
|
|
|
|
targets.
|
|
|
|
|
|
|
|
We have dropped legacy Rhapsody and FreeBSD-out support.
|
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.5 Version 2.7.0
|
2017-04-14 09:44:34 +00:00
|
|
|
=================
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.6 Version 2.6.8
|
2016-03-21 07:02:56 +00:00
|
|
|
=================
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.7 Version 2.6.7
|
2015-05-15 09:15:11 +00:00
|
|
|
=================
|
|
|
|
|
|
|
|
Improved package building support
|
|
|
|
|
|
|
|
Improved environment variable support
|
|
|
|
|
|
|
|
Improved Java support
|
|
|
|
|
|
|
|
Various minor bugfixes, documentation spelling corrections etc.
|
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.8 Version 2.6.6
|
2013-12-24 06:45:29 +00:00
|
|
|
=================
|
|
|
|
|
|
|
|
Debian packagge generation support added.
|
|
|
|
|
|
|
|
Bug fixes
|
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.9 Version 2.6.5
|
2013-12-24 06:45:29 +00:00
|
|
|
=================
|
|
|
|
|
|
|
|
Bugfix for non-fragile ABI test
|
|
|
|
|
|
|
|
Bugfix order if include diorectories for system includes
|
|
|
|
|
|
|
|
Bugfix equality test for prorocol testing
|
|
|
|
|
|
|
|
Added minimal test support for .c and .cc files.
|
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.10 Version 2.6.4
|
|
|
|
==================
|
2013-12-24 06:45:29 +00:00
|
|
|
|
|
|
|
Test framework enhancement (extended equality tests)
|
|
|
|
|
|
|
|
Android build target
|
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.11 Version 2.6.3
|
|
|
|
==================
|
2013-12-24 06:45:29 +00:00
|
|
|
|
|
|
|
Bug fixes
|
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.12 Version 2.6.2
|
2021-03-21 21:56:13 +00:00
|
|
|
==================
|
2012-02-03 05:11:03 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'Added standalone filesystem layout for putting everything in'
|
2012-02-03 05:11:03 +00:00
|
|
|
one directory for easy deployment of relocatable
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'Other bug fixes'
|
2012-02-03 05:11:03 +00:00
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.13 Version 2.6.1
|
2020-04-05 14:48:18 +00:00
|
|
|
==================
|
2012-02-03 05:11:03 +00:00
|
|
|
|
|
|
|
Bug fixes
|
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.14 Version 2.6.0
|
2017-04-14 09:44:34 +00:00
|
|
|
==================
|
2009-08-15 21:32:38 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'The default filesystem layout is now the 'fhs' layout'
|
2011-03-13 14:38:12 +00:00
|
|
|
Before version 2.6.0, the default filesystem layout was the
|
|
|
|
'gnustep' layout. Starting with 2.6.0, the default filesystem
|
|
|
|
layout has changed and is now the 'fhs' layout. To get the old
|
|
|
|
default layout, configure gnustep-make using ./configure
|
|
|
|
-with-layout=gnustep. Note that this change does not affect
|
2016-03-21 07:02:56 +00:00
|
|
|
gnustep-make when used with the apple-apple-apple library combo, in
|
|
|
|
which case the default filesystem layout remains the 'apple' one.
|
2011-03-13 14:38:12 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
The change in the default filesystem layout means that the location
|
|
|
|
of the GNUstep.sh file in a default installation has changed from
|
|
|
|
/usr/GNUstep/System/Library/Makefiles/GNUstep.sh to
|
2011-03-13 14:38:12 +00:00
|
|
|
/usr/local/share/GNUstep/Makefiles/GNUstep.sh. If you use the
|
|
|
|
default layout and execute the GNUstep.sh script on startup, you
|
|
|
|
need to change the command from
|
|
|
|
|
|
|
|
. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
|
|
|
|
|
|
|
|
to
|
|
|
|
|
|
|
|
. /usr/local/share/GNUstep/Makefiles/GNUstep.sh
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'The default location of the configuration file changed'
|
2011-03-14 10:16:15 +00:00
|
|
|
Before version 2.6.0, the configuration file was always by default
|
|
|
|
/etc/GNUstep/GNUstep.conf no matter what filesystem layout and
|
2016-03-21 07:02:56 +00:00
|
|
|
prefix were used. Starting with version 2.6.0, that is the default
|
|
|
|
location of the configuration file only when installing
|
2011-03-14 10:16:15 +00:00
|
|
|
system-wide, that is with a prefix set to /, /usr or /usr/GNUstep.
|
2011-04-14 02:29:01 +00:00
|
|
|
In all other cases, the configuration file is by default located in
|
|
|
|
$prefix/etc/GNUstep/GNUstep.conf.
|
2011-03-14 10:16:15 +00:00
|
|
|
|
|
|
|
In particular, this means that if ./configure is invoked with no
|
|
|
|
options specified, the default location of the configuration file
|
|
|
|
is now /usr/local/etc/GNUstep/GNUstep.conf (and no longer
|
|
|
|
/etc/GNUstep/GNUstep.conf).
|
|
|
|
|
|
|
|
Please note that the -with-config-file=xxx option allow you to
|
|
|
|
specify whatever location for the configuration file that you want;
|
|
|
|
the default is only used if no such option is specified and
|
|
|
|
gnustep-make has to pick a reasonable default location for the
|
|
|
|
configuration file.
|
|
|
|
|
|
|
|
Finally, also note that the default location of the configuration
|
|
|
|
file on Darwin has not changed and is still
|
|
|
|
/Library/GNUstep/GNUstep.conf regardless of the prefix selected.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'Removed the --with-system-root, --with-local-root and --with-network-root options'
|
2011-03-14 10:34:47 +00:00
|
|
|
These configure options were obsolete and are ignored by all
|
|
|
|
releases in the past 4 years and have now finally been removed.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'Removed obsolete variables'
|
2011-03-14 10:50:08 +00:00
|
|
|
Some very old variables that were deprecated 4 years ago have now
|
|
|
|
been removed. This includes xxx_RESOURCE_FILES_INSTALL_DIR in
|
|
|
|
resource-set.make (you should use xxx_INSTALL_DIR instead) and
|
|
|
|
GNUSTEP_GSWAPPS in gswapp.make (you should use GNUSTEP_WEB_APPS
|
|
|
|
instead).
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'New Test Framework'
|
2011-04-13 17:10:41 +00:00
|
|
|
GNUstep-make now includes a test framework that can be used to
|
|
|
|
easily write testcases for Objective-C software. The new releases
|
2016-03-21 07:02:56 +00:00
|
|
|
of GNUstep-base and GNUstep-gui include regression test suites that
|
|
|
|
use this test framework. Please check the README in the
|
|
|
|
TestFramework directory for more information on how it works or how
|
|
|
|
to use it.
|
2011-04-13 17:10:41 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'objc.make is deprecated'
|
2011-04-13 17:10:41 +00:00
|
|
|
The file objc.make, which is used to compile Objective-C
|
|
|
|
command-line tools without a Foundation library such as GNUstep
|
|
|
|
base, is now deprecated. Please use tool.make instead.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'--enable-absolute-install-paths is now the default on Darwin'
|
2011-04-13 17:10:41 +00:00
|
|
|
This makes it easier to use GNUstep with the gnu-gnu-gnu library
|
|
|
|
combo on Apple Mac OS X.
|
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.15 Version 2.4.0
|
2016-03-21 07:02:56 +00:00
|
|
|
==================
|
2011-03-13 14:38:12 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'You can enable the use of the non-fragile ivar ABI'
|
2011-03-13 14:38:12 +00:00
|
|
|
The -enable-objc-nonfragile-abi flag can be used to enable the
|
|
|
|
non-fragile ivar ABI for compilers (such as clang) that support it.
|
2010-05-09 03:59:42 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'-Wall is now used by default unless 'make warn=no' is specified'
|
2010-03-12 19:45:40 +00:00
|
|
|
Before version 2.4.0, 'make debug=yes' would not only build object
|
|
|
|
files particularly suited for debugging, but would also add the
|
|
|
|
-Wall flag on the compiler command line when compiling
|
|
|
|
C/ObjC/C++/ObjC++. Starting with 2.4.0, the -Wall flag is
|
|
|
|
controlled by a separate warn flag, so you can turn it on and off
|
|
|
|
indipendentely by doing 'make warn=yes' or 'make warn=no'. Since
|
|
|
|
warn=yes is the default, the default behaviour also changed;
|
|
|
|
starting with 2.4.0, gnustep-make will use -Wall by default. You
|
|
|
|
can turn it off by using 'make warn=no'.
|
|
|
|
|
|
|
|
A similar change occurred for Java compilations, where the flag
|
2016-03-21 07:02:56 +00:00
|
|
|
-deprecation, which used to be enabled by debug=yes, is now enabled
|
|
|
|
by warn=yes. As a consequence, Java code is now compiled by
|
|
|
|
default with the -deprecation flag. You can turn it off by
|
2010-03-12 19:45:40 +00:00
|
|
|
compiling with 'make warn=no'.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'PACKAGE_NEEDS_CONFIGURE and JAVADOC_BUILD_ALWAYS now support 'yes' and 'no''
|
2010-03-12 19:45:40 +00:00
|
|
|
gnustep-make boolean variables traditionally use the values 'yes'
|
2016-03-21 07:02:56 +00:00
|
|
|
and 'no', with the unfortunate exception of PACKAGE_NEEDS_CONFIGURE
|
|
|
|
and JAVADOC_BUILD_ALWAYS which used to only recognize the values
|
|
|
|
'YES' and 'NO'. For consistency with everything else, starting with
|
|
|
|
gnustep-make 2.4.0 these two variables recognize the values 'yes'
|
|
|
|
and 'no' too.
|
2010-03-12 19:45:40 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'Versions of GNU make older then 3.79.1 (June 2000) are no longer supported'
|
2010-03-12 19:45:40 +00:00
|
|
|
The .NOTPARALLEL pseudo-target is only available in GNU make 3.79
|
|
|
|
and is essential for parallel builds to work. Starting with
|
|
|
|
version 2.4.0, gnustep-make recommends using GNU make 3.79.1 or
|
|
|
|
greater; a warning will be issued during configure if an older GNU
|
|
|
|
make is detected. Older versions of GNU make are likely to work
|
|
|
|
(except for parallel building) but are no longer supported. As
|
|
|
|
3.79.1 was released about 10 years ago, this should not be a
|
|
|
|
particular problem.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'new internalmessages=yes option'
|
2010-02-14 23:13:47 +00:00
|
|
|
Starting with version 2.4.0, gnustep-make recognized the new
|
|
|
|
internalmessages=yes option (separate from messages=yes) which
|
|
|
|
prints all the recursive make invocations that are used. This is
|
|
|
|
mostly useful to understand how gnustep-make internally works and
|
|
|
|
is not meant for end-users.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'javadoc is run in quiet mode'
|
2010-02-12 22:00:05 +00:00
|
|
|
Starting with version 2.4.0, javadoc is by default executed with
|
|
|
|
the -quiet option (unless messages=yes is specified), and a
|
2016-03-21 07:02:56 +00:00
|
|
|
"Generating javadoc documentation..." is printed instead.
|
2010-02-12 22:00:05 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'new API to build subdirectories'
|
2010-02-12 22:00:05 +00:00
|
|
|
Before version 2.4.0, aggregate.make was used to step into
|
|
|
|
subdirectories and build them. It did not support parallel
|
|
|
|
building. Starting with version 2.4.0, two new makefile fragments
|
|
|
|
have been introduced: serial-subdirectories.make and
|
|
|
|
parallel-subdirectories.make. These can be used to build
|
|
|
|
subdirectories, and encourage (indeed, force) the developer to
|
|
|
|
explicitly decide if the subdirectories are to be built serially,
|
|
|
|
or in parallel.
|
|
|
|
|
|
|
|
Using parallel-subdirectories.make often produces massively faster
|
|
|
|
builds (or installs or cleans) during a parallel build on a
|
|
|
|
multicore machine. But if you use parallel-subdirectories.make,
|
|
|
|
you need to make sure the different subdirectories are completely
|
2010-02-13 20:21:10 +00:00
|
|
|
independent of each other. The operations that are executed in
|
|
|
|
parallel are 'all', 'clean', 'distclean', 'check' and 'strings'.
|
|
|
|
'install' and 'uninstall' are still executed in serial order to
|
2016-03-21 07:02:56 +00:00
|
|
|
prevent any concurrency problems when creating (or removing) common
|
|
|
|
installation directories.
|
2010-02-12 22:00:05 +00:00
|
|
|
|
|
|
|
aggregate.make is still available if you want or need to be
|
|
|
|
backwards-compatible with older versions of gnustep-make. It is
|
|
|
|
normally a wrapper around serial-subdirectories.make, but if you
|
2016-03-21 07:02:56 +00:00
|
|
|
specify 'GNUSTEP_USE_PARALLEL_AGGREGATE = yes' in your GNUmakefile,
|
|
|
|
it becomes a wrapper around parallel-subdirectories.make.
|
|
|
|
aggregate.make will be deprecated in 2012 and removed in 2015, but
|
|
|
|
for the next couple of years it might be a good solution while you
|
|
|
|
wait for your users to upgrade their gnustep-make installations.
|
|
|
|
|
|
|
|
'each instance stores object files in its own subdirectory'
|
2010-02-12 22:00:05 +00:00
|
|
|
Before version 2.4.0, there was a single object directory where all
|
2010-02-12 09:42:21 +00:00
|
|
|
object files where stored. In the most common case, this directory
|
|
|
|
was simply ./obj, so if you compiled file source.m, you'd end up
|
2010-02-12 22:00:05 +00:00
|
|
|
with ./obj/source.m.o. Starting with version 2.4.0, different
|
2016-03-21 07:02:56 +00:00
|
|
|
instances store their object files in different subdirectories; for
|
|
|
|
example, if the file was compiled as part of tool ToolA, it would
|
|
|
|
end up in ./obj/ToolA.obj/source.m.o, while if compiled as part of
|
|
|
|
ToolB, it would end up in ./obj/ToolB.obj/source.m.o. This allows
|
|
|
|
ToolA and ToolB to be built in parallel with no race conditions,
|
|
|
|
even if they share some source files. There are a number of side
|
|
|
|
effects of this change. First of all, in the unlikely event that
|
|
|
|
your GNUmakefile depends on the location of the object files (bad
|
|
|
|
idea by the way), you'll have to update it. Second, if you are
|
|
|
|
reusing a single source file in multiple instances in the same
|
|
|
|
project, this will now be compiled multiple times instead of one
|
|
|
|
(on the plus side, you can fully parallelize the build by just
|
|
|
|
using 'make -j N', without having to change anything in your
|
|
|
|
GNUmakefile. On a machine with multiple cpus/cores this can
|
|
|
|
massively speed up the build). Finally, the rules to compile
|
|
|
|
C/ObjC/C++/ObjC++/Windres files are no longer available in the
|
|
|
|
Master invocation - they are only available when compiling a
|
|
|
|
specific instance. It's hard to imagine a situation where this
|
|
|
|
change of private internals would affect any user; but people with
|
|
|
|
their own private gnustep-make forks or advanced extensions might
|
|
|
|
be affected.
|
|
|
|
|
|
|
|
'the order in which instances are built is no longer guaranteed'
|
2010-02-12 22:00:05 +00:00
|
|
|
If you build more than one tool in the same GNUmakefile by listing
|
|
|
|
them all in TOOL_NAME as in "TOOL_NAME = ToolA ToolB', you need to
|
|
|
|
be aware that the way the instances are built changed in version
|
|
|
|
2.4.0.
|
|
|
|
|
|
|
|
This change affects applications, bundles, ctools, clibraries,
|
|
|
|
libraries, services, palettes, test-applications, test-libraries,
|
|
|
|
test-tools, tools. It does not affect Java, resource sets or
|
2016-03-21 07:02:56 +00:00
|
|
|
documentation. [FIXME: frameworks ?]
|
2010-02-12 22:00:05 +00:00
|
|
|
|
|
|
|
Before version 2.4.0, instances were always built one after the
|
|
|
|
other one, exactly in the order specified. So, in the example
|
2016-03-21 07:02:56 +00:00
|
|
|
ToolA would be built before ToolB. Starting with 2.4.0, the
|
2010-02-12 22:00:05 +00:00
|
|
|
instances might be built completely in parallel if parallel
|
|
|
|
building is enabled. So, the order in which they are built is no
|
|
|
|
longer defined and your GNUmakefile should not depend on the order
|
|
|
|
in which instances are specified in the GNUmakefile. Most
|
|
|
|
GNUmakefiles should be unaffected because they rarely rely on the
|
|
|
|
order in which instances are built. If your GNUmakefile does
|
|
|
|
depend on the order, you have a few options. The preferred option
|
|
|
|
is to identify the code or steps that need to be executed before
|
|
|
|
some of the instances are built and put them into a before-all::
|
|
|
|
rule, which is guaranteed to be executed before anything else. In
|
|
|
|
this way your serialized code is executed first, and the build can
|
2010-02-11 12:46:14 +00:00
|
|
|
continue in a completely parallel fashion afterwards.
|
|
|
|
|
2010-02-12 22:00:05 +00:00
|
|
|
Another option is to move your instances into separate
|
|
|
|
subdirectories, and use serial-subdirectories.make to build them.
|
|
|
|
serial-subdirectories.make will respect the order and always build
|
|
|
|
them in the order you require.
|
2010-02-11 12:46:14 +00:00
|
|
|
|
2010-02-11 13:26:58 +00:00
|
|
|
If you want to disable parallel building altogether, you can add
|
2010-02-12 22:00:05 +00:00
|
|
|
GNUSTEP_MAKE_PARALLEL_BUILDING=no just after including common.make
|
|
|
|
to prevent a specific GNUmakefile from doing a parallel build.
|
|
|
|
|
|
|
|
Please note that this does not affect the relationship between
|
|
|
|
instances of different types; if you include library.make before
|
|
|
|
tool.make, for example, the library (or libraries) will still be
|
|
|
|
built before the tool (or tools). It is the order in which the
|
|
|
|
libraries (or tools) are built that is no longer guaranteed.
|
2010-02-11 11:11:29 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'support for having source files in subdirectories'
|
2010-02-12 22:00:05 +00:00
|
|
|
Starting with version 2.4.0, it is possible to put source files in
|
2010-02-07 19:56:09 +00:00
|
|
|
subdirectories by specifiying them as in xxx_OBJC_FILES =
|
|
|
|
Source/Beauty.m. This syntax does not work on versions before
|
2010-02-12 22:00:05 +00:00
|
|
|
2.4.0 so you should not use it if you want to support older
|
2016-03-21 07:02:56 +00:00
|
|
|
versions of gnustep-make; previously you had to create a subproject
|
|
|
|
and add a GNUmakefile in the subdirectory using subproject.make.
|
|
|
|
You can now spread your source files in multiple subdirectories
|
|
|
|
without using subprojects.
|
2010-02-07 19:56:09 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'support for having header files in subdirectories'
|
2010-02-12 22:00:05 +00:00
|
|
|
Starting with version 2.4.0, it is possible to put header files in
|
2010-02-07 19:56:09 +00:00
|
|
|
subdirectories by specifiying them as in xxx_HEADER_FILES =
|
|
|
|
Beauty/Beauty.h. This syntax does not work on versions before
|
2010-02-12 22:00:05 +00:00
|
|
|
2.4.0 so you should not use it if you want to support older
|
2010-02-07 19:56:09 +00:00
|
|
|
versions of gnustep-make. When headers are put in subdirectories
|
|
|
|
specified in this way, corresponding subdirectories are created
|
|
|
|
when the header files are installed. For example Beauty/Beauty.h
|
|
|
|
would be automatically installed into
|
|
|
|
GNUSTEP_HEADERS/HEADER_FILES_INSTALL_DIR/Beauty/Beauty.h. To get
|
2010-02-12 22:00:05 +00:00
|
|
|
the same result in versions before 2.4.0 you would have had to
|
2010-02-07 19:56:09 +00:00
|
|
|
manually create the header installation subdirectories.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'support for HEADER_FILES_DIR in framework subproject'
|
2010-02-12 22:00:05 +00:00
|
|
|
Before version 2.4.0, specifying xxx_HEADER_FILES_DIR in a
|
2010-02-07 19:56:09 +00:00
|
|
|
framework subproject would have no effect. Starting with version
|
2010-02-12 22:00:05 +00:00
|
|
|
2.4.0, the variable is now recognized and can be used to have the
|
2010-02-07 19:56:09 +00:00
|
|
|
files in a subdirectory. You should avoid using the variable in
|
|
|
|
framework subprojects if you want to support older versions of
|
|
|
|
gnustep-make.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'info files renamed adding a gnustep- prefix'
|
2009-09-19 08:57:25 +00:00
|
|
|
To prevent conflicts with other documentation, all the gnustep-make
|
|
|
|
info files have been renamed adding a gnustep- prefix. For
|
2016-03-21 07:02:56 +00:00
|
|
|
example, to access the GNUstep faq using info, you now need to type
|
|
|
|
'info gnustep-faq' instead of 'info faq'. Please note that this
|
|
|
|
info documentation is in the core/make/Documentation subdirectory
|
|
|
|
and at the moment is not automatically installed unless you
|
|
|
|
explicitly go in that subdirectory and install it.
|
2009-09-19 08:57:25 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'better cleaning for texinfo documentation'
|
2009-09-19 09:01:49 +00:00
|
|
|
When you build html documentation from texinfo files, the local
|
|
|
|
directory containing the html files was not being removed when
|
2010-02-12 22:00:05 +00:00
|
|
|
doing a 'make clean'. Starting with version 2.4.0, 'make clean'
|
2009-09-19 09:01:49 +00:00
|
|
|
removes the directory too.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'debug=no made the default'
|
2009-09-20 10:34:39 +00:00
|
|
|
gnustep-make now builds using debug=no by default. As a
|
|
|
|
consequence, on most platforms C/Objective-C/C++ code is now built
|
2016-03-21 07:02:56 +00:00
|
|
|
by default using -g -O2 instead of just -g. If you do not want the
|
|
|
|
-O2 flag, you can simply build using 'make debug=yes'. You can
|
|
|
|
also use the new ./configure -enable-debug-by-default option to
|
|
|
|
make 'debug=yes' the default flag that is always used when
|
2009-09-20 10:34:39 +00:00
|
|
|
compiling if nothing else is specified. If you do not want the
|
|
|
|
debugging symbols, remember that you can use the 'make strip=yes'
|
|
|
|
option to have them stripped out from all object files when they
|
|
|
|
are installed.
|
2009-08-15 21:32:38 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'batch-compilation of Java files'
|
2009-10-08 00:31:00 +00:00
|
|
|
gnustep-make used to compile Java files one by one. In most Java
|
2010-02-12 22:00:05 +00:00
|
|
|
compilers this is very suboptimal. Starting from release 2.4.0,
|
2009-10-08 00:31:00 +00:00
|
|
|
gnustep-make will compile all Java files in a Java project with a
|
|
|
|
single Java compiler invocation. This can significantly speed up
|
2016-03-21 07:02:56 +00:00
|
|
|
compilation of large projects. To disable it and get the behaviour
|
|
|
|
of gnustep-make 2.2.0, please set the variable
|
2009-10-08 00:31:00 +00:00
|
|
|
BATCH_COMPILE_JAVA_FILES to 'no' (or the variable
|
|
|
|
xxx_BATCH_COMPILE_JAVA_FILES to 'no' to disable it for a single
|
2016-03-21 07:02:56 +00:00
|
|
|
instance). Please note that if you are using the xxx_FILE_FLAGS or
|
|
|
|
xxx_FILE_FILTER_OUT_FLAGS functionality for Java files, which
|
2009-10-08 00:31:00 +00:00
|
|
|
allows you to customize the compilation flags for each Java file,
|
|
|
|
then batch compilation is automatically disabled and all files are
|
|
|
|
compiled separately.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'library resources always installed in directory without 'lib''
|
2010-04-22 09:09:33 +00:00
|
|
|
This change only applies to libraries where LIBRARY_NAME starts
|
|
|
|
with 'lib' and that install resources. Due to a bug, versions of
|
|
|
|
gnustep-make before 2.4.0 would in this case install the resources
|
|
|
|
into the wrong directory, without removing 'lib' from the library
|
|
|
|
name. For example, if LIBRARY_NAME is libgnustep-base, the
|
|
|
|
resources would have been installed into
|
|
|
|
GNUSTEP_LIBRARY/Libraries/libgnustep-base/Versions/1.14/Resources/
|
|
|
|
instead of the correct
|
|
|
|
GNUSTEP_LIBRARY/Libraries/gnustep-base/Versions/1.14/Resources/.
|
|
|
|
In gnustep-make 2.4.0, this bug has been fixed and the library
|
|
|
|
name, without 'lib', will always be used in the resource
|
2016-03-21 07:02:56 +00:00
|
|
|
installation directory, no matter if LIBRARY_NAME includes 'lib' or
|
|
|
|
not.
|
2010-04-22 09:09:33 +00:00
|
|
|
|
|
|
|
If you have a makefile which is affected and you need to support
|
|
|
|
older versions of gnustep-make, you could remove 'lib' from the
|
2016-03-21 07:02:56 +00:00
|
|
|
LIBRARY_NAME. That should install resources in the same directory
|
2010-04-22 09:09:33 +00:00
|
|
|
on all gnustep-make versions that support library resources (ie,
|
|
|
|
gnustep-make >= 2.0.x).
|
2009-08-15 21:32:38 +00:00
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.16 Version 2.2.0
|
2015-05-15 09:15:11 +00:00
|
|
|
==================
|
2009-02-02 16:59:02 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'libobjc library'
|
2009-05-09 18:32:29 +00:00
|
|
|
You can now specify a particular libobjc library to use with the
|
|
|
|
-with-objc-lib-flag in configure. Make now also automatically uses
|
|
|
|
-lobjc_gc when using garbage collection.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'parallel building'
|
|
|
|
Parallel building is supported now. You can build using the normal
|
|
|
|
make mechanism, e.g. 'make -j 2'.
|
2009-05-09 18:32:29 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'install -p'
|
2009-02-02 16:59:02 +00:00
|
|
|
gnustep-make now uses 'install -p' by default when installing
|
|
|
|
headers and other files. This preserves the file timestamps and
|
|
|
|
can in some cases reduce spurious rebuilds triggered by
|
|
|
|
reinstalling headers that have not been modified. You can use the
|
|
|
|
gnustep-make configure option -disable-install-p to disable this
|
|
|
|
behaviour and go back to always using a standard 'install'.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'uninstallation of resources'
|
2009-02-02 16:59:02 +00:00
|
|
|
gnustep-make now is more careful and accurate when uninstalling
|
|
|
|
resources, which means that 'make uninstall' will do a better job
|
|
|
|
at removing directories that were created during by 'make install'.
|
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.17 Version 2.0.7
|
2013-12-24 06:45:29 +00:00
|
|
|
==================
|
2008-10-21 15:38:29 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'default installation'
|
2008-12-21 22:47:52 +00:00
|
|
|
New configuration file that allows hardcore developers building
|
|
|
|
everything from source to specify arbitrary default installation
|
|
|
|
domains for the software. You just need to copy the
|
|
|
|
installation-domains.conf file to the same directory as the
|
|
|
|
GNUstep.conf file, and edit it to customize the default
|
|
|
|
installation domain (Thanks to Richard for the idea).
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'--no-print-directory'
|
2008-10-21 15:38:29 +00:00
|
|
|
gnustep-make now uses the -no-print-directory flag when invoking
|
|
|
|
make recursively, so the output has changed - starting from 2.0.7
|
|
|
|
it should be shorter and more readable.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'change to intermediate object file names'
|
2008-10-21 15:38:29 +00:00
|
|
|
gnustep-make now supports having in the same project source files
|
|
|
|
with the same name, but a different extension - for example file.c
|
|
|
|
and file.m. The names of intermediate object files have been
|
|
|
|
internally changed (for example, from file.o to file.c.o) to
|
|
|
|
support this.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'change in path checking algorithm in GNUstep.sh and GNUstep.csh'
|
2008-10-21 15:38:29 +00:00
|
|
|
GNUstep.sh and GNUstep.csh perform more careful checks for
|
2016-03-21 07:02:56 +00:00
|
|
|
duplicate paths when adding paths to PATH and other path variables.
|
|
|
|
Now they check each path separately before adding it, which in some
|
|
|
|
cases will produce smaller and less intrusive additions to PATH; in
|
|
|
|
particular, on FHS filesystem layout, they will never add /usr/bin
|
|
|
|
or other system paths if they are already there. If you are in a
|
|
|
|
situation where there is an overlap between GNUstep paths and
|
|
|
|
system paths and you are using GNUstep.sh or GNUstep.csh, you may
|
|
|
|
want to check the new values of PATH, CLASSPATH, GUILE_LOAD_PATH,
|
|
|
|
INFOPATH, LD_LIBRARY_PATH and similar variables since they may be
|
|
|
|
different from the old ones.
|
|
|
|
|
|
|
|
'test applications linked against gnustep-gui by default'
|
2008-10-21 15:38:29 +00:00
|
|
|
Test applications (that is, applications created using
|
|
|
|
test-application.make) are now linked against gnustep-gui by
|
|
|
|
default.
|
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.18 Version 2.0.6
|
2013-12-24 06:45:29 +00:00
|
|
|
==================
|
2008-05-18 18:13:34 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'GNUSTEP_ABSOLUTE_INSTALL_PATHS'
|
2008-05-22 13:16:43 +00:00
|
|
|
Added the -enable-absolute-install-paths option to configure on
|
|
|
|
Darwin. Enabling this option modifies the process for building
|
2016-03-21 07:02:56 +00:00
|
|
|
dynamic libraries so the install_name stored within a library is an
|
|
|
|
absolute path. Dynamic libraries with an absolute install_name can
|
|
|
|
be placed in non-standard locations, but may not be moved from
|
2008-05-22 13:16:43 +00:00
|
|
|
their designated location.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'default location of GNUstep.conf on BSD systems'
|
2008-05-18 18:13:34 +00:00
|
|
|
This has been changed to /etc/GNUstep/GNUstep.conf to be consistent
|
|
|
|
across all Unix systems (except for Apple Mac OS X where it is
|
|
|
|
installed in /Library/GNUstep/GNUstep.conf). To install in a
|
|
|
|
different location, use the -with-config-file=PATH option, as in
|
|
|
|
-with-config-file=/usr/pkg/etc/GNUstep.conf.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'make.info renamed to gnustep-make.info'
|
2008-06-11 16:28:47 +00:00
|
|
|
To prevent conflicts with the standard GNU 'make' info
|
|
|
|
documentation, the gnustep-make one has been renamed. Now you can
|
|
|
|
access it as in 'info gnustep-make' instead of 'info make',
|
|
|
|
avoiding any conflicts and confusion. Please note that this info
|
2016-03-21 07:02:56 +00:00
|
|
|
documentation is in the core/make/Documentation subdirectory and at
|
|
|
|
the moment is not automatically installed unless you explicitly go
|
|
|
|
in that subdirectory and install it.
|
2008-05-18 18:13:34 +00:00
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.19 Version 2.0.5
|
2013-12-24 06:45:29 +00:00
|
|
|
==================
|
2008-01-14 13:04:47 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'default filesystem layout on apple-apple-apple'
|
2008-03-02 18:37:50 +00:00
|
|
|
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;
|
2016-03-21 07:02:56 +00:00
|
|
|
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-03-02 18:37:50 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'~/GNUstep/GNUstep.sh'
|
2008-01-14 13:04:47 +00:00
|
|
|
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.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'xxx_NEEDS_GUI'
|
2008-02-19 10:49:20 +00:00
|
|
|
This new variable can be used to specify that a project needs to be
|
2008-03-11 01:06:50 +00:00
|
|
|
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.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'NEEDS_GUI'
|
2008-02-19 14:15:08 +00:00
|
|
|
This new variable can be used to specify that all projects built by
|
|
|
|
this GNUmakefile need to be linked against the gui library (or
|
2016-03-21 07:02:56 +00:00
|
|
|
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
|
2008-02-19 14:15:08 +00:00
|
|
|
overridden for specific project targets by using the xxx_NEEDS_GUI
|
|
|
|
variable (see above).
|
|
|
|
|
2024-05-26 10:32:19 +00:00
|
|
|
1.20 Version 2.0.0
|
2013-12-24 06:45:29 +00:00
|
|
|
==================
|
2007-04-13 14:30:32 +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
|
2016-03-21 07:02:56 +00:00
|
|
|
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-13 14:30:32 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'GNUSTEP_INSTALLATION_DIR'
|
2007-04-13 14:30:32 +00:00
|
|
|
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
|
2016-03-21 07:02:56 +00:00
|
|
|
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-13 14:30:32 +00:00
|
|
|
|
|
|
|
If your GNUmakefiles contains references to
|
|
|
|
GNUSTEP_INSTALLATION_DIR (or similar), you should remove them by
|
2016-03-21 07:02:56 +00:00
|
|
|
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
|
2007-04-13 14:30:32 +00:00
|
|
|
GNUSTEP_INSTALLATION_DIR/Library/Libraries, you need to replace it
|
2016-03-21 07:02:56 +00:00
|
|
|
with GNUSTEP_LIBRARIES. This is important for non-GNUstep
|
2007-04-13 14:30:32 +00:00
|
|
|
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
|
2016-03-21 07:02:56 +00:00
|
|
|
GNUSTEP_LIBRARIES for you. Please check the file 'filesystem' for
|
2007-04-13 14:30:32 +00:00
|
|
|
more information on the available variables.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'GNUSTEP_xxx_ROOT'
|
2007-04-13 14:30:32 +00:00
|
|
|
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
|
2016-03-21 07:02:56 +00:00
|
|
|
with GNUSTEP_SYSTEM_LIBRARIES. Please check the file 'filesystem'
|
2007-04-13 14:30:32 +00:00
|
|
|
for more information on the available variables.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'gnustep-make ./configure and install options'
|
2007-04-13 14:30:32 +00:00
|
|
|
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
|
2016-03-21 07:02:56 +00:00
|
|
|
pass all the options every time. 'make install special_prefix=xxx'
|
|
|
|
has been replaced by 'make install DESTDIR=xxx'.
|
2007-04-13 14:30:32 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'make debug=yes is now the default'
|
2007-04-13 14:30:32 +00:00
|
|
|
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'.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'RPM support rewritten'
|
2007-04-13 14:30:32 +00:00
|
|
|
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.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'xxx_PREPROCESS_INFO_PLIST'
|
2007-04-13 14:30:32 +00:00
|
|
|
This variable is now obsolete and can be removed; gnustep-make
|
|
|
|
version 2 can automatically detect plists that need preprocessing.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'Framework default version'
|
2007-04-13 14:30:32 +00:00
|
|
|
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-13 14:30:32 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'Microsoft Windows updates'
|
2007-04-13 14:30:32 +00:00
|
|
|
If you are using Microsoft Windows, you probably want to check the
|
|
|
|
new installation instructions and reinstall everything.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'Java tools location changed'
|
2007-04-13 14:30:32 +00:00
|
|
|
Java tools are now installed into GNUSTEP_JAVA rather than in a
|
|
|
|
subdirectory of GNUSTEP_TOOLS.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'resource-set.make install directory'
|
2007-04-13 14:30:32 +00:00
|
|
|
The variable xxx_RESOURCE_FILES_INSTALL_DIR for resource-set.make
|
2016-03-21 07:02:56 +00:00
|
|
|
has been deprecated in favour of xxx_INSTALL_DIR. For backwards
|
2007-04-13 14:30:32 +00:00
|
|
|
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
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'INSTALL_ROOT_DIR'
|
2007-04-13 14:30:32 +00:00
|
|
|
All instances of INSTALL_ROOT_DIR in user's makefiles should be
|
|
|
|
replaced with DESTDIR.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'GNUSTEP_FLATTENED'
|
2007-04-13 14:30:32 +00:00
|
|
|
All checks for GNUSTEP_FLATTENED should be updated to check the new
|
2016-03-21 07:02:56 +00:00
|
|
|
variable GNUSTEP_IS_FLATTENED instead, and to compare it explicitly
|
|
|
|
to 'yes' and 'no', and assume that " means 'yes'.
|
2007-04-13 14:30:32 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'./shared_obj'
|
|
|
|
The ./shared_obj, ./shared_debug_obj directories and similar are no
|
|
|
|
longer created. You can use ./obj instead.
|
2007-04-13 14:30:32 +00:00
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'library names'
|
2007-04-13 14:30:32 +00:00
|
|
|
All libraries now have the same name.
|
|
|
|
|
2016-03-21 07:02:56 +00:00
|
|
|
'application names'
|
2007-04-13 14:30:32 +00:00
|
|
|
All applications now have the same name.
|
|
|
|
|
|
|
|
Copyright (C) 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.
|
|
|
|
|