New features with AN-2017-05-03:

This is the first localization step for the schily source consolidation. Many
programs now (hopefully) call gettext() for all strings that need localization.

-	The next step will include dgettext() calls for the libraries and the
	missing programs

-	The following step will include the extracted strings

-	The last step will include German translations and install support
	for the resulting binary message object files.

----------> Please test and report compilation problems! <---------

***** NOTE: As mentioned since 2004, frontends to the tools should *****
*****		call all programs in the "C" locale		   *****
*****		by e.g. calling: LC_ALL=C cdrecord ....		   *****
*****		unless these frontends support localized strings   *****
*****		used by the cdrtools with NLS support.		   *****

		*** WARNING        ***
		*** Need new smake ***

	*** Due to the fact that schily-tools 2014-04-03 introduced to use new macro
	*** expansions and a related bug fix in smake, you need a new smake
	*** to compile this source. To ensure this, call:

	cd ./psmake
	./MAKE-all
	cd ..
	psmake/smake
	psmake/smake install


	WARNING: the new version of the isoinfo program makes use of the 
		*at() series of functions that have been introduced by Sun
		in August 2001 and added to POSIX.1-2008. For older platforms,
		libschily now includes emulations for these functions but
		these emulations have not yet been tested thoroughly.
		Please report problems!

	The new smake version mentioned above is smake-1.2.4


-	autoconf: added a test for atexit() and on_exit() for SunPro Make

-	autoconf: added a test for sys/loadavg.h for SunPro Make

-	autoconf: Added a new test for getloadavg() for SunPro Make

-	autoconf: added a test for ranlib.h for SunPro Make

-	autoconf: added a test for "libnsl" and $(LIB_NSK) as SunPro Make 
	uses gethostbyname()

-	autoconf: Added new tests for host2netname() and netname2host()
	for SunPro Make

-	autoconf: added a test for the existence of timestruc_t in sys/stat.h

-	autoconf: Added new tests for atexit() vs. on_exit()

-	autoconf: Added new tests for vprintf(), vfprintf(), vsprintf(),
	vsnprintf() for SunPro Make

-	schily/maxpath.h now supports MAXNAMELEN to help with SunPro Make

-	schily/unistd.h extern char **environ is now in the
	cplusplus guard

-	schily/libport.h no longer uses a formal parameter named "new" in
	order to avoid problems with C++

-	RULES/cc-*.rul: The compiler files without C++ support no longer 
	have a tab after $(NUMBER_SIGN) as this prevents the intended use case.

-	RULES/9000-725-hp-ux-gcc.rul and RULES/cc-hp.rul now support creating
	shared libraries by using "ld -b" instead of using the compiler to
	link.

-	SunPro Make is now listed in TARGETS/ and thus automatically compiled.
	As there is not yet any feedback for rare platforms, the compilation
	has been moved to the end to allow to compile the rest in case of a
	problem.

-	SunPro Make general porting work:

	-	Makefiles now contain -DSCHILY_INCLUDES to make sure that
		the schily inlude files are selected

	-	Converted to use schily/getcwd.h to allow to use both
		getcwd() and getwd()

	-	The automated switch to POSIX behavior now also appears
		when xpg4/bin/ is part of the pathname of the make binary.

	-	Use <schily/stat.h> and the #define stat_mnsecs() to
		access the nanosecs from struct stat in a platform
		independent way.

	-	Use HAVE_ATEXIT instead of wrong heuristic in order
		to distinct between atexit() and on_exit()

	-	Reorder the includes to have most includes done by

		-	Make/include/mksh/defs.h
		-	Make/include/vroot/args.h

-	SunPro Make: ported to FreeBSD:

	-	Changed some variables from int to long as they are used
		with scanf("%ld"). The reason is: FreeBSD by default compiles
		64 bit binaries with int != long

	-	Changed some #includes to be more portable

	-	made some #ifdef's less OS specific but rather specitic to
		a usecase.

	-	Added $(LIB_INTL) to the link list in the Makefile as
		FreeBSD needs -lintl for gettext()

	-	Added $(LIB_NSL) to the link list in the Makefile as
		FreeBSD has no -lnsl but gethostbyname() in libc.

	-	#include <stropts.h> removed, it is never used in the
		non-distributed version we support.

	-	the type timestruc_t is only available on Svr4.
		We now use a #define to "timespec" in case that
		timestruc_t is missing.

	-	FreeBSD does not support O_DSYNC, use O_SYNC instead.

	-	Use #include <schily/alloca.h> to cover all platforms.

-	SunPro Make: Ported to HP-UX:

	-	Removed -D_FILE_OFFSET_BITS=64 from Makefiles as we now
		use the portable -DUSE_LARGEFILES from <schilx/mconfig.h>

		WARNING: SunPro Make cannot be compiled in largefile mode
		on HP-UX-10.x as there is a bug in /usr/include/_inttypes.h
		that prevents C++ programs to use the large file mode.
		If you do not need the largefile mode, compile with:

			smake CCOM=gcc C++OPTX=-DNO_LARGEFILES

		or fix the file /usr/include/_inttypes.h manually.

	-	HP-UX-10.x does not have wctype.h, use #ifdef HAVE_WCTYPE_H
		and do nit include it - wchar.h includes the neexed
		definitions on HP-UX-10.x.

	-	Creating shred librawies with HP-UX is now supported

-	SunPro Make: Ported to MacOS X

	-	Mac OS X needs -lc when creating a shared library

-	SunPro Make: AIX has not yet been tested... our test machine is
	waiting for a AC power installation. If you are interested, test
	and report!

-	bsh: kill -l now works to list realtime signals with
	FreeBSD and NetBSD.

-	Bourne Shell: kill -l now works to list realtime signals with
	FreeBSD and NetBSD.



-	strar: Not yet ready, the current status is:

	This command is usable for basic work already The following features
	are currently missing:

	-	A method to descend directory trees, e.g. libfind

	-	A noclobber flag

	-	A method to avoid to replace files that are more recent on
		disk than in the archive.

	-	Set the file permissions

	-	Set the original file time stamps

	-	Set the original file owners.

	These features will be implemented in a future version.




-	Bourne Shell Missing features for POSIX compliance:

	- Support for $'...' quoting (this is not needed for the current
					version of POSIX but for the next POSIX
					version that will be named SUSv8).
					The development of SUSv8 will start in
					late 2016.

	We are now expecting the Bourne Shell to be fully POSIX compliant.


-	Bourne Shell further TODO list:

	-	Try to make

		lastline=
		while read line
		do
			lastline=$line
		done < /etc/passwd
		echo "lastline=$lastline"

		print the last line of /etc/passwd without the exec "trick"
		that is documented in the man page.
	
	-	Finish loadable builtin support.

	-	POSIX does not allow us to implement ". -h", so we will
		add a "source" builtin to be able to implement "source -h"

-	The following builtins (that are available in bsh) are still missing in
	the Bourne Shell:

	err			echo with output going to stderr
	glob			echo with '\0' instead of ' ' between args
	env			a builtin version of /usr/bin/env

	The following bsh intrinsics are still missing in the Bourne Shell:

	-			the restricted bsh has restriction features that
				are missing in the Bourne shell.

	-	source -h	read file into history but do not execute

	and probably more features not yet identified to be bsh unique.



Author:

Joerg Schilling
D-13353 Berlin
Germany

Email: 	joerg@schily.net, js@cs.tu-berlin.de
	joerg.schilling@fokus.fraunhofer.de

Please mail bugs and suggestions to me.
