• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

MSVC/H18-Apr-2019-1,1531,019

doc/H03-May-2022-20,88317,717

example/H03-May-2022-11,0298,386

include/H03-May-2022-13,4625,979

lib/H03-May-2022-39,96626,359

m4/H18-Apr-2019-10,4419,515

package/H18-Apr-2019-138106

src/H03-May-2022-10,6448,283

test/H03-May-2022-12,2799,482

AUTHORSH A D12-Aug-201869 32

COPYINGH A D12-Aug-201834.3 KiB675553

ChangeLogH A D18-Apr-2019554.9 KiB18,02611,571

INSTALLH A D12-Aug-201812.8 KiB322244

Makefile.amH A D13-Apr-20194.4 KiB14694

Makefile.inH A D03-May-202234.3 KiB1,067928

NEWS.mdH A D17-Apr-201922.9 KiB625515

READMEH A D12-Aug-20183 KiB6348

README.libcdioH A D17-Sep-20187.4 KiB182144

THANKSH A D17-Apr-20192.9 KiB11378

TODOH A D12-Aug-20184 KiB9671

aclocal.m4H A D17-Apr-201943.1 KiB1,2001,091

compileH A D20-Jan-20197.2 KiB348258

config.guessH A D20-Jan-201943.2 KiB1,4811,288

config.h.inH A D17-Apr-201910.7 KiB406277

config.rpathH A D12-Aug-201817.9 KiB667563

config.subH A D20-Jan-201935.3 KiB1,8021,661

configureH A D17-Apr-2019685 KiB22,67419,172

configure.acH A D17-Apr-201924.9 KiB760671

depcompH A D20-Jan-201923 KiB792502

install-shH A D20-Jan-201914.8 KiB509329

libcdio++.pc.inH A D12-Aug-2018289 1210

libcdio.pc.inH A D12-Aug-2018284 1210

libiso9660++.pc.inH A D12-Aug-2018311 1311

libiso9660.pc.inH A D12-Aug-2018281 1311

libudf.pc.inH A D12-Aug-2018233 1210

ltmain.shH A D20-Jan-2019316.8 KiB11,1577,986

make-check-filter.plH A D12-Aug-2018794 3524

make-check-filter.rbH A D12-Aug-2018681 3224

missingH A D20-Jan-20196.7 KiB216143

test-driverH A D20-Jan-20194.5 KiB14987

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