diff --git a/ANNOUNCE b/ANNOUNCE index 9dfbb777..8e8a0b4f 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,7 +1,7 @@ 1 Announcement ************** -The GNUstep Makefile Package version 2.8.0 is now available. +The GNUstep Makefile Package version 2.9.0 is now available. 1.1 What is the GNUstep Makefile Package? ========================================= @@ -12,36 +12,43 @@ 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.8.0' +1.2 Changes in version '2.9.0' ============================== - * 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. + * Better check for objc runtime on Windows. - * Full support for the gnustep-2.0 Objective-C ABI. + * Split linker flags to better support partial linking: 'ALL_LDFLAGS' + is now a combination of 'FINAL_LDFLAGS' and 'ALL_LDFLAGS'. - * Support for creating a Git tag and creating a tarball from a git - tag using the 'git-tag' and 'git-dist' targets. + * Better support for newer gcc versions. - * Support for creating a Mercurial tag and creating a tarball from a - hg tag using the 'hg-tag' and 'hg-dist' targets. + * Add support for storyboard files. - * Dropped legacy Rhapsody and FreeBSD-out support. + * Increase autoconf version to 2.65 and make autoconf handle + Objective-C++ and OBJCXX variables directly. + + * Fix bug that prevented ARC from getting used. + + * Link subproject object files directly instead of first merging them + into 'subproject.o'. + + * Support building on Windows with Clang MSVC target. + + * Improve mingw64 support: for instance, adopt the triplet used by + the mingw-w64 project rather than using the one returned by + autoconf. Fixes building Gorm. 1.3 Obtaining gnustep-make ========================== -You can get the gnustep-make-2.8.0.tar.gz distribution file at +You can get the gnustep-make-2.9.0.tar.gz distribution file at - It is accompanied by gnustep-make-2.8.0.tar.gz.sig, a PGP signature + It is accompanied by gnustep-make-2.9.0.tar.gz.sig, a PGP signature which you can validate by putting both files in the same directory and using: - gpg --verify gnustep-make-2.8.0.tar.gz.sig + gpg --verify gnustep-make-2.9.0.tar.gz.sig Signature has been created using the key with the following fingerprint: @@ -51,14 +58,14 @@ fingerprint: Read the INSTALL file or the GNUstep-HOWTO for installation instructions. -1.5 Where do I send bug reports? +1.4 Where do I send bug reports? ================================ Please log bug reports on the GNUstep project page or send bug reports to . -1.6 Obtaining GNUstep Software +1.5 Obtaining GNUstep Software ============================== Check out the GNUstep web site. () and the GNU diff --git a/ChangeLog b/ChangeLog index 1d0891d3..a33e3336 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2021-03-21 Ivan Vucica + + * ANNOUNCE: + * NEWS: + * RELEASENOTES: + * Documentation/news.texi: + * Documentation/releasenotes.texi: + Update release notes for 2.9.0. + * Version: + Bump version to 2.9.0. + 2021-03-09 Frederik Seiffert * target.make: @@ -7,6 +18,27 @@ * configure.ac: Fix CFLAGS for Windows MSVC. +2021-03-06 Richard Frith-Macdonald + + * Instance/application.make: + * configure: + * configure.ac: + * jni.make: + * rules.make: + * target.make: + Adopt the triplet used by the mingw-w64 project (where the OS is always + mingw32 and we differentiate 64bit Windows using the vendor part), + rather than the one returned by autoconf. Scrap most of the code to + differentiate between the two systems. + +2021-02-25 Richard Frith-Macdonald + + * configure: + * configure.ac: + Convert mingw-w64's triplet (cpu-w64-mingw32) which looks like mingw32 + back to standard form. + + 2021-02-12 Frederik Seiffert * common.make: Silence PATH warning on Windows MSVC. diff --git a/Documentation/news.texi b/Documentation/news.texi index bf91062f..51aae1d2 100644 --- a/Documentation/news.texi +++ b/Documentation/news.texi @@ -13,12 +13,29 @@ The currently released version is @samp{@value{GNUSTEP-MAKE-VERSION}}. @itemize -@item Better check for objc on Windows. -@item Split linker flags to better support partial linking. +@item Better check for objc runtime on Windows. + +@item Split linker flags to better support partial linking: @code{ALL_LDFLAGS} +is now a combination of @code{FINAL_LDFLAGS} and @code{ALL_LDFLAGS}. + @item Better support for newer gcc versions. -@item Add support for story board files. -@item Increase autoconfig version and handle OBJCXX variables directly. + +@item Add support for storyboard files. + +@item Increase autoconf version to 2.65 and make autoconf handle Objective-C++ +and OBJCXX variables directly. + @item Fix bug that prevented ARC from getting used. + +@item Link subproject object files directly instead of first merging them into +@code{subproject.o}. + +@item Support building on Windows with Clang MSVC target. + +@item Improve mingw64 support: for instance, adopt the triplet used by the +mingw-w64 project rather than using the one returned by autoconf. Fixes building +Gorm. + @end itemize @ifclear ANNOUNCE-ONLY diff --git a/Documentation/releasenotes.texi b/Documentation/releasenotes.texi index 72bd1bfc..93e7f239 100644 --- a/Documentation/releasenotes.texi +++ b/Documentation/releasenotes.texi @@ -4,6 +4,23 @@ 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. +@section Version 2.9.0 + +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 @code{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 @code{subproject.o}. + +We have also changed the way @code{OBJCXX} flags are handled, and increased the +minimum version of autoconf used to 2.65. (The regenerated @code{configure} file +will not handle runstatedir anymore.) + @section Version 2.8.0 We now include better library combo and ABI detection: gnustep-make will now diff --git a/NEWS b/NEWS index b6d42240..76decb18 100644 --- a/NEWS +++ b/NEWS @@ -1,9 +1,35 @@ 1 NEWS ****** -The currently released version is '2.8.0'. +The currently released version is '2.9.0'. -1.1 Changes in version '2.8.0' +1.1 Changes in version '2.9.0' +============================== + + * Better check for objc runtime on Windows. + + * Split linker flags to better support partial linking: 'ALL_LDFLAGS' + is now a combination of 'FINAL_LDFLAGS' and 'ALL_LDFLAGS'. + + * Better support for newer gcc versions. + + * Add support for storyboard files. + + * Increase autoconf version to 2.65 and make autoconf handle + Objective-C++ and OBJCXX variables directly. + + * Fix bug that prevented ARC from getting used. + + * Link subproject object files directly instead of first merging them + into 'subproject.o'. + + * Support building on Windows with Clang MSVC target. + + * Improve mingw64 support: for instance, adopt the triplet used by + the mingw-w64 project rather than using the one returned by + autoconf. Fixes building Gorm. + +1.2 Changes in version '2.8.0' ============================== * Better library combo and ABI detection: gnustep-make will now @@ -22,7 +48,7 @@ The currently released version is '2.8.0'. * Dropped legacy Rhapsody and FreeBSD-out support. -1.2 Changes in version '2.7.0' +1.3 Changes in version '2.7.0' ============================== Garbage collection support removed @@ -36,7 +62,7 @@ compatible Various other minor bugfixes -1.3 Changes in version '2.6.8' +1.4 Changes in version '2.6.8' ============================== Configure option '-with-library-combo=ng-gnu-gnu' to use the 'Next @@ -64,7 +90,7 @@ you update any old gnustep-make version one makefiles. Garbage collection support to be removed at the next release. -1.4 Changes in version '2.6.7' +1.5 Changes in version '2.6.7' ============================== Improved package building support @@ -75,14 +101,14 @@ Improved package building support Various minor bugfixes, documentation spelling corrections etc. -1.5 Changes in version '2.6.6' +1.6 Changes in version '2.6.6' ============================== Debian packaging support Minor bugfixes. -1.6 Changes in version '2.6.5' +1.7 Changes in version '2.6.5' ============================== Bugfix for non-fragile ABI test @@ -93,31 +119,31 @@ Bugfix for non-fragile ABI test Added minimal test support for .c and .cc files. -1.7 Changes in version '2.6.4' +1.8 Changes in version '2.6.4' ============================== Test framework extended equality tests. Android build target -1.8 Changes in version '2.6.3' +1.9 Changes in version '2.6.3' ============================== Minor bugfix release. -1.9 Changes in version '2.6.2' -============================== +1.10 Changes in version '2.6.2' +=============================== Added standalone filesystem layout for putting everything in one directory for easy deployment of relocatable. Other bug fixes. -1.10 Changes in version '2.6.1' +1.11 Changes in version '2.6.1' =============================== Bug fix release. Most notably to fix a problem compiling GNUstep with clang. -1.11 Changes in version '2.6.0' +1.12 Changes in version '2.6.0' =============================== * The default filesystem layout is now the 'fhs' layout @@ -130,7 +156,7 @@ clang. * objc.make deprecated. Use tool.make instead * -enable-absolute-install-paths is now the default on Darwin -1.12 Changes in version '2.4.0' +1.13 Changes in version '2.4.0' =============================== * Add -enable-objc-nonfragile-abi flag @@ -145,7 +171,7 @@ clang. * Renamed info files to prevent conflicts. * Updated cygwin support. -1.13 Changes in version '2.2.0' +1.14 Changes in version '2.2.0' =============================== * New -with-objc-lib-flag for specifying libobjc. @@ -155,12 +181,12 @@ clang. * Use install -p if available. * make uninstall works better now. -1.14 Changes in version '2.0.8' +1.15 Changes in version '2.0.8' =============================== Minor bug fix to deal with installing in different domains -1.15 Changes in version '2.0.7' +1.16 Changes in version '2.0.7' =============================== * New configuration file to set default installation @@ -170,14 +196,14 @@ Minor bug fix to deal with installing in different domains * Change in path checking algorithm in GNUstep.sh and GNUstep.csh * Test applications linked against gnustep-gui by default -1.16 Changes in version '2.0.6' +1.17 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.17 Changes in version '2.0.5' +1.18 Changes in version '2.0.5' =============================== * Update C++ and ObjC++ support so that g++ and proper flags are @@ -189,28 +215,28 @@ Minor bug fix to deal with installing in different domains * New option -enable-strict-v2-mode to test for obsolete variables. * ~/GNUstep/GNUstep.sh is no longer sourced. -1.18 Changes in version '2.0.4' +1.19 Changes in version '2.0.4' =============================== Fixed a bug finding relative paths on Windows (during configuration). -1.19 Changes in version '2.0.3' +1.20 Changes in version '2.0.3' =============================== New man pages for tools. Better uninstallation of files Add Windows installer makefile for Applications. -1.20 Changes in version '2.0.2' +1.21 Changes in version '2.0.2' =============================== Update license to GPLv3. -1.21 Changes in version '2.0.1' +1.22 Changes in version '2.0.1' =============================== Bug fixes in filesystem layout and framework installation. -1.22 Changes in version '2.0.0' +1.23 Changes in version '2.0.0' =============================== The Makefile package has had a major makover which befits a major @@ -265,7 +291,7 @@ with this version of make. * Versioning of library resources * Fixed rebuilding .plist and .palette files -1.23 Changes in version '1.13.0' +1.24 Changes in version '1.13.0' ================================ Debug libraries now have the same name as normal libraries (i.e. no @@ -278,12 +304,12 @@ loaded into the same executable. make package (e.g. with Windows OS). The libraries can still use native paths. -1.24 Changes in version '1.12.0' +1.25 Changes in version '1.12.0' ================================ Minor fixes. -1.25 Changes in version '1.11.2' +1.26 Changes in version '1.11.2' ================================ The 'GNUstep.conf' file is now viewed as the essential determination of @@ -313,7 +339,7 @@ rules. files in the xxx_OBJCC_FILES variable, and put extra ObjC++ flags in xxx_OBJCCFLAGS or ADDITIONAL_OBJCCFLAGS. -1.26 Changes in version '1.11.1' +1.27 Changes in version '1.11.1' ================================ Part of the previous change was reversed. Now libobjc is still linked @@ -324,7 +350,7 @@ 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. -1.27 Changes in version '1.11.0' +1.28 Changes in version '1.11.0' ================================ NOTE: The libobjc library is now linked in with the base library and NOT @@ -346,7 +372,7 @@ switching to this new version. * Support for xxx_WINDRES_FILES on MinGW was implemented. -1.28 Changes in version '1.10.0' +1.29 Changes in version '1.10.0' ================================ * a GNUsteprc file is now automatically created and installed in @@ -362,27 +388,27 @@ switching to this new version. configure to enable use of built in objc exceptions with compilers that support it. -1.29 Changes in version '1.9.2' +1.30 Changes in version '1.9.2' =============================== * Application and Bundles use the latest convention on Apple. * Improve/Simplify dependency checking when making docs -1.30 Changes in version '1.9.1' +1.31 Changes in version '1.9.1' =============================== * Remove '--disable-import' option * README.Darwin for darwin/MacOSX install * Framework version and naming clarified. -1.31 Changes in version '1.9.0' +1.32 Changes in version '1.9.0' =============================== * Support for building in a separate build dir. * Add '--enable-strip-makefiles' option to configure * List of classes in a framework gets written to the plist file. -1.32 Changes in version '1.8.0' +1.33 Changes in version '1.8.0' =============================== Read the NEWS file for a complete list of changes since the last stable @@ -391,18 +417,18 @@ 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.33 Changes in version '1.7.4' +1.34 Changes in version '1.7.4' =============================== Bug fixes. -1.34 Changes in version '1.7.3' +1.35 Changes in version '1.7.3' =============================== * Adds library combo to Headers directory if not flattened. * Add Markup file (Renaissance) support. -1.35 Changes in version '1.7.2' +1.36 Changes in version '1.7.2' =============================== -enable-flattened (Flat directory structure) is on by default. @@ -410,12 +436,12 @@ Bug fixes. * On WIN32 use HOMEPATH in preference to USERPROFILE * netbsd and openbsd compile fixes. -1.36 Changes in version '1.7.1' +1.37 Changes in version '1.7.1' =============================== Bug fixes. -1.37 Changes in version '1.7.0' +1.38 Changes in version '1.7.0' =============================== This version contains a major change in the location of certain @@ -430,7 +456,7 @@ incompatibilities. * Support for preprocessed Info.plists. -1.38 Changes in version '1.6.0' +1.39 Changes in version '1.6.0' =============================== Make now configures by default for only one system. To compile and run @@ -442,7 +468,7 @@ configure argument -enable-multi-platform. of nx-nx-nx on OSX systems. * More efficient checks for re-making a project. -1.39 Changes in version '1.5.1' +1.40 Changes in version '1.5.1' =============================== * Framework support rewritten, also supports multiple names. @@ -455,17 +481,17 @@ configure argument -enable-multi-platform. * API change: Tools/Subproj can have resources. * API change: TOOL_INSTALL_DIR. -1.40 Changes in version '1.5.0' +1.41 Changes in version '1.5.0' =============================== * Add NetBSD Elf support -1.41 Changes in version '1.4.0' +1.42 Changes in version '1.4.0' =============================== * Update Darwin/GNU gcc and Irix targets -1.42 Changes in version '1.3.4' +1.43 Changes in version '1.3.4' =============================== This is a first prerelease version for 1.4. @@ -475,13 +501,13 @@ This is a first prerelease version for 1.4. * Change GNUSTEP_PATHPREFIX_LIST to GNUSTEP_PATHLIST * Add verbosity levels. Use make messages=yes for full messages. -1.43 Changes in version '1.3.3' +1.44 Changes in version '1.3.3' =============================== * Recognizes XXX_STANDARD_INSTALL=no to not do installation. * Updated instructions for MingW/MSYS installation. -1.44 Changes in version '1.3.2' +1.45 Changes in version '1.3.2' =============================== * Instructions for building on Windows with MSYS @@ -489,7 +515,7 @@ This is a first prerelease version for 1.4. * Fix frameworks in RPMs and DEBs * Continued reorganization. -1.45 Changes in version '1.3.0' +1.46 Changes in version '1.3.0' =============================== The package has gone through an extensive reorganization to break up @@ -507,7 +533,7 @@ effect, it also increased the speed of the code by at least a factor of * Changed Apps directory to Applications * Fixes for MacOSX, MingW -1.46 Changes in version '1.2.1' +1.47 Changes in version '1.2.1' =============================== * the source distribution code has been rewritten to be more general @@ -521,7 +547,7 @@ effect, it also increased the speed of the code by at least a factor of * implemented a strip=yes option. * various bug fixes and minor improvements. -1.47 Changes in version '1.2.0' +1.48 Changes in version '1.2.0' =============================== * The core rules and internals of gnustep-make have been @@ -541,7 +567,7 @@ effect, it also increased the speed of the code by at least a factor of installation. * Much improved Windows path support -1.48 Changes in version '1.0.1' +1.49 Changes in version '1.0.1' =============================== * Support for Java tools. @@ -549,7 +575,7 @@ effect, it also increased the speed of the code by at least a factor of * Remove backend part of LIBRARY_COMBO. * Fixes to run on FreeBSD, Solaris. -1.49 Changes in version '1.0.0' +1.50 Changes in version '1.0.0' =============================== * Optimizations that in many cases more than double the speed. @@ -557,13 +583,13 @@ effect, it also increased the speed of the code by at least a factor of * rpm packeing improvements. * Better checking for mingw and cygwin -1.50 Changes in version '0.9.2' +1.51 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.51 Changes in version '0.9.1' +1.52 Changes in version '0.9.1' =============================== Make has been reoganized so that it only relies on libraries and other @@ -576,7 +602,7 @@ simplifies compilation and packaging. * debian directory added for dpkg * RPM support rewritten from scratch. -1.52 Changes in version '0.9.0' +1.53 Changes in version '0.9.0' =============================== ffcall library is highly recommended for use with the GNUstep base @@ -589,7 +615,7 @@ Makefile package. See the INSTALL file. * LaText documentation support. * Added support for Frameworks -1.53 Noteworthy changes in version '0.6.6' +1.54 Noteworthy changes in version '0.6.6' ========================================== The GNUstep system libraries are now installed in a separate system root diff --git a/RELEASENOTES b/RELEASENOTES index 71647fd0..4da1eddb 100644 --- a/RELEASENOTES +++ b/RELEASENOTES @@ -5,7 +5,25 @@ 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.8.0 +1.1 Version 2.9.0 +================= + +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.) + +1.2 Version 2.8.0 ================= We now include better library combo and ABI detection: gnustep-make will @@ -25,7 +43,7 @@ targets. We have dropped legacy Rhapsody and FreeBSD-out support. -1.2 Version 2.7.0 +1.3 Version 2.7.0 ================= When building non-flattened, the subdirectory name for @@ -45,7 +63,7 @@ architecture specific subdirectory. Various bugfixes and minor improvements. -1.3 Version 2.6.8 +1.4 Version 2.6.8 ================= Configure option '-with-library-combo=ng-gnu-gnu' to use the 'Next @@ -73,7 +91,7 @@ you update any old gnustep-make version one makefiles. Garbage collection support to be removed at the next release. -1.4 Version 2.6.7 +1.5 Version 2.6.7 ================= Improved package building support @@ -84,14 +102,14 @@ Improved package building support Various minor bugfixes, documentation spelling corrections etc. -1.5 Version 2.6.6 +1.6 Version 2.6.6 ================= Debian packagge generation support added. Bug fixes -1.6 Version 2.6.5 +1.7 Version 2.6.5 ================= Bugfix for non-fragile ABI test @@ -102,32 +120,32 @@ Bugfix for non-fragile ABI test Added minimal test support for .c and .cc files. -1.7 Version 2.6.4 +1.8 Version 2.6.4 ================= Test framework enhancement (extended equality tests) Android build target -1.8 Version 2.6.3 +1.9 Version 2.6.3 ================= Bug fixes -1.9 Version 2.6.2 -================= +1.10 Version 2.6.2 +================== 'Added standalone filesystem layout for putting everything in' one directory for easy deployment of relocatable 'Other bug fixes' -1.10 Version 2.6.1 +1.11 Version 2.6.1 ================== Bug fixes -1.11 Version 2.6.0 +1.12 Version 2.6.0 ================== 'The default filesystem layout is now the 'fhs' layout' @@ -204,7 +222,7 @@ Bug fixes This makes it easier to use GNUstep with the gnu-gnu-gnu library combo on Apple Mac OS X. -1.12 Version 2.4.0 +1.13 Version 2.4.0 ================== 'You can enable the use of the non-fragile ivar ABI' @@ -450,7 +468,7 @@ Bug fixes on all gnustep-make versions that support library resources (ie, gnustep-make >= 2.0.x). -1.13 Version 2.2.0 +1.14 Version 2.2.0 ================== 'libobjc library' @@ -475,7 +493,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.14 Version 2.0.7 +1.15 Version 2.0.7 ================== 'default installation' @@ -516,7 +534,7 @@ Bug fixes test-application.make) are now linked against gnustep-gui by default. -1.15 Version 2.0.6 +1.16 Version 2.0.6 ================== 'GNUSTEP_ABSOLUTE_INSTALL_PATHS' @@ -543,7 +561,7 @@ Bug fixes the moment is not automatically installed unless you explicitly go in that subdirectory and install it. -1.16 Version 2.0.5 +1.17 Version 2.0.5 ================== 'default filesystem layout on apple-apple-apple' @@ -587,7 +605,7 @@ Bug fixes overridden for specific project targets by using the xxx_NEEDS_GUI variable (see above). -1.17 Version 2.0.0 +1.18 Version 2.0.0 ================== Version 2.0.0 is a new major release of gnustep-make which includes a diff --git a/Version b/Version index 6764f9df..7494f434 100644 --- a/Version +++ b/Version @@ -3,7 +3,7 @@ # The version number of this release. GNUSTEP_MAKE_MAJOR_VERSION=2 -GNUSTEP_MAKE_MINOR_VERSION=8 +GNUSTEP_MAKE_MINOR_VERSION=9 GNUSTEP_MAKE_SUBMINOR_VERSION=0 GNUSTEP_MAKE_VERSION=${GNUSTEP_MAKE_MAJOR_VERSION}.${GNUSTEP_MAKE_MINOR_VERSION}.${GNUSTEP_MAKE_SUBMINOR_VERSION}