forked from gnustep/tools-make
-
Notifications
You must be signed in to change notification settings - Fork 1
/
NEWS
587 lines (437 loc) · 20.5 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
1 NEWS
******
The currently released version is '2.7.0'.
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
Improved environment variable support
Improved Java support
Various minor bugfixes, documentation spelling corrections etc.
1.4 Changes in version '2.6.6'
==============================
Debian packaging support
Minor bugfixes.
1.5 Changes in version '2.6.5'
==============================
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.
1.6 Changes in version '2.6.4'
==============================
Test framework extended equality tests.
Android build target
1.7 Changes in version '2.6.3'
==============================
Minor bugfix release.
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.
1.9 Changes in version '2.6.1'
==============================
Bug fix release. Most notably to fix a problem compiling GNUstep with
clang.
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
* -enable-absolute-install-paths is now the default on Darwin
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.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
* Use install -p if available.
* make uninstall works better now.
1.13 Changes in version '2.0.8'
===============================
Minor bug fix to deal with installing in different domains
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.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.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.17 Changes in version '2.0.4'
===============================
Fixed a bug finding relative paths on Windows (during configuration).
1.18 Changes in version '2.0.3'
===============================
New man pages for tools. Better uninstallation of files Add Windows
installer makefile for Applications.
1.19 Changes in version '2.0.2'
===============================
Update license to GPLv3.
1.20 Changes in version '2.0.1'
===============================
Bug fixes in filesystem layout and framework installation.
1.21 Changes in version '2.0.0'
===============================
The Makefile package has had a major makover which befits a major
version update. The most user-visible change of this is customized
filesystem support. GNUstep can now be configured and installed using
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
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
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
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.
* 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.
* 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.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.
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
paths.
1.23 Changes in version '1.12.0'
================================
Minor fixes.
1.24 Changes in version '1.11.2'
================================
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.
You no longer need to source GNUstep.sh in order to compile GNUstep
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
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
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
files in the xxx_OBJCC_FILES variable, and put extra ObjC++ flags in
xxx_OBJCCFLAGS or ADDITIONAL_OBJCCFLAGS.
1.25 Changes in version '1.11.1'
================================
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,
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.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.
* 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
new GNUstep.conf file (which is not installed by default).
* Psuedo-framwork support was implemented on MingW. This essentially
involves copying the framework to several places so it can be used
without links, which Windows does not really support. There's no
other clean way to do it.
* Support for xxx_WINDRES_FILES on MinGW was implemented.
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
GNUsteprc after configuration.)
* 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
configure to enable use of built in objc exceptions with compilers
that support it.
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.29 Changes in version '1.9.1'
===============================
* Remove '--disable-import' option
* README.Darwin for darwin/MacOSX install
* Framework version and naming clarified.
1.30 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.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
problem unless your GNUstep directory is shared by multiple machines
running this and earlier (1.6.x) versions of the software.
1.32 Changes in version '1.7.4'
===============================
Bug fixes.
1.33 Changes in version '1.7.3'
===============================
* Adds library combo to Headers directory if not flattened.
* Add Markup file (Renaissance) support.
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.35 Changes in version '1.7.1'
===============================
Bug fixes.
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 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
incompatibilities.
Other changes:
* Support for preprocessed Info.plists.
1.37 Changes in version '1.6.0'
===============================
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
of nx-nx-nx on OSX systems.
* More efficient checks for re-making a project.
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.39 Changes in version '1.5.0'
===============================
* Add NetBSD Elf support
1.40 Changes in version '1.4.0'
===============================
* Update Darwin/GNU gcc and Irix targets
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.
1.42 Changes in version '1.3.3'
===============================
* Recognizes XXX_STANDARD_INSTALL=no to not do installation.
* Updated instructions for MingW/MSYS installation.
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.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
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
types.
* Simplified and fixed user root location between make and base
libraries.
* Changed Apps directory to Applications
* Fixes for MacOSX, MingW
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.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
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
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.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.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.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.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
libraries wanting to add extra package information can do so by
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.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.
* 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.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
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.