|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| MSVC/ | H | 18-Apr-2019 | - | 1,153 | 1,019 |
| doc/ | H | 03-May-2022 | - | 20,883 | 17,717 |
| example/ | H | 03-May-2022 | - | 11,029 | 8,386 |
| include/ | H | 03-May-2022 | - | 13,462 | 5,979 |
| lib/ | H | 03-May-2022 | - | 39,966 | 26,359 |
| m4/ | H | 18-Apr-2019 | - | 10,441 | 9,515 |
| package/ | H | 18-Apr-2019 | - | 138 | 106 |
| src/ | H | 03-May-2022 | - | 10,644 | 8,283 |
| test/ | H | 03-May-2022 | - | 12,279 | 9,482 |
| AUTHORS | H A D | 12-Aug-2018 | 69 | 3 | 2 |
| COPYING | H A D | 12-Aug-2018 | 34.3 KiB | 675 | 553 |
| ChangeLog | H A D | 18-Apr-2019 | 554.9 KiB | 18,026 | 11,571 |
| INSTALL | H A D | 12-Aug-2018 | 12.8 KiB | 322 | 244 |
| Makefile.am | H A D | 13-Apr-2019 | 4.4 KiB | 146 | 94 |
| Makefile.in | H A D | 03-May-2022 | 34.3 KiB | 1,067 | 928 |
| NEWS.md | H A D | 17-Apr-2019 | 22.9 KiB | 625 | 515 |
| README | H A D | 12-Aug-2018 | 3 KiB | 63 | 48 |
| README.libcdio | H A D | 17-Sep-2018 | 7.4 KiB | 182 | 144 |
| THANKS | H A D | 17-Apr-2019 | 2.9 KiB | 113 | 78 |
| TODO | H A D | 12-Aug-2018 | 4 KiB | 96 | 71 |
| aclocal.m4 | H A D | 17-Apr-2019 | 43.1 KiB | 1,200 | 1,091 |
| compile | H A D | 20-Jan-2019 | 7.2 KiB | 348 | 258 |
| config.guess | H A D | 20-Jan-2019 | 43.2 KiB | 1,481 | 1,288 |
| config.h.in | H A D | 17-Apr-2019 | 10.7 KiB | 406 | 277 |
| config.rpath | H A D | 12-Aug-2018 | 17.9 KiB | 667 | 563 |
| config.sub | H A D | 20-Jan-2019 | 35.3 KiB | 1,802 | 1,661 |
| configure | H A D | 17-Apr-2019 | 685 KiB | 22,674 | 19,172 |
| configure.ac | H A D | 17-Apr-2019 | 24.9 KiB | 760 | 671 |
| depcomp | H A D | 20-Jan-2019 | 23 KiB | 792 | 502 |
| install-sh | H A D | 20-Jan-2019 | 14.8 KiB | 509 | 329 |
| libcdio++.pc.in | H A D | 12-Aug-2018 | 289 | 12 | 10 |
| libcdio.pc.in | H A D | 12-Aug-2018 | 284 | 12 | 10 |
| libiso9660++.pc.in | H A D | 12-Aug-2018 | 311 | 13 | 11 |
| libiso9660.pc.in | H A D | 12-Aug-2018 | 281 | 13 | 11 |
| libudf.pc.in | H A D | 12-Aug-2018 | 233 | 12 | 10 |
| ltmain.sh | H A D | 20-Jan-2019 | 316.8 KiB | 11,157 | 7,986 |
| make-check-filter.pl | H A D | 12-Aug-2018 | 794 | 35 | 24 |
| make-check-filter.rb | H A D | 12-Aug-2018 | 681 | 32 | 24 |
| missing | H A D | 20-Jan-2019 | 6.7 KiB | 216 | 143 |
| test-driver | H A D | 20-Jan-2019 | 4.5 KiB | 149 | 87 |
README
1See README.libcdio for installation instructions.
2
3The libcdio package contains a library for CD-ROM and CD image
4access. Applications wishing to be oblivious of the OS- and
5device-dependent properties of a CD-ROM or of the specific details of
6various CD-image formats may benefit from using this library.
7
8A library for working with ISO-9660 filesystems libiso9660 is
9included. A generic interface for issuing MMC (multimedia commands) is
10also part of the libcdio library.
11
12Also included is a library for working with ISO-9660 filesystems.
13
14The CD-DA error/jitter correction library from cdparanoia
15(http://www.xiph.org/paranoia) is included as a separate library
16licenced under GPL v2.
17
18Some support for disk image types like CDRWin's BIN/CUE format,
19cdrdao's TOC format, and Nero's NRG format are available. Therefore,
20applications that use this library also have the ability to read disc
21images as though they were CD's.
22
23The library is written in C, however there are OO C++, Perl, Python
24and Ruby wrappers to interface to the library. However C++ is the only
25one that is bundled with this package, and the interfaces provide only
26a subset of the full features of the library.
27
28Also included in the libcdio package are a number of utility programs:
29
30* cd-info - displays CD information: number of tracks, CD-format and
31 if possible basic information about the format. If libcddb
32 (http://libcddb.sourceforge.net) is available, the cd-info
33 program will display CDDB matches on CD-DA discs. And if a
34 new enough version of libvcdinfo is available (from the
35 vcdimager project), then cd-info shows basic VCD information.
36
37* cd-read - performs low-level block reading of a CD or CD image,
38
39* iso-info - displays ISO-9660 information from an ISO-9660 image,
40
41* iso-read - extracting files from an ISO-9660 image, a version of the
42 CD-DA extraction tool cdparanoia which corrects for
43 CD-ROM jitter, and a simple curses-based CD player,
44 cdda-player using the analog CD-ROM output.
45
46* cd-paranoia - port of cdparanoia (CD-DA jitter and error correction)
47 using libcdio back-end CD-reading.
48
49There is very limited low-level support for MMC commands on some
50platforms. Using MMC writing can be done. However there is currently
51little higher level-support for writing. Other libraries like libburn,
52libdi, libscg, or libdvdread may be helpful.
53
54Some of the projects using libcdio are the Video CD authoring and
55ripping tools VCDImager (http://vcdimager.org), a navigation-capable
56Video CD plugin and CD-DA plugins for the media players xine
57(http://xinehq.de), videolan's vlc (http://videolan.org), media
58players mplayerxp (http://mplayerxp.sourceforge.net/) and gmerlin
59(http://gmerlin.sourceforge.net), kiso, a KDE GUI for creating,
60extracting and editing ISO-9600 images (http://kiso.sourceforge.net),
61and a Samba vfs module that allows exporting a CD without mounting it
62(http://ontologistics.net/OpenSource/Samba/index.php).
63
README.libcdio
1See README.develop if you plan use the git or development version.
2
30. To compile the source, you'll need a POSIX shell and utilities (sh,
4sed, grep, cat), an ANSI C compiler like gcc, and a POSIX "make"
5program like GNU make or remake. You may also want to have "libtool" installed
6for building portable shared libraries.
7
81. Uncompress and unpack the source code using for example "tar". Recent
9versions of GNU tar can do this in one step like this:
10 tar -xpf libcdio-*.bz # or libcdio-*.gz
11
122. Go into the directory, run "configure" followed by "make":
13
14 cd libcdio-*
15 sh ./configure MAKE=make # or remake or gmake
16
173. If step 2 works, compile everything:
18
19 make # or remake
20
214. Run the regression tests if you want:
22
23 make check # or remake check
24
255. Install. If the preceding steps were successful:
26
27 make install # you may have to do this as root
28 # or "sudo make install"
29
30
31If you have problems linking libcdio or libiso9660, see the BSD
32section. You might also try the option --without-versioned-libs. However
33this option does help with the situation described below so it is
34preferred all other things being equal.
35
36If you are debugging libcdio, the libtool and the dynamic libraries
37can make things harder. I suggest setting CFLAGS to include
38'-fno-inline -g' and using --disable-shared on configure.
39
40
41VCD dependency:
42---------------
43One thing that confuses people is the "dependency" on libvcdinfo from
44vcdimager, while vcdimager has a dependency on libcdio. This libcdio
45dependency on vcdimager is an optional (i.e. not mandatory) dependency,
46while the vcdimager dependency right now is mandatory. libvcdinfo is
47used only by the utility program cd-info. If you want cd-info to use
48the VCD reporting portion and you don't already have vcdimager
49installed, build and install libcdio, then vcdimager, then configure
50libcdio again and it should find libvcdinfo.
51
52People who make packages might consider making two packages, a libcdio
53package with just the libraries (and no dependency on libvcdinfo) and
54a libcdio-utils which contains cd-info and iso-info, cd-read,
55iso-read. Should you want cd-info with VCD support then you'd add a
56dependency in that package to libvcdinfo.
57
58Another thing one can do is "make install" inside the library, or run
59"configure --without-vcd-info --without-cddb" (since libcddb also has
60an optional dependency on libcdio).
61
62Microsoft Windows
63-------
64
65Building under Microsoft Windows is supported for cygwin
66(http://www.cygwin.com). You need to have the cygwin libiconv-devel
67package installed.
68
69For MinGW (http://www.mingw.org/) also works provided you have
70libiconv installed.
71
72Support for Microsoft compilers (e.g. Visual C) is not officially
73supported. You need to make your own "project" files. Don't
74undertake this unless you are willing to spend time hacking. In the
75past xboxmediacenter team folks I believe have gone this route, as has
76Pete Batard in his rufus project. You may be able to use their project
77files as a starting point.
78
79XBOX
80-------
81
82Consult the xboxmediacenter team (www.xboxmediacenter.de)
83
84
85BSD, FreeBSD, NetBSD
86---
87
88Unless you use --without-versioned-libs (not recommended), you need to
89use GNU make or remake (http://bashdb.sf.net/remake). GNU make can be
90found under the name "gmake".
91
92If you use another make you are likely to get problems linking libcdio
93and libiso9660.
94
95
96Solaris
97-------
98
99You may need to use --without-versioned-libs if you get a problem
100building libcdio or libiso9660.
101
102If you get a message like:
103 libcdio.so: attempted multiple inclusion of file
104
105because you have enable vcd-info and it is installed, then the only
106way I know how to get around is to use configure with --disable-shared.
107
108OS Support
109---------------
110
111Support for Operating Systems's is really based on the desire, ability
112and willingness of others to help out. I use GNU/Linux so that
113probably works best. Before a release I'll test on servers I have
114available. I also announce a pending release on libcdio-devel@gnu.org
115and ask others to test out.
116
117Specific libcdio configure options and environment variables
118---------------
119 --disable-cxx Disable C++ bindings (default enabled)
120 --enable-cpp-progs make C++ example programs (default enabled)
121 --disable-example-progs Don't build libcdio sample programs
122 --disable-dependency-tracking speeds up one-time build
123 --enable-dependency-tracking do not reject slow dependency extractors
124 --disable-largefile omit support for large files
125 --enable-shared[=PKGS] build shared libraries [default=yes]
126 --enable-static[=PKGS] build static libraries [default=yes]
127 --enable-fast-install[=PKGS]
128 optimize for fast installation [default=yes]
129 --disable-libtool-lock avoid locking (might break parallel builds)
130 --disable-joliet don't include Joliet extension support (default
131 enabled)
132 --disable-rpath do not hardcode runtime library paths
133 --enable-rock include Rock-Ridge extension support (default
134 enabled)
135 --enable-cddb include CDDB lookups in cd_info (default enabled)
136 --enable-vcd-info include Video CD Info from libvcd
137 --enable-maintainer-mode create documentation and manual packages.
138 For this you need texinfo and help2man installed
139
140Optional Packages:
141 --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
142 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
143 --without-cd-drive don't build program cd-drive (default with)
144 --without-cd-info don't build program cd-info (default with)
145 --without-cd-paranoia don't build program cd-paranoia and paranoia
146 libraries (default with)
147 --without-cdda-player don't build program cdda-player (default with)
148 --with-cd-paranoia-name name to use as the cd-paranoia program name (default
149 cd-paranoia)
150 --without-cd-read don't build program cd-read (default with)
151 --without-iso-info don't build program iso-info (default with)
152 --without-iso-read don't build program iso-read (default with)
153 --without-versioned-libs
154 build versioned library symbols (default enabled if
155 you have GNU ld)
156 --with-pic try to use only PIC/non-PIC objects [default=use
157 both]
158 --with-gnu-ld assume the C compiler uses GNU ld [default=no]
159 --with-gnu-ld assume the C compiler uses GNU ld default=no
160 --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
161 --without-libiconv-prefix don't search for libiconv in includedir and libdir
162
163Some influential environment variables:
164 CC C compiler command
165 CFLAGS C compiler flags
166 LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
167 nonstandard directory <lib dir>
168 LIBS libraries to pass to the linker, e.g. -l<library>
169 CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
170 you have headers in a nonstandard directory <include dir>
171 CXX C++ compiler command
172 CXXFLAGS C++ compiler flags
173 CPP C preprocessor
174 CXXCPP C++ preprocessor
175 PKG_CONFIG path to pkg-config utility
176 CDDB_CFLAGS C compiler flags for CDDB, overriding pkg-config
177 CDDB_LIBS linker flags for CDDB, overriding pkg-config
178 VCDINFO_CFLAGS
179 C compiler flags for VCDINFO, overriding pkg-config
180 VCDINFO_LIBS
181 linker flags for VCDINFO, overriding pkg-config
182