***************** Important news **************************** For the 'Slottable Source Plugin Module' SSPM Features read README.SSPM ***************** Please Test ********************************* NEW features of cdrtools-3.01a30: This is the first localization step for cdrtools. All programs now (hopefully) call gettext() for all strings that need localization. - The next step will include dgettext() calls for the libraries. - 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 cdrtools should ***** ***** call all programs from cdrtools 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. ***** This version compiles on Win-DOS using the Microsoft compiler cl.exe but warning: due to missing POSIX compliance with basic features (e.g. stat() does not return inode numbers), there are many problems with the resulting code and thus it is recommended to better use a POSIX layer on top of WIN-DOS. *** WARNING *** *** Need new smake *** *** Due to the fact that schily-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, get a recent "schily" *** tarball from http://sourceforge.net/projects/schilytools/files/ *** and call: cd ./psmake ./MAKE-all cd .. psmake/smake psmake/smake install The new smake version mentioned above is smake-1.2.4. Note that smake-1.2.5 exists and is preferrable. Now you have a new smake that is able to compile this source. Note that the major makefile restructuring introduced in schily-2014-04-03 is now more than one month ago and thus seems to work without problems. 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! **************** This is the final release candidate for cdrtools-3.01-final **************** All: - include/schily/signal.h now includes siginfo.h to make sure it compiles even on very old Solaris versions where signal.h did not yet include siginfo.h. - include/schily/wait.h add a missing closing bracket for Haiku - include/schily/wait.h added CLD_* macros and the enum idtype_t in case they are missing. This allows to implement a waitid() emulation. - include/schily/wait.h now includes schily/signal.h in case that the local /usrinclude/sys/wait.h is non-POSIX and does not define siginfo_t. This is e.g. the case on FreeBSD. - The configure tests now include test that correctly identify Mac OS X as non-POSIX with respect to waitid(). This prevents potential users of waitid() from the unusable implementation on Mac OS X. The rule for accepting an existing waitid() is the following: - si.si_pid is set to be equal to the awaited pid - si.si_code == CLD_EXITED for a chilt terminated by exit(2) - si.si_status contains at least 16 bits from the exit(2) code. This is still not POSIX but better than what we would get from a historical wait*() call. - The configure tests now check for the new FreeBSD wait6() and for idtype_t. - A new symlink for x86_64-cygwin32_nt-gcc.rul was added - Added support for cygwin32_wow (not the already present cygwin32_wow64). - The makefile system now allows to use: COPTX=-DNO_PRAGMA_WEAK to disable the use of #pragma weak. This may help to debug some oddities of the GNU linker. - The makefile system now includes a new test that needs constraints that are not really supported by autoconf: it checks whether the linker supports to link against external weak symbols in another file. For this reason, a handcrafted complest was written. This (currently) should fail on Cygwin due to a Cygwin bug. A platform that allows to link against weak symbols defines HAVE_LINK_WEAK. This permits the system to automatically detect usability once e.g. linking on Cygwin will be fixed. Thanks to Thomas Plank for reporting the known #pragma weak problem in a new source file (libschily/error.c). Note that error() is a UNIX (UNOS) libc function that exists since 1980 but some libc implementors do not follow the rule not to introduce incompatible interfaces for existing names. So we need to find a workaround on these platforms. - autoconf now checks for the type rlim_t in sys/resource.h Libschily: - libschily/comerr.c and libschily/fcomerr.c now have better comment. - libschily now uses the test: #if defined(HAVE_PRAGMA_WEAK) && defined(HAVE_LINK_WEAK) to prevent assuming that is suffucuent when the compiler supports #pragma weak. We also need to have a linker that links against weak symbols in libraries. HAVE_LINK_WEAK is e.g. not defined on Cygwin... Libcdrdeflt: Libdeflt: Libedc (Optimized by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de): Libfile: Libfind: Libhfs_iso: Libmdigest: - libmdigest now uses the test: #if defined(HAVE_PRAGMA_WEAK) && defined(HAVE_LINK_WEAK) to prevent assuming that is suffucuent when the compiler supports #pragma weak. We also need to have a linker that links against weak symbols in libraries. HAVE_LINK_WEAK is e.g. not defined on Cygwin... Libparanoia (Ported/enhanced by Jörg Schilling, originated by Monty xiphmont@mit.edu): Libscg: Libscgcmd: Libsiconv: Rscsi: Cdrecord: Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de): Readcd: Scgcheck: Scgskeleton: Btcflash: Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric Youngdale): HELIOS TODO: - Add the HELIOS UNICODE mapping code. This needs to be done at UCS-2 level for Joliet and UDF (instead of UTF-8) and only for Rock Ridge (in case of a UTF-8 based target locale) using UTF-8 based translations. - Make the Apple extensions work again with "mkisofs -find" TODO: - read Joliet filenames with multi-session if no TRANS.TBL or RR is present. I am looking for a volunteer for this task! Note that this can never be 100% correct as there is no relation between the names on the master (UNIX) filesystem, the ISO-9660 names and the Joliet names. Only the Rock Ridge names are untranslated with respect to the original files on the master (UNIX) filesystem. - add libecc/edc for CDI and similar. CYGWIN NT-4.0 NOTES: To compile on Cygwin32, get Cygwin and install it. For more information read README.win32 The files are located on: http://sourceforge.net/projects/cdrtools/files/alpha/ ... NOTE: These tar archives are 100% POSIX compatible. GNU tar may get some minor trouble. If you like a 100% POSIX compliant tar, get star from http://sourceforge.net/projects/s-tar/files/ of from the schily-* tarball at: http://sourceforge.net/projects/schilytools/files/ WARNING: Do not use 'winzip' to extract the tar file! Winzip cannot extract symbolic links correctly. Joerg