-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathAN-3.00
3654 lines (2373 loc) · 126 KB
/
AN-3.00
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
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
All:
- Better lint make rules
- Better autoconf rules for ACLs
- Better support for Linux on IBM-390
- Better support for Linux on AMD x86-64
- Better conforming to lint warnings.
- Now using "makefiles-1.6"
- Compilation on OS/2 should work again (-Zexe -> -o xxx.$(EXEEXT)
- The sleeptime to allow reading a GNU mmake related warning was reduced
to 2 seconds.
I am still waiting for GNU make to fix the bugs I did report in 1999.
- Support for 'make DESTDIR=xxx install' added
- Workaround for a Shell Bug on BSDi
- Install workaround for the fact that BSDI has chown(1) in /usr/sbin/
- cc-config shell script reworked
- Better configure tests for procfs include files
- Configure tests for fchown, chmod, fchmod, lchmod, futimes, lutimes
- Configure tests for fdopendir
- Configure tests for broken ext2fs includes files in Linux kernel
- Better SRCROOT search function in makefiles shell scripts
- New autoconf tests for broken <linux/ext2_fs.h>, <scsi/scsi.h> & <scsi/sg.h>
on various Linux systems
- astoull*() new in schily.h
- utypes.h now has MAX_ and MIN_ value definitions for all basic
system types.
- Support added to compile in 64 bit mode on Solaris Sparc.
Use: smake CCOM=cc64
- Support added to compile shared libraries with version
numbers for interface levels and make inofficial "interfaces"
static
- Prevent gmake to go into an enless loop on Solaris
in case that /usr/ucb/tr is before /usr/bin/tr in PATH
- Better autoconf error message in case that the expected
C-compiler could not be found.
- Mac OS X now installs files as root:wheel
- Supply linker mapfiles for all libraries. This allows cdrtools
to be compiled using shared libraries only and to properly
hide inofficial interfaces on Solaris (using ls)
Note that this feature is not yet available for GNU ld
- Support for DragonFly BSD added, thanks to [email protected]
- Default Cygwin install uid/group adapted to use available ids.
- New program btcflash added. Thanks to David Huang <[email protected]>
-
If you like all users to be able to call cdrecord root-less, you need
Solaris 10 or newer.
Edit the file /etc/security/exec_attr and add:
All:solaris:cmd:::/opt/schily/bin/cdrecord: privs=file_dac_read,sys_devices,proc_lock_memory,proc_priocntl,net_privaddr
All:solaris:cmd:::/opt/schily/bin/readcd: privs=file_dac_read,sys_devices,net_privaddr
All:solaris:cmd:::/opt/schily/bin/cdda2wav: privs=file_dac_read,sys_devices,proc_priocntl,net_privaddr
If you like to allow only specific user to use cdrecord,
use something like:
CD RW:solaris:cmd:::/opt/schily/bin/cdrecord: privs=file_dac_read,sys_devices,proc_lock_memory,proc_priocntl,net_privaddr
instead and make the related users members of the profile "CD RW"
by adding a line like:
joerg::::profiles=CD RW
into /etc/user_attr
Note that you either need to call cdrecord via "pfexec cdrecord ....."
or by using a profile aware shell (e.g. /usr/bin/pfksh)
- Better support for BeOS/Zeta in the makefile system
- Support for armv5teb-linux-cc was added to the makefile system
- Autoconf script added to 'conf' directory
- On May 15th 2006, I happily announced new features and the release of
the DVD-code into the OpenSource. After long discussions with various
people on OpenSource Licenses and their effects on interproject usage
and the effect on the authors themselves, I contacted the authors of
included parts in this software suite and got, in most cases their
support and grant on selecting the CDDL as the new license. Although
this took some time, it was worth reading the different OpenSource
licenses completely with some support of people working in that field.
Now I know why it took Sun so much time to offer OpenSolaris under
an OpenSource license...if you take a license change seriously, it is
a real hard job.
- The file "CONTRIBUTING" has been updated.
- The makefile system has been completely rewritten to be more reusable
and to not replicate code.
- The makefile system now supports to compile under "Services For Unix",
now called "Subsystem for UNIX-based Applications (SUA)",
a free POSIX add on from Microsoft (identifies as "Interix").
Note that you need the latest 'smake' relase smake-1.2a36 or never
from ftp://ftp.berlios.de/pub/smake/alpha/
Note that there is smake-1.2.1 available on
ftp://ftp.berlios.de/pub/smake/
Currently, cdrecord is not able to send SCSI commands from this
environment. I am looking for help from experienced users.
- The makefile system now supports to compile using the Microsoft
C-Compiler "cl".
Note that you need the latest 'smake' relase smake-1.2a36 or never
from ftp://ftp.berlios.de/pub/smake/alpha/
This compilation currently may only be cone from a "Cygwin" environment
using smake with the Environment variables set up in a way that allows
"cl" to work (find it's include files and libraries).
Run "smake CCOM=cl" for this kind of compilation.
Cdrecord has not yet been verified to compile in this environment.
Note that I am interested in feedback for these new compile possibilities.
- New function strlcpy() for better portability.
- New function strncpy() for better portability.
- Enhanced Makefile system for better MSVC support
- Enhanced Makefile system for C++ support
- Fixed some typos in dirdefs.h
- New functions getvallargs()/getvargs()/getvfiles()
allow to have a vector based interface to the
advanced argument parsing library functions.
Currently used by mkisofs.
- getargs.c is now at up to date again and libschily
from cdrtools is 100% complete and may be used
as a shared library to be used by e.g. star too.
- Added a workaround for a core dump problem with
running avoffset.c on FreeBSD/sparc64 (gcc)
- libschily now includes a fallback fnmatch() for better portability
This fnmatch() implementation has been taken from th BSD project.
- Fixed a bug in getvargs() that caused mkisofs -joliet-long to be
declared as illegal option.
- Several small format enhancements for getargs()
- getavrgs() is now (like getargs()) able to correctly handle
combinations of single char boolean flags
- include file system completely restructured to avoid future name conflicts.
The include files now have completely moved to include/schily/.
This also allows to make all include files available in /usr/include/schily/
in the future.
- fixed a type in include/schily/termios.h thanks to Steven M. Schweda for
reporting.
- All libraries now include support for compiling the code as shared library.
The code has been tested on Solaris but should also work in *BSD and Linux.
In order to compile with shared libraries, either call:
make LINKMODE=dynamic
or change the line
DEFLINKMODE= static
to
DEFLINKMODE= dynamic
for your OS in DEFAULTS/Defaults.<os_name>
I am interested in feedback for various OS platforms........
- The order for compiling the libraries has been changed to make the
compile process insensitive against old static libraris in the
library search path.
- New Schily autoconf test for gettext() and libintl
- include/schily/nlsdefs.h now also checks for the existence of HAVE_GETTEXT
- #undef SIZE_T_MAX in utypes.h for better FreeBSD support
- make file system restructured: all Schily include files are now located
in ..../include/schily/
- Now using new definitions from Steven M. Schweda in
include/schily/xmconfig.h
VMS users: in future, you need to specify cc -DUSE_STATIC_CONF
in order to get the old static configuration.
- new file schily/errno.h
- Fixed some files that did include <avoffset.h> instead of <schily/avoffset.h>
- Trying to make the floating point printf() support functions work
on systems that implement C99 only with no fallback.
As this change is a result from a report from a person that does not like
to cooperate, I was not able to test on the reported AIX-5.x platform.
Also note that this change may result in problems on other platforms.
Please test and report!
- The Schily Makefilesystem now includes environment definitions
for the Microsoft Studio 8 compiler. If you like to edit these
definitions, check the DEFAULTS directory
- Next step in supporting Microsoft C-compilers: build in environment
set up for the MS compilers. To compile with the MS C-Compiler,
set up a Cygwin environment and compile a Cygwin 'smake'.
Then use this smake to compile with the MS C-compiler by calling:
smake CCOM=cl
This defaults to VC7. If you like to use VC6, call:
smake CCOM=cl VC=6
Note that smake itself (if compiled with "cl") will not work, as
MS does not implement a reliable way to pass a quoted arg vector
to a new program.
Note that cdrtools do not yet completely compile with MSVC. This
is mostly caused by missing standard compliance in the MS C-compilers.
- A small restructuring of the include file structure:
new file include/schily/xconfig.h
include/schily/xmconfig.h now only contains manual static configuration
for VMS
- The Makefilesystem now includes links for sparc64 (Fujitsu-Siemens)
- Schily includefiles are now installed with "make install".
- Try to avoid a program exception with a call to access(".", E_OK|F_OK)
caused by a libc bug from the Microsoft C-compiler "cl".
- The makefile system now supports the Winsock library
- Correctly cast all open(name, oflag, 0666) calls to:
open(name, oflag, (mode_t)0666) as open is a vararg function.
- "libvms" new from Steven M. Schweda [email protected]
- -I. removed from standard c-compiler include path
- /usr/src/linux/include is no longer included if it contains
broken include files.
Please send a bug report to the Linux Kernel maintainers in case
that the makefile system reports broken Linux kernel include files.
- Support for WIN-NT-5.2 (MS-Windows 2003) added to the makefile system
- No longer using -ztext linker option for creating shared libs with GCC
as GCC does not create 100% correct binaries and this would abort
the process of creating a shared library.
- Better setup for the environment variables that are needed for the
Microsoft "cl" compiler.
NOTE: The current setup is for "english" versions of MS-WIN.
You may need to edit the files DEFAULTS/vc6-setup or DEFAULTS/vc7-setup
depending on your locale version and the "c"-compiler version you
are using.
- Prevent MSVC ("cl") from creating silly messages
like: "... Consider using strerror_s instead."
- Prevent MSVC ("cl") from complaining about deprecated
option "-ofilename"
- New autoconf tests for POSIX compliant time functions in libc
- GCC Warning setup no longer includes -Wtraditional
- Dynamic libraries are now supported for Mac OS X
- smake CCOM=xx will now result in writing DEFCCOM=xx into incs/Dcc.<platform>
if this is done on the initial make run.
conf/cc-config.sh now has one additional parameter
- Include $(DEFLTSROOT)/$(DEFLTSDIR)/$(VCSETUP) from
DEFAULTS/Defaults.cygwin32_nt already to allow the script
conf/cc-config.sh to detect that "cl" is working.
- DEFAULTS/vc7-setup & DEFAULTS/vc6-setup now set
.NOWARN: := to tell smake-1.2a41 or newer not to warn
about a nonportable assignment (we do
not have a UNIX "make" in Cygwin).
- smake COPTX=-DNO_LARGEFILES now allows to compile in non-largefile mode
- New targets "html" and "htmlx" for Manual page makefiles
allows to convert man pages using "man2html"
- New include file schily/wchar.h
- New include file schily/schilyp.h
- Typo in schily/param.h fixed
- schily/jmpdefs.h now includes support for sigsetjmp()
- configure now checks for ctime cftime ascftime strftime and
for libresolv and whether /bin/sh is bash
- remove libxxx.so link before trying to create it
- Allow a mixture of static and dynamic libraries to link against
a program
- Now using cdrecord/version.h for the global version number
- New autoconf test for struct timeval in sys/time.h
- New autoconf test for struct timezone in sys/time.h
- Changed include/schily/time.h to depend on the
new autoconf #defines HAVE_STRUCT_TIMEVAL and
HAVE_STRUCT_TIMEZONE
- The Schily makefile system is now also passing OS
specific #defines to "configure".
- New Schily makefile system Target "shell" allows to
call "make shell" in order to get a shell with exactly
the same environment as the compilers will see from
the makefile system. This helps testing.
- New autoconf test checks whether we need to call
"xx.exe" on a platform. This is needed in order to
be able to call the Microsoft compiler from the
SFU (Services for UNIX) environment.
- It is now possible to call the Microsoft compiler
from SFU. In order to do this, call "smake CCOM=cl"
If this does not work, you may need to change the
file DEFAULTS/vc7-interix-setup
- Trying to better deal with MS winsock2.h oddities in schily/time.h
- #undef iswalnum ... in schily//wchar.h before defining non wchar fallbacks.
- config.guess now knows about i386 Darwin (Mac OS X on Intel)
- Schily makefilesystem enhanced to check for extended
fields in struct utsname as seen e.g. in MS SFU (Interix).
- New predefined macro OSVERSION in the makefilesystem is needed
for SCO OpenServer 6.x support (because this uses a UnixWare
kernel
- Trying to support Compilation on SCO OpenServer 6.x
- New macro $(CC_OUTPUT_FILTER) allows to filter away the
unwanted file name echo from cl.exe.
- Interix now uses uname -m instead of uname -p for $(OARCH)
- Makefile support for pentium-4-unixware-cc.rul and
pentium-4-unixware-gcc.rul was added.
- New autoconf test for libiconv
- The Schily makefilesystem now by default searches in /usr/local/include
and /usr/local/lib if on FreeBSD. This is needed in order to find
libintl and libiconv.
- make html and make htmlx now works even on the top level directory
and creates html versions of the man pages
- fixed a typo in the autoconf test for C99 isinf/isnan
- Support for SunStudio 12 on Linux was added.
Call "make CCOM=suncc", but note that you then
will not be able to compile Linux specific functions like
support for ext2 file flags. This does not work because the
related include files are not written in clean C.
Note that nearly all programs from cdrtools depend on libscg
which uses platform specific code for every OS. As the Linux
kernel include files are not written in clean C, you cannot
compile libscg using Sun Studio. If someone from the Linux kernel
team would rewrite the Linux kernel include files to only use clean
C based constructs, cdrecord could be compiled with Sun Studio
compilers.
- Added a workaround to config.guess to get correct
platform names from "configure" even though suncc
does not #define __ELF__
- Linux specific autoconf tests are now only executed on Linux
based platforms
- Some make rule definitions for Cygwin restructured to allow
compilation with more Cygwin releases. The -D_WIN32_WINNT=
definitions are now only in effect if the selected compiler
is the Microsoft compiler.
- New include file schily/ioctl.h
- Added Support to create Blastwave SVr4 packages.
To create a Blastwave package, call:
.clean
smake -f Mcsw
You need the program "fakeroot" and will find the results
in packages/<arch-dir>
Note that this source tree will allow you to create the package
CSWcdrtools but not the packages CSWschilybase and CSWschilyutils
on which CSWcdrtools depends.
WARNING: libsiconv.a and it's character translation tables (located in
/opt/*/lib/siconv) are not part of CSWcdrtools but of CSWschilybase.
If you do not update CSWschilybase to include the character translation
tables used by libsiconv, mkisofs will not work correctly.
NOTE: the SVr4 package specific rules are approx. 10 lines of make rules.
It should be simple to create rule definitions for other package systems
found on platforms other than Solaris. Volunteers who like to help
to develop support for other packaging systems are welcome!
- Added a note to README.compile on how to work around a problem
in /usr/include/linux/types.h that prevents to compile cdrtools
on Linux using the Sun Studio compiler.
- A workaround against non autoconf friendly code in Cygwin has been
fixed in include/schily/iconv.h (a typo).
- Compilations with static configuration are now also possible on HP-UX
- All profiles libraries now have the same name as the non-profiled variants.
To create a profiled version of a command, do something like this:
cd cdrecord
smake clean
smake COPTX=-xpg LXOPTX=-xpg LINKMODE=profiled
For GCC use:
cd cdrecord
smake clean
smake COPTX=-pg LXOPTX=-pg LINKMODE=profiled
- More locale related autoconf tests (see mkisofs)
- Handling non-large file aware systems is now more correct
- Autoconfiguration documentation changed to make clear that $(LIB_ACL_TEST)
is sufficient for "test only" acl applications.
- New rules ip35-irix-cc.rul/ip35-irix-gcc.rul
- New rules i586-linux-suncc64.rul x86_64-linux-suncc.rul x86_64-linux-suncc64.rul
- New autoconf test HAVE_SYS_SIGLIST_DEF checks for sys_siglist[]
definition in signal.h Thanks to Tatjana Heuser for reporting
- Possibly double #defines HAVE_ICONV HAVE_ICONV_OPEN HAVE_ICONV_CLOSE
in include/schily/iconv.h fixed. Thanks to Tatjana Heuser for reporting
- The Schily Makefile system has been enhanced to install
the profiled version of the archives in a sub-directory "profiled".
This is done via a new macro SUBINSDIR=
- New autoconf test checks sizeof(time_t)
- New autoconf test for the existence of stack_t and siginfo_t in signal.h
- In order to allow better dealing with Solaris linker Mapfiles,
a getfp() function (calling abort(3)) is created when it is not
possible to implement this function because of compiler constraints.
- Many other enhancements of the autoconfiguration have been a result
of porting the Bourne Shell into the Schily Makefilesystem.
- added a make rule to automatically create the directory
./incs/
- A CSWscdrtools Blastwave package may be automatically
created from this source. Simply call:
smake -f Mcsw
and check the directory packages/ for the resulting package.
- Several fixes for the Blastwave compile (smake -f Mcsw):
- CSWcdrtools now depends on CSWpxupgrade, this allows
to either use a dummy (source) package for CSWpxupgrade
or the binary original package that is under NDA.
- smake now compiles without /opt/csw/ string in the binary
this makes smake100% relocatable.
- The sccs package is now a non-relocatable packet
because of /$INS_BASE/ccs/bin/* and because of
$INS_BASE/ccs/lib/locale/
- RULES/rules.csw now supports to create non-relocatable
packets by adding PKG_RELOC=no to the leaf Makefile
- Added an autoconf test for SIZEOF_FLOAT & SIZEOF_DOUBLE to allow
to compile the Bourne shell in 64 bit mode.
- several modification have been made to fix warning messages from
a "coverity" test run.
- config.guess now supports the "free" Apple Darwin variants
- New directory autoconf/ contains the complete Schily autoconf system.
It is based on GNU autoconf-2.13, the latest GNU autoconf that worked
correctly even on older systems.
- Sources and makefilesystem restructured to allow all needed files to be
retrieved from the SCCS repository and to call "make" later. To achieve
this, all symlinks have been removed from the tarball.
- The Schily Makefile System now includes rules to recreate the file
"configure" by calling "autoconf". This is needed in order to allow the
complete source tree to be extracted from the SCCS repository.
- Added a workaround for a GNU make design bug that causes the rules
to create file "foo" to be evaluated _past_ the "include foo"
statement in a Makefile has been evaluated. Note that you still need
GNU make 3.81. GNU make 3.80 and before will still fail to compile
cdrtools because of other unfixed GNU make bugs.
Note that the basic GNU make design bug has been reported to the
GNU make maintainers and accepted as bug by the GNU make maintainers
in 1998 already. It is still unfixed in GNU make although smake and
SunPro make verify that there is no problem to do it right.
- New autoconf test AC_CHECK_DLIB() checks for lib members while using
specified include files. This is a workaround for the autoconf hostile
gettext() and iconv() implementations on Linux.
- The gettext()/iconv() tests have been rewritten to use AC_CHECK_DLIB()
- The autoconf test AC_FUNC_VFORK from Paul Eggert was not written in
clean C and thus failed on a ANSI-C compiler, assuming that vfork()
is not available in the ANSI case.
- README.compile fixed to refer to READMEs/README.gmake instead of
README.gmake
- Symlink support in RULES/MKLINKS added for ia64-hp-ux-cc.rul and
ia64-hp-ux-gcc.rul, thanks to a hint from Steven M. Schweda
- DEFAULTS*/Defaults.dragonfly added
Thanks to a hint from Thomas Klausner
- Added a workaround for a Sun make bug
- Next attempt wo work around the non-autoconf friendly implementation
of GNU gettext and GNU libiconv.
- A new autoconf test allows to check whether the installed system shell
(/bin/sh) properly aborts with failed commands in "sh -ce 'cmd'".
If failed simple commands in "sh -ce 'cmd'" do not abort complex
commands, "make" will not stop on errors in the build process.
Note that this is a definite POSIX incompatibility.
The most well known defective shell with respect to this problem is "bash"
but /bin/sh on HP-UX-10.x (a Korn Shell modification) does not work
correctly either. If your system (Linux, HP-HX, ...) suffers from this
problem, I recommend to fetch the Schily Source consolidation from
ftp://ftp.berlios.de/pub/schily/
Use a version that has been published past September 1st 2008, compile
and install the contained Bourne Shell as "/bin/bosh". Then call
"./.clean" and compile again. The resulting "smake" will then
automatically call "/bin/bosh" instead of "/bin/sh" in order to
execute commands.
- Several Makefiles have been modified to support not only "make all"
but also "make install" without calling "make all" before. This was needed
after the change that omits the symlinks from the tar archive.
Thanks to a report from Klaus Ditze <[email protected]>
- Extended the file COPYING to mention that the GPL used by the "mkisofs project"
requires to publish the full source for all parts of mkisofs in case that you
publish mkisofs binaries.
- Added a new Changelog file for the changes since cdrtools-2.01
- RUlES/rules.prg no longer includes a line with SHELL=/bin/sh.
This is needed to allow to implement a workaround for various bash
bugs that affect makefiles in case that /bin/sh is linked to bash.
If your platform installs bash in /bin/sh (Linux, ....) or in case
that your platform offers a broken variant of the Korn Shell in /bin/sh
(like HP-UX), fetch the "Schily source consolidation" from
ftp://ftp.berlios.de/pub/schily/, compile everything and install the
original Bourne Shell, that comes with this packet, into /bin/bosh.
If you then call ./.clean and re-compile everything, you get a "smake"
that calls /bin/bosh instead of the broken system shell.
- Added an autoconf test for POSIX violations found in POSIX.1-2008.
The official POSIX rule is not to define "new" interfaces that
are in conflict with older interfaces of the same name.
Our interfaces fexec*() have been defined and published in 1982.
The new POSIX interfaces define a different interface and the
new POSIX interfaces even use names that are not compatible with
POSIX rules. The new POSIX interfaces in question should be called
fdexec*() to follow the rules of other similar POSIX functions.
Similar problems exist with getline()/fgetline().
We try to automatically rename our functions in case that the functions
could be found in the local libc.
- Config.sub now supports NetBSD on AMD64
- The email addresses in many files have been updated.
- config.sub and config.guess now support ATARI MiNT
- All needed definition files for ATARI MiNT are now in RULES/*
- configure now checks whether shmget() works (needed for ATARI MiNT)
- The GNU linker on Linux now seems to support -R to set the LD_RUN_PATH
Added support for -R
- Added definitions to allow dynamic linking with the Sun Studio compiler
on Linux
- Added a new #define (NO_ACL) that allowed to disable ACL support via
command line when compiling
- include/schily/libport.h split into include/schily/libport.h and
include/schily/hostname.h to allow to avoid to include netdb.h for
applications that do not need gethostname() and getdomainname()
- include/schily/prototype.h now includes the definitions for const...
- new autoconf test to check whether the Sun Studio compiler needs
-xarch=generic64 or -m64 for 64 bit compilation.
- Default install user changed from "bin" to "root".
- The install-sh script now complains if an attept was made to install
a program suid or sticky and the install user has no root privileges
- The makefile system has been modified to allow a separate set-up
for the install path of the configuration files to e.g. /etc/
via the DEFAULTS variable INS_RBASE
- New autoconf test to distinguish between the free of charge
"Bundled" cc on HP-UX and the commercial cc. Only the commercial cc
supports ANSI C and the Bundled cc complains when the ANSI Options
are used:
(Bundled) cc: warning 480: The -A option is available only with the C/ANSI C product; ignored.
(Bundled) cc: warning 480: The -O option is available only with the C/ANSI C product; ignored.
These warnings are no longer present.
- schily/schily.h now auto-includes stdio.h in case that the platform
supports the new POSIX.1-2008 getline()/fgetline() functions that
violate against general POSIX rules and thus overlay our implementation
that exists since 1982.
- schily/stkframe.h now uses Intptr_t for the fr_savp member to make it
work correctly on 64bit systems without OS supplied stkframe.h.
- New autoconf test on whether unistd.h defines extern char ** environ.
- New file schily/stdio.h to simplify layering.
- New Make rules for Syllable. Syllable is a fork from AtheOS.
- New make rules for Haiku
- New include file schily/sysexits.h is needed for Haiku
- New autoconf test for sysexits.h
- Autoconf tests for os2.h and os2me.h moved from cdda2wav to
global
- config.guess and config.sub now have support for Haiku
- New rule support for linux on "sh3", "sh4" and "sh4a" platforms.
- autoconf now acts more reliable and more orthogonal with AC_CHECK_TYPE() vs.
AC_CHECK_SIZEOF() and carefully includes include files separately based on
fine grained tests.
- Changed schily/dirent.h to correctly set up NAME_MAX on ATARI MiNT
- Changed schily/maxpath.h to correctly set up NAME_MAX on ATARI MiNT
- Add -D_GNU_SOURCE to the standard include flags for Linux in order
to unhide needed extensions.
- Trying to add support for compilation on WIN64 using cl and gcc
- Adding support for NT-6.0 (Win Vista) and NT-6.1 (Win 7)
- Several typo corrections
- New include file include/schily/wctype.h
- New autoconf test that checks for the differences between the original
iconv() implementation from Sun and the deviating POSIX standard.
This allows to avoid compiler warning messages for mkisofs.
- Trying to work around nasty Linux distributions that try to fool autoconf
function tests and thus may result in incorrect results for the functions
fexecl fexecle fexecv fexecve fspawnv fspawnl fspawnv_nowait getline fgetline
- New include files include/schily/dlfcn.h and include/schily/shcall.h
- New autoconf tests for dlopen() and similar functions
- Fixed a typo in include/schily/fnmatch.h that prevented compilation on BeOS
- Fixed a typo in include/schily/libport.h that prevented compilation on BeOS
- New makefile "Mocsw" allows to create packages for "opencsw"
- RULES/rules.csw enhanced to allow to overwrite EMAIL= and HOTLINE= from
the make command line.
- New autoconf test for getprogname()/setprogname()
- Support for using Microsoft "cl" to compile 64 bit binaries from Cygwin now
has been finished
- Support for 64 bit compilation on mac OS X was added.
Call make CCOM=cc64 as on other platforms.
- $OLIBSDIR is no longer in the RUNPATH
- New include file include/schily/limits.h
- Make sure that all include files in include/schily/ include
include/schily/mconfig.h
- wide character support new
- New makefile "Mocsw" sets defaults for "opencsw" instead of Blastwave.
Mcsw for Blastwave of course continues to exist
- New defaults directory DEFAULTS_CSW includes special defaults that
compile e.g. for Sparc-V8 in order to get working binaries for older
Sparc non 64 Bit hardware.
- New autoconf test HAVE_SETBUF and HAVE_SETVBUF
- Several modification in hope to better support MINGW
- New include files include/schily/ctype.h, include/schily/pwd.h
and include/schily/grp.h
- All programs are now using schily/stdio.h
for orthogonality.
- Haiku default install dir is now /boot/opt/schily
- New rules RULES/os-cygwin_nt-6.0-wow64.id and
RULES/os-cygwin_nt-6.1-wow64.id support Cygwin on 64bit
installations of Win Vista and "Win 7".
- New rules for compiling 64 Bit binaries on cygwin_nt-wow64
NOTE: You need to have a 64 bit aware gcc on Cygwin to use this!
- TEMPLATES/temp-gcc.rul and TEMPLATES/temp-xcc.rul
now correctly include cc-gcc.rul and cc-dumb.rul and thus
make the automake feature working again for completely
unknown platforms.
- Fixed RULES/rules.inc to make sure we install xx.h instead of
xx.h.exe
- Workaround an infinite hang in an autoconf test on 64 Bit Vista
with Cygwin
- Include limits.h in schily/hostname.h for Linux
- Several "%s" formats have been introduced in order to make gcc-4
happy even though the original strings have been pointer to constant
and well known strings
- Change the option order in the autoconf test for calling the linker
in order to avoid problems with the microsoft linker.
- include/schily/wait.h now includes process.h on DOS systems
- include/schily/resource.h new include file
- include/schily/select.h new include file
- Now all sources use schily/systeminfo.h instead of sys/systeminfo.h
- Now all sources use schily/assert.h instead of assert.h
- Now all sources use schily/priv.h instead of priv.h
- Now all sources use schily/procfs.h instead of profcs.h
- Now all sources use schily/syslog.h instead of syslog.h
- Now all sources use schily/float.h instead of float.h
- Now all sources use schily/ipc.h instead of sys/ipc.h
- Now all sources use schily/sem.h instead of sys/sem.h
- Now all sources use schily/shm.h instead of sys/shm.h
- New autoconf test for "#pragma weak"
- The schily makefilesystem now by default sets all locale related environment
variables to "C" in order to avoid problems.
- Make the makefile emulation mode for "non-automake aware" make programs
like SunPro Make and GNU make more immune against oddities in the tr(1)
program that are seen with a locale that differs from LC_ALL=C
Another step to prevent some tr(1) oddities was to replace the call to
tr(1) by a call to sed(1).
- Added GMAKE_NOWARN=true to allow to disable the gmake warning with nested
make files
- Enhanced include/schily/priv.h to distinct Solaris and AIX process privileges
- New include file include/schily/math.h
- Try to workaround a problem with GCC on newer AIX versions. It seems that
e.g. gcc on AIX is not C99 compliant and does not support isnan().
Note that the current solution may compile and run on newer AIX versions
but does not seem to be the optimal solution as it cannot check whether
a float is a number or not.
- *BSD comes with a broken sed(1), so we need to go back to tr(1) based
code for GNU make in the Schily Makefilesystem.
- Added support for amd64-netbsd-cc.rul to the Schily Makefilesystem
- Added support for DragonFly BSD to config.guess and config.sub
- Added support for 64 bit compilation on HP-HX using "cc".
Use make CCOM=cc64 as usual to switch to 64 bit compilation.
- Prevent a compiler warning when compiling 64 bit binaries on HP-UX
using make CCOM=cc64
- Some files in include/schily/*.h have been enhanced to better support VMS
- config.guess now knows about OpenVMS
- Changed bash test to use --version instead of -version as bash on OpenVMS
is bash-1.x
- include/schily/xmconfig.h (containing a "static" configuration for VMS
because "configure" does not work on VMS) was enhanced.
- Trying to add support for OpenVMS to RULES/*
- New autoconf tests for the type "long double" and a new "max size" type.
- VMS rules for libraries not create an archive XXX.olb instead of libXXX.a
- schily/utypes.h enhanced to allow to define maxint_t which is
missing on VMS
- Better autoconf test for union wait vs. int for platforms that
define union wait but use int as wait() parameter.
- schily/vfork.h now includes unistd.h as the related definitions
are there on Solaris
- Fixed a configure bug with opendir() inherited from GNU autoconf
- Enhanced the vfork() autoconf test to avoid a hang on VMS
- Support for 64 Bit compilation was added for IRIX.
Call smake CCOM=cc64 or smake CCOM=gcc64 as usual.
- C++ compilation support fior IRIX was added to the makefile system
- Schily Makefile rules no longer contain Simple Suffix Rules.
All default rules are now based on Pattern Matching Rules.
This speeds up smake.
- Added autoconf test to distinct Linux ACLs from IRIX ACLs
- Added support for Hurd on i686 to the Schily Makefilesystem.
- Modified conf/mkdir.sh to work around a deviation found in
/usr/xpg4/bin/sed on Solaris
- Modified conf/src-get to include conf/src-get in PATH to make
recursive calls to src-get work.
- include/schily/stat.h now supports nanosecond timestamps in struct stat on AIX.
- New autoconf test for nanosecond time stamps on AIX.
- conf/mkdir.sh
- conf/mkdep-aix.sh was changed to avoid warnings for #pragma weak a = b
as the IBM C-compiler calls a non "#pragma weak" cpp when called with -E
- Added support for DragonFly/x86_64
- Support for "pcc" on Solaris x86 was added as a first step.
The C-Compiler "pcc" http://pcc.ludd.ltu.se/ is based on the
Portable C-Compiler from AT&T from the late 1970s. It is
under BSDl and thus offers compilation with a really free
build environment.
Note that due to a pcc bug, the autoconf results for
Large File support are incorrect. Unless you edit the file
incs/i386-sunos5-pcc/xconfig.h and manually correct the
file to contain this:
#define _FILE_OFFSET_BITS 64 /* # of bits in off_t if settable */
You will not get working large file support.
Support for more Operating system will follow after the issues
in the compiler have been resolved.
- New autoconf test checks whether fnmatch() has a working FNM_IGNORECASE
- New autoconf test for strlcat() wcslcat() strnlen() wcsnlen()
- Trying to add support for 32 bit compilation on newer Mac OS X
version via smake CCOM=cc32
This only works if 32 Bit development support is installed on Mac OS X.
- Trying to add support for 32 bit compilation on newer Linux
version via smake CCOM=cc32
This only works if 32 Bit development support is installed on Linux.
- include/schily/wchar.h now includes support for the mbr*() multi-byte
character handling routines.
- include/schily/regex.h added
- include/schily/libgen.h added
- New autoconf tests for basename() dirname() strndup() wcsndup()
mbsinit() mbrtowc() wcrtomb()
- New autoconf tests for wctype_t mbstate_t
- A new make macro STRIPFLAGS allows to install stripped binaries by calling
smake STRIPFLAGS=-s install
- Conf-files in /etc/default are now installed 0644 by default
- Man pages are now by default installed in $(INS_BASE)/share/man
The base directory "share" may be changed by calling
smake DEFMANBASE=something
- README.compile now mentions: