1New features with AN-2011-08-10:
2
3This is the first localization step for the schily source consolidation. Many
4programs now (hopefully) call gettext() for all strings that need localization.
5
6-	The next step will include dgettext() calls for the libraries and the
7	missing programs
8
9-	The following step will include the extracted strings
10
11-	The last step will include German translations and install support
12	for the resulting binary message object files.
13
14----------> Please test and report compilation problems! <---------
15
16***** NOTE: As mentioned since 2004, frontends to the tools should *****
17*****		call all programs in the "C" locale		   *****
18*****		by e.g. calling: LC_ALL=C cdrecord ....		   *****
19*****		unless these frontends support localized strings   *****
20*****		used by the cdrtools with NLS support.		   *****
21
22-	Changed the default Microsoft compiler version to VC9
23
24	Please note that the Microsoft environment violates nearly all
25	available standards.
26
27	It is a hard job to make things compile with a compiler that
28	is more than 12 years behind IEEE standards.
29
30	It is a harder job to deal with an OS environment that ignores
31	nearly every POSIX rule.
32
33	Just note that MSC returns stat.st_ino == 0 for all files
34	with stat(). This causes POSIX compliant software to believe that
35	all files are hardlinked together.
36
37	Thanks to Johannes Hausensteiner <johau@gmx.net> for giving the
38	initiation for this actual porting attempt and for doing some
39	tests with mingw.
40
41	Thanks to Frank Kanschur <frank.kanschur@gmx.de> for giving
42	ideas on how to implement things for Win-DOS
43
44	Thanks to Alex Kopylov <cdrtools@bootcd.ru> for writing some
45	code for mingw and for creating a missing callback-function
46	for the audio speaker outout from cdda2wav.
47
48-	Fixed the vc9-setup files to make VC9 work.
49
50-	Newer Cygwin "tail" versions do no longer support UNIX syntax.
51	change tail +2 to tail -n +2 in RULES/cc-mcs.rul to allow to use
52	the Microsoft compiler again
53
54-	A new environment variable MKLINKS_COPY allows to tell all
55	MKLINS scripts to generate file copies rather than symlinks.
56	Call:
57		MKLINKS_COPY=true
58		export MKLINKS_COPY
59	to enable this feature
60
61-	Run an additional test -h command in MKLNKS to verify whether mingw
62	supports symlinks
63
64-	MKLINKS now creates copies instead of symlink when we use MSC
65	as MSC does not support to read symlinks files
66
67-	Fixed a typo in include/schily/libport.h (group functions have been
68	defined to return struct passwd* instead of struct group*
69
70-	Fixed wrong bracketing for C++ in include/schily/stdlib.h
71
72-	Fixed wrong bracketing for C++ in include/schily/utypes.h
73
74-	Added a workaround for MSC to include/schily/utypes.h
75	MSC believes that a 32 bit int and a 32 bit long are incompatible
76	and cannot even be casted, so we need to make uint32_t a n unsigned long
77
78-	Let include/schily/archdefs.h define the standard processor #defines
79	when compiling with MSC.
80
81-	New include file include/schily/windows.h works around the oddities
82	from the MSC include file windows.h
83
84-	include/schily/stdio.h now defines popen()/pclose() to _popen()/_pclose()
85	if on WIN-DOS
86
87-	include/schily/limits.h now defines PIPE_BUF
88
89-	include/schily/utsname.h now defines struct utsname for our MSC uname()
90	emulation.
91
92-	New autoconf tests for memcmp() and memccpy()
93
94-	New autoconf tests for spawn*(), cwait() process.h
95
96-	New autoconf tests for pipe() / _pipe()
97
98-	include/schily/unistd.h now defines pipe() via _pipe() on WIN-DOS
99
100-	Many rewritten autoconf tests in order to work around the oddities
101	from MSC (cl).
102
103-	New functions zerobytes() and cmpmbytes() added to libschily.
104
105-	Fixed libschily/gettimeofday.c to compile with MSC
106
107-	Fixed libschily/sleep.c to compile with MSC
108
109-	Fixed libschily/usleep.c to be empty with MSC as sleep.c includes
110	a working usleep()
111
112-	libschily/gethostname.c enhanced to support Win-DOS with cl.exe
113
114-	libschily/uname.c New function to support Win-DOS with cl.exe
115
116-	libschily/dirent.c New functions: opendir()/closedir()/readdir()
117				to support Win-DOS with cl.exe
118
119-	libschily/kill.c New function to support Win-DOS with cl.exe
120
121-	libschily/stdio/fgetline.c 64 bit speedup by calling fgets() in
122	case that getc() is not a macro.
123
124-	libschily/stdio/fgetstr.c 64 bit speedup by calling fgets() in
125	case that getc() is not a macro.
126
127-	libshedit/include/stdio.h now includes a workaround against a
128	redefinition of FILE stdout, .... from wchar.h on MSC
129
130-	libshedit/expand.c bsh/expand.c bsh/test.c sh/test.c now
131	include a workaround to the fact that MSC does not allow
132	to redefine compiler built-ins in case the optimizer is
133	in use
134
135-	libscg/scsihack.c not also uses the ASPI/SPTI code from
136	libscg/scsi-wnt.c in case the code is compiled with MSC
137
138-	Several changes in libscg to work around the problems from
139	using an original MSC windows.h: use <schily/windows.h>
140	instead.
141
142-	smake now compiles with with MSC
143
144-	cdrecord/cdrecord.c now checks for HAVE_KILL as MSC does not
145	define kill()
146
147-	cdda2wav/cdda2wav.c was fixed to compile with MSC
148
149-	cdda2wav/sndconfig.c was fixed to compile with MSC
150
151-	bsh now only sets up signal handlers for existing signals to support MSC
152
153-	change now only sets up signal handlers for existing signals to support MSC
154
155-	p now only sets up signal handlers for existing signals to support MSC
156
157-	patch now only sets up signal handlers for existing signals to support MSC
158
159-	sccs now only sets up signal handlers for existing signals to support MSC
160
161-	sdd now only sets up signal handlers for existing signals to support MSC
162
163-	sformat now only sets up signal handlers for existing signals to support MSC
164
165-	sh now only sets up signal handlers for existing signals to support MSC
166
167-	star now only sets up signal handlers for existing signals to support MSC
168
169-	star fixed a typo in dumpdates.c that hit on WIN-DOS because flock() is
170	not present
171
172-	star now checks HAVE_FSYNC to support MSC
173
174-	star::findinfo.c now checks whether stat.st_blksize exists
175
176-	diff now compiles with MSC (signals & S_IF* from sys/stat.h)
177
178-	ved now only sets up signal handlers for existing signals to support MSC
179
180New SCCS features:
181
182-	This is the first step towards the upcoming SCCS v6, as this version of
183	SCCS starts to support features that are not understood by earlier versions
184	of SCCS. As the SCCS v6 file format is not yet fully defined and we don't
185	like to cdreate files by accident that are not understood by older versions,
186	you need to set the environment variable "SCCS_VERSION" to enable the new
187	features.
188
189-	SCCS now supports to archive files as text files even when they contain
190	lines that start with ^A. This is a SCCS Version 6 feature.
191	If you like to use this feature now, you need to set the environment
192	variable "SCCS_VERSION".
193
194	To implement support for text lines that start with ^A, SCCS now
195	checks for "^A^Atext" at the beginning of a line in the history file and
196	extracts it as "^Atext".
197
198-	SCCS now supports to archive files as text files even when their last
199	line does not end in a newline character. This is a SCCS Version 6
200	feature. If you like to use this feature now, you need to set the
201	environment variable "SCCS_VERSION".
202
203	To implement support for text lines at the end of a file that do not end
204	in a newline, SCCS now checks for "^ANtext" at the beginning of a line in
205	the history file and extracts it as "text".
206
207-	SCCS now supports to archive files as text files even when they do not
208	end in a newline character. This is SCCS Version 6 feature.
209	If you like to use this feature now, you need to set the environment
210	variable "SCCS_VERSION".
211
212
213-	SCCS bdiff bow is compatible to diff(1) and outputs a newline even after
214	files that do not end in a newline
215
216
217-	The SCCS admin man page metter mentions the POSIX aspects for the
218	'i' and 'l' flags in the SCCS history files.
219
220-	The SCCS admin page and the sccsfile man page now have a better
221	description for the 'j' flag (Joint Editing).
222
223-	The sccsfile man page now has a complete description on how the
224	checksum is computed
225
226-	The sccs man page now mentions that only the statisctics numbers
227	in the SCCS history files are limted in range from 00000 to 99999.
228	Other numbers are not limited to allow an arbitrary number of
229	deltas.
230
231-	Struct "apply" was reduced in size from 3xint to 3xchar. This is
232	important with hundreds of thousands of deltas in order to limit
233	the SCCS memory footprint.
234
235-	A bug in fmalloc.c (introduced by Sun in the past 20 years) has been
236	fixed: fmalloc() no longer mallocs sizeof (int) (typically 4) times
237	more memory than needed. This is important with hundreds of thousands
238	of deltas in order to limit the SCCS memory footprint.
239
240-	Copying SCCS history now gives better performance as it no longer
241	calls a path name manipulation function for each written line in
242	a history file.
243
244-	strchr() is used instead of the local function any() to speed up
245	things.
246
247-	The zero() function was speed up with code from fillbytes.c to
248	speed up clearing large chunks of data.
249
250-	The diff program now reads bigger chunks of data and uses memcmp()
251	to speed up operation.
252
253All speed ups indroduced in the past 6 months cause that this version
254of SCCS only consumes aprox. 1/3 of the CPU time from Sun SCCS.
255
256-	SCCS now checks HAVE_FSYNC to support MSC
257
258
259Author:
260
261Joerg Schilling
262D-13353 Berlin
263Germany
264
265Email: 	joerg@schily.isdn.cs.tu-berlin.de, js@cs.tu-berlin.de
266	joerg.schilling@fokus.fraunhofer.de
267
268Please mail bugs and suggestions to me.
269