rbcdio 0.01

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. data/AUTHORS +1 -0
  2. data/COPYING +340 -0
  3. data/ChangeLog +315 -0
  4. data/INSTALL +236 -0
  5. data/Makefile.am +163 -0
  6. data/Makefile.in +557 -0
  7. data/NEWS +5 -0
  8. data/README +75 -0
  9. data/Rakefile +234 -0
  10. data/THANKS +3 -0
  11. data/VERSION +1 -0
  12. data/VERSION.in +1 -0
  13. data/config.guess +1473 -0
  14. data/config.sub +1576 -0
  15. data/configure +4802 -0
  16. data/configure.ac +158 -0
  17. data/data/copying.iso +0 -0
  18. data/data/isofs-m1.bin +0 -0
  19. data/data/isofs-m1.cue +3 -0
  20. data/doc/created.rid +1 -0
  21. data/doc/fr_class_index.html +42 -0
  22. data/doc/fr_file_index.html +40 -0
  23. data/doc/fr_method_index.html +133 -0
  24. data/doc/index.html +24 -0
  25. data/doc/rdoc-style.css +208 -0
  26. data/example/COPYING +340 -0
  27. data/example/README +47 -0
  28. data/example/audio.rb +186 -0
  29. data/example/cd-read.rb +167 -0
  30. data/example/copying +340 -0
  31. data/example/device.rb +91 -0
  32. data/example/drivers.rb +63 -0
  33. data/example/drives.rb +63 -0
  34. data/example/eject.rb +69 -0
  35. data/example/iso1.rb +89 -0
  36. data/example/iso2.rb +106 -0
  37. data/example/iso3.rb +111 -0
  38. data/example/tracks.rb +83 -0
  39. data/ext/cdio/Makefile +139 -0
  40. data/ext/cdio/extconf.rb +9 -0
  41. data/ext/cdio/rubycdio_wrap.c +3410 -0
  42. data/ext/iso9660/Makefile +139 -0
  43. data/ext/iso9660/extconf.rb +10 -0
  44. data/ext/iso9660/rubyiso9660_wrap.c +3005 -0
  45. data/install-sh +323 -0
  46. data/lib/Makefile +7 -0
  47. data/lib/cdio.rb +1000 -0
  48. data/lib/iso9660.rb +566 -0
  49. data/missing +360 -0
  50. data/rubycdio.m4 +14 -0
  51. data/swig/Makefile +7 -0
  52. data/swig/audio.swg +63 -0
  53. data/swig/compat.swg +104 -0
  54. data/swig/device.swg +513 -0
  55. data/swig/device_const.swg +144 -0
  56. data/swig/disc.swg +96 -0
  57. data/swig/read.swg +164 -0
  58. data/swig/rubycdio.swg +86 -0
  59. data/swig/rubyiso9660.swg +827 -0
  60. data/swig/track.swg +206 -0
  61. data/swig/types.swg +65 -0
  62. data/test/Makefile +7 -0
  63. data/test/Rakefile +8 -0
  64. data/test/cdda.bin +0 -0
  65. data/test/cdda.cue +7 -0
  66. data/test/cdda.toc +14 -0
  67. data/test/cdiotest.rb +228 -0
  68. data/test/isocopy.rb +394 -0
  69. data/test/isotest.rb +187 -0
  70. metadata +116 -0
data/INSTALL ADDED
@@ -0,0 +1,236 @@
1
+ Installation Instructions
2
+ *************************
3
+
4
+ Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
5
+ Software Foundation, Inc.
6
+
7
+ This file is free documentation; the Free Software Foundation gives
8
+ unlimited permission to copy, distribute and modify it.
9
+
10
+ Basic Installation
11
+ ==================
12
+
13
+ These are generic installation instructions.
14
+
15
+ The `configure' shell script attempts to guess correct values for
16
+ various system-dependent variables used during compilation. It uses
17
+ those values to create a `Makefile' in each directory of the package.
18
+ It may also create one or more `.h' files containing system-dependent
19
+ definitions. Finally, it creates a shell script `config.status' that
20
+ you can run in the future to recreate the current configuration, and a
21
+ file `config.log' containing compiler output (useful mainly for
22
+ debugging `configure').
23
+
24
+ It can also use an optional file (typically called `config.cache'
25
+ and enabled with `--cache-file=config.cache' or simply `-C') that saves
26
+ the results of its tests to speed up reconfiguring. (Caching is
27
+ disabled by default to prevent problems with accidental use of stale
28
+ cache files.)
29
+
30
+ If you need to do unusual things to compile the package, please try
31
+ to figure out how `configure' could check whether to do them, and mail
32
+ diffs or instructions to the address given in the `README' so they can
33
+ be considered for the next release. If you are using the cache, and at
34
+ some point `config.cache' contains results you don't want to keep, you
35
+ may remove or edit it.
36
+
37
+ The file `configure.ac' (or `configure.in') is used to create
38
+ `configure' by a program called `autoconf'. You only need
39
+ `configure.ac' if you want to change it or regenerate `configure' using
40
+ a newer version of `autoconf'.
41
+
42
+ The simplest way to compile this package is:
43
+
44
+ 1. `cd' to the directory containing the package's source code and type
45
+ `./configure' to configure the package for your system. If you're
46
+ using `csh' on an old version of System V, you might need to type
47
+ `sh ./configure' instead to prevent `csh' from trying to execute
48
+ `configure' itself.
49
+
50
+ Running `configure' takes awhile. While running, it prints some
51
+ messages telling which features it is checking for.
52
+
53
+ 2. Type `make' to compile the package.
54
+
55
+ 3. Optionally, type `make check' to run any self-tests that come with
56
+ the package.
57
+
58
+ 4. Type `make install' to install the programs and any data files and
59
+ documentation.
60
+
61
+ 5. You can remove the program binaries and object files from the
62
+ source code directory by typing `make clean'. To also remove the
63
+ files that `configure' created (so you can compile the package for
64
+ a different kind of computer), type `make distclean'. There is
65
+ also a `make maintainer-clean' target, but that is intended mainly
66
+ for the package's developers. If you use it, you may have to get
67
+ all sorts of other programs in order to regenerate files that came
68
+ with the distribution.
69
+
70
+ Compilers and Options
71
+ =====================
72
+
73
+ Some systems require unusual options for compilation or linking that the
74
+ `configure' script does not know about. Run `./configure --help' for
75
+ details on some of the pertinent environment variables.
76
+
77
+ You can give `configure' initial values for configuration parameters
78
+ by setting variables in the command line or in the environment. Here
79
+ is an example:
80
+
81
+ ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
82
+
83
+ *Note Defining Variables::, for more details.
84
+
85
+ Compiling For Multiple Architectures
86
+ ====================================
87
+
88
+ You can compile the package for more than one kind of computer at the
89
+ same time, by placing the object files for each architecture in their
90
+ own directory. To do this, you must use a version of `make' that
91
+ supports the `VPATH' variable, such as GNU `make'. `cd' to the
92
+ directory where you want the object files and executables to go and run
93
+ the `configure' script. `configure' automatically checks for the
94
+ source code in the directory that `configure' is in and in `..'.
95
+
96
+ If you have to use a `make' that does not support the `VPATH'
97
+ variable, you have to compile the package for one architecture at a
98
+ time in the source code directory. After you have installed the
99
+ package for one architecture, use `make distclean' before reconfiguring
100
+ for another architecture.
101
+
102
+ Installation Names
103
+ ==================
104
+
105
+ By default, `make install' installs the package's commands under
106
+ `/usr/local/bin', include files under `/usr/local/include', etc. You
107
+ can specify an installation prefix other than `/usr/local' by giving
108
+ `configure' the option `--prefix=PREFIX'.
109
+
110
+ You can specify separate installation prefixes for
111
+ architecture-specific files and architecture-independent files. If you
112
+ pass the option `--exec-prefix=PREFIX' to `configure', the package uses
113
+ PREFIX as the prefix for installing programs and libraries.
114
+ Documentation and other data files still use the regular prefix.
115
+
116
+ In addition, if you use an unusual directory layout you can give
117
+ options like `--bindir=DIR' to specify different values for particular
118
+ kinds of files. Run `configure --help' for a list of the directories
119
+ you can set and what kinds of files go in them.
120
+
121
+ If the package supports it, you can cause programs to be installed
122
+ with an extra prefix or suffix on their names by giving `configure' the
123
+ option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
124
+
125
+ Optional Features
126
+ =================
127
+
128
+ Some packages pay attention to `--enable-FEATURE' options to
129
+ `configure', where FEATURE indicates an optional part of the package.
130
+ They may also pay attention to `--with-PACKAGE' options, where PACKAGE
131
+ is something like `gnu-as' or `x' (for the X Window System). The
132
+ `README' should mention any `--enable-' and `--with-' options that the
133
+ package recognizes.
134
+
135
+ For packages that use the X Window System, `configure' can usually
136
+ find the X include and library files automatically, but if it doesn't,
137
+ you can use the `configure' options `--x-includes=DIR' and
138
+ `--x-libraries=DIR' to specify their locations.
139
+
140
+ Specifying the System Type
141
+ ==========================
142
+
143
+ There may be some features `configure' cannot figure out automatically,
144
+ but needs to determine by the type of machine the package will run on.
145
+ Usually, assuming the package is built to be run on the _same_
146
+ architectures, `configure' can figure that out, but if it prints a
147
+ message saying it cannot guess the machine type, give it the
148
+ `--build=TYPE' option. TYPE can either be a short name for the system
149
+ type, such as `sun4', or a canonical name which has the form:
150
+
151
+ CPU-COMPANY-SYSTEM
152
+
153
+ where SYSTEM can have one of these forms:
154
+
155
+ OS KERNEL-OS
156
+
157
+ See the file `config.sub' for the possible values of each field. If
158
+ `config.sub' isn't included in this package, then this package doesn't
159
+ need to know the machine type.
160
+
161
+ If you are _building_ compiler tools for cross-compiling, you should
162
+ use the option `--target=TYPE' to select the type of system they will
163
+ produce code for.
164
+
165
+ If you want to _use_ a cross compiler, that generates code for a
166
+ platform different from the build platform, you should specify the
167
+ "host" platform (i.e., that on which the generated programs will
168
+ eventually be run) with `--host=TYPE'.
169
+
170
+ Sharing Defaults
171
+ ================
172
+
173
+ If you want to set default values for `configure' scripts to share, you
174
+ can create a site shell script called `config.site' that gives default
175
+ values for variables like `CC', `cache_file', and `prefix'.
176
+ `configure' looks for `PREFIX/share/config.site' if it exists, then
177
+ `PREFIX/etc/config.site' if it exists. Or, you can set the
178
+ `CONFIG_SITE' environment variable to the location of the site script.
179
+ A warning: not all `configure' scripts look for a site script.
180
+
181
+ Defining Variables
182
+ ==================
183
+
184
+ Variables not defined in a site shell script can be set in the
185
+ environment passed to `configure'. However, some packages may run
186
+ configure again during the build, and the customized values of these
187
+ variables may be lost. In order to avoid this problem, you should set
188
+ them in the `configure' command line, using `VAR=value'. For example:
189
+
190
+ ./configure CC=/usr/local2/bin/gcc
191
+
192
+ causes the specified `gcc' to be used as the C compiler (unless it is
193
+ overridden in the site shell script). Here is a another example:
194
+
195
+ /bin/bash ./configure CONFIG_SHELL=/bin/bash
196
+
197
+ Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
198
+ configuration-related scripts to be executed by `/bin/bash'.
199
+
200
+ `configure' Invocation
201
+ ======================
202
+
203
+ `configure' recognizes the following options to control how it operates.
204
+
205
+ `--help'
206
+ `-h'
207
+ Print a summary of the options to `configure', and exit.
208
+
209
+ `--version'
210
+ `-V'
211
+ Print the version of Autoconf used to generate the `configure'
212
+ script, and exit.
213
+
214
+ `--cache-file=FILE'
215
+ Enable the cache: use and save the results of the tests in FILE,
216
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
217
+ disable caching.
218
+
219
+ `--config-cache'
220
+ `-C'
221
+ Alias for `--cache-file=config.cache'.
222
+
223
+ `--quiet'
224
+ `--silent'
225
+ `-q'
226
+ Do not print messages saying which checks are being made. To
227
+ suppress all normal output, redirect it to `/dev/null' (any error
228
+ messages will still be shown).
229
+
230
+ `--srcdir=DIR'
231
+ Look for the package's source code in directory DIR. Usually
232
+ `configure' can determine that directory automatically.
233
+
234
+ `configure' also accepts some other, not widely useful, options. Run
235
+ `configure --help' for more details.
236
+
data/Makefile.am ADDED
@@ -0,0 +1,163 @@
1
+ # $Id: Makefile.am,v 1.20 2006/12/09 16:00:02 rocky Exp $
2
+ #
3
+ # Copyright (C) 2006 Rocky Bernstein <rocky@panix.com>
4
+ #
5
+ # This program is free software; you can redistribute it and/or modify
6
+ # it under the terms of the GNU General Public License as published by
7
+ # the Free Software Foundation; either version 2 of the License, or
8
+ # (at your option) any later version.
9
+ #
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with this program; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18
+ # 02110-1301 USA.
19
+ #
20
+ ## Process this file with automake to produce Makefile.in
21
+ ## which configure then turns into a Makefile ...
22
+ ## which make can then use to produce stuff. Isn't configuration simple?
23
+
24
+ SWIG := @SWIG@
25
+ SWIG_FLAGS := @SWIG_FLAGS@
26
+ SO := @SO@
27
+ CDIO_EXTCONF = $(top_builddir)/ext/cdio/extconf.rb
28
+ ISO_EXTCONF = $(top_builddir)/ext/iso9660/extconf.rb
29
+
30
+ # Note rubydio.swg has to come first.
31
+ CDIO_SRC = $(top_srcdir)/swig/rubycdio.swg \
32
+ $(top_srcdir)/swig/Makefile \
33
+ $(top_srcdir)/swig/audio.swg \
34
+ $(top_srcdir)/swig/compat.swg \
35
+ $(top_srcdir)/swig/device.swg \
36
+ $(top_srcdir)/swig/device_const.swg \
37
+ $(top_srcdir)/swig/disc.swg \
38
+ $(top_srcdir)/swig/read.swg \
39
+ $(top_srcdir)/swig/types.swg
40
+
41
+ ISO_SRC = $(top_srcdir)/swig/rubyiso9660.swg \
42
+ $(top_srcdir)/swig/compat.swg \
43
+ $(top_srcdir)/swig/types.swg
44
+
45
+ TEST_FILES = \
46
+ test/Makefile \
47
+ test/Rakefile \
48
+ test/cdda.bin \
49
+ test/cdda.cue \
50
+ test/cdda.cue \
51
+ test/cdda.toc \
52
+ test/cdiotest.rb \
53
+ test/isocopy.rb \
54
+ test/isotest.rb
55
+
56
+
57
+ DATA_FILES = data/copying.iso data/isofs-m1.cue data/isofs-m1.bin
58
+
59
+ EXAMPLE_FILES = \
60
+ example/README \
61
+ example/audio.rb \
62
+ example/device.rb \
63
+ example/drives.rb \
64
+ example/eject.rb \
65
+ example/iso1.rb \
66
+ example/iso2.rb \
67
+ example/iso3.rb \
68
+ example/tracks.rb
69
+
70
+ CDIO_C := $(top_builddir)/ext/cdio/rubycdio_wrap.c
71
+ CDIO_OBJ := $(top_builddir)/ext/cdio/rubycdio_wrap.o
72
+
73
+ ISO_C := $(top_builddir)/ext/iso9660/rubyiso9660_wrap.c
74
+ ISO_OBJ := $(top_builddir)/ext/iso9660/rubyiso9660_wrap.o
75
+
76
+ RUBY = @RUBY@
77
+ RUBYCDIO = ext/cdio/rubycdio$(SO)
78
+ RUBYISO9660 = ext/iso9660/rubyiso9660$(SO)
79
+
80
+ EXTRA_DIST = $(CDIO_SRC) $(CDIO_C) $(ISO_SRC) $(ISO_C) $(CDIO_EXTCONF) \
81
+ $(EXAMPLE_FILES) $(DATA_FILES) $(TEST_FILES) rubycdio.m4 \
82
+ $(ISO_EXTCONF) lib/Makefile lib/cdio.rb lib/iso9660.rb \
83
+ THANKS VERSION.in VERSION
84
+
85
+ .PHONY: test check ChangeLog doc rdoc, doc, rerdoc
86
+
87
+ all-am: $(RUBYCDIO) $(RUBYISO9660)
88
+
89
+ doc: rdoc
90
+
91
+ rdoc:
92
+ rake rdoc
93
+
94
+ rerdoc:
95
+ rake rdoc
96
+
97
+ ## I just can't take all the crap associated with libtool any more.
98
+ ## Testing for C++, Fortran, compile and link options to those,
99
+ ## existence of C headers that aren't used, and that's just in the
100
+ ## configuration section.
101
+ $(CDIO_C): $(CDIO_SRC)
102
+ $(SWIG) -o $(CDIO_C) -outdir $(top_builddir) -ruby $(SWIG_FLAGS) $<
103
+
104
+ $(RUBYCDIO): $(CDIO_C) $(CDIO_EXTCONF)
105
+ (cd ext/cdio && $(RUBY) extconf.rb && $(MAKE))
106
+
107
+ $(RUBYISO9660): $(ISO_C) $(ISO_EXTCONF)
108
+ (cd ext/iso9660 && $(RUBY) extconf.rb && $(MAKE))
109
+
110
+ $(ISO_C): $(ISO_SRC)
111
+ $(SWIG) -o $(ISO_C) -outdir $(top_builddir) -ruby $(SWIG_FLAGS) $<
112
+
113
+ check: test
114
+ test: test/cdiotest.rb test/isotest.rb $(RUBYCDIO) $(RUBYISO9660)
115
+ rake test
116
+
117
+ clean-generic:
118
+ -rm $(CDIO_C) $(ISO_C) $(CDIO_OBJ) $(ISO_OBJ) \
119
+ ext/cdio/rubycdio$(SO) ext/iso9660/rubyiso9660$(SO)
120
+ -rm -fr pkg
121
+
122
+ # From libtool documentation amended with guidance from N. Boullis:
123
+ #
124
+ # 1. Start with version information of `0:0:0' for each libtool library.
125
+ #
126
+ # 2. It is probably not a good idea to update the version information
127
+ # several times between public releases, but rather once per public
128
+ # release. (This seems to be more an aesthetic consideration than
129
+ # a hard technical one.)
130
+ #
131
+ # 3. If the library source code has changed at all since the last
132
+ # update, then increment REVISION (`C:R:A' becomes `C:R+1:A').
133
+ #
134
+ # 4. If any interfaces have been added, removed, or changed since the
135
+ # last update, increment CURRENT, and set REVISION to 0.
136
+ #
137
+ # 5. If any interfaces have been added since the last public release,
138
+ # then increment AGE.
139
+ #
140
+ # 6. If any interfaces have been removed or changed since the last
141
+ # public release, then set AGE to 0. A changed interface means an
142
+ # incompatibility with previous versions.
143
+
144
+ ## rubycdio_la_CURRENT := 0
145
+ ## rubycdio_la_REVISION := 0
146
+ ## rubycdio_la_AGE := 0
147
+
148
+ ## rubydio_libnum := $(rbcdio_la_CURRENT):$(rbcdio_la_REVISION):$(rbcdio_la_AGE)
149
+
150
+ ##install-exec-hook:
151
+ ## $(LN_S) ${prefix}/ext/librbcdio$(SO).$(rbcdio_libnum) ${prefix}/ext/rbcdio$(SO)
152
+
153
+ # cvs2cl
154
+ MAINTAINERCLEANFILES = ChangeLog
155
+
156
+ if MAINTAINER_MODE
157
+
158
+ ChangeLog:
159
+ $(CVS2CL) -W 450 --header $(srcdir)/cvs2cl_header --utc -w -I ChangeLog --usermap $(srcdir)/cvs2cl_usermap -P
160
+
161
+ ACLOCAL_AMFLAGS=-I .
162
+
163
+ endif