-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathINSTALL-imyplay.txt
More file actions
162 lines (119 loc) · 5.82 KB
/
Copy pathINSTALL-imyplay.txt
File metadata and controls
162 lines (119 loc) · 5.82 KB
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
This is the INSTALL file for IMYplay, a program for playing iMelody
ringtones (IMY files).
Read the info documentation (type 'info doc/imyplay.info') to get more
information.
Author: Bogdan Drozdowski, bogdro (at) users.sourceforge.net
License: GPLv3+
IMYplay, in various versions, has been successfully compiled on the following
environments:
- Fedora Core 4 GNU/Linux, i686
- Fedora 12 GNU/Linux, i686
- Mandriva 2008.1, 2011 GNU/Linux, i686
- OpenMandriva 3.0, 4.2, 4.3 GNU/Linux, amd64
- OpenBSD 3.8, i586
- Debian 5.0 GNU/Linux, i686
- Ubuntu GNU/Linux
- FreeDOS (DJGPP + NASM)
- DOSBox (DJGPP + NASM)
- FreeBSD
- Solaris/SunOS
- macOS
- MinGW
Requirements for compiling the full version under Un*x:
- a working C compiler.
- development package for the C library (like glibc-devel and glibc-headers)
The getopt.h header and the getopt_long() from it are required. The
signal.h header is used to catch signals, and is optional. The translation
headers (locale.h, libintl.h or other) are optional.
- the 'make' program
- if you want sound, not just MIDI conversion, a development package for one
of the supported libraries (except OSS and PC-speaker, which require only
the C library and system support). If you don't have any of these installed
or available (check twice), then go to
http://alleg.sf.net/ - for the Allegro library (v4.x)
http://www.libsdl.org/ - for the SDL library
http://alsa-project.org/ - for the ALSA library
http://xiph.org/ao/ - for the AO library
http://www.portaudio.com/ - for the PortAudiov19 library
http://www.pulseaudio.org/ - for the PulseAudio library
http://jackaudio.org/ - for the JACK1 library
http://gstreamer.freedesktop.org/ - for GStreamer
- MIDI output requires the following functions from the standard C library:
malloc(), realloc(), memset(), memcpy(), fopen(), fwrite(), fseek(),
fclose() and qsort().
- WAV output requires the AO library (http://xiph.org/ao/)
Type './configure' to configure the program for your system. If you do not
with support for a particular output mechanism, configure the program with
./configure --enable-XXX=no
where "XXX" is the output system you wish to disable (allegro, SDL, SDL2,
ALSA, OSS, LIBAO, PORTAUDIO, PULSEAUDIO, JACK, MIDI, EXEC, GSTREAMER,
FILE, SPKR, WAV).
By default, a flex-based scanner will be generated to parse the input file,
if flex is available. If the scanner does not compile for you or works
incorrectly, disable it with
./configure --enable-FLEXPARSER=no
and recompile IMYplay.
If you do NOT wish IMYplay to use the network or get the computer's IP
address, get LibHideIP>=0.2 and LibNetBlock and configure IMYplay with
./configure --enable-LIBHIDEIP --enable-LIBNETBLOCK
NOTE: this may cause network sound output to fail.
Type 'make' to compile the program.
Documentation will be compiled, if you have the 'makeinfo' program
('texinfo' package).
Translations will be compiled, if you have the 'gettext' package.
Type 'make install' to install the program. NOTE: 'make install' is
NOT recommended. Create and install an rpm package instead, if possible.
Type 'info imyplay' to get help.
================================================================
Requirements for automatic compiling the DOS version:
- a working GCC compiler (preferably DJGPP).
- development package for the C library (comes with DJGPP)
- the 'make' program (comes with DJGPP)
- if you want sound, not just MIDI conversion, a development package for one
of the supported libraries (except PC-speaker, which requires only
the C library and system support). If you don't have any of these installed
or available, then go to
http://alleg.sf.net/ - for the Allegro library (v4.x)
- MIDI output requires the following functions from the standard C library:
malloc(), realloc(), memset(), memcpy(), fopen(), fwrite(), fseek(),
fclose() and qsort().
- WAV output requires the AO library (http://xiph.org/ao/)
- the 'sed' utility (comes with DJGPP)
- the 'zip' utility (comes with DJGPP)
- NASM assembler version >= 2.0 (www.nasm.us)
- the 'upx' utility (upx.sf.net) is optional. The program is compiled
correctly without it.
To compile under DOS using DJGPP, either enable LFN support or find your
GCC's "limits.h" file (NOT the standard one) and change the line
#include "syslimits.h"
to
#include "syslimit.h"
Then, run "make -f Makefile.dos". If you don't have a 'make' utility, you can
run the "dosdist.bat" file.
If you want WAV output enabled, run "make -f Makefile.dos LIBAO=1".
If you want to override the default C compiler, run
"make -f Makefile.dos CC=your-compiler".
If you want to override the default C compiler flags, run
"make -f Makefile.dos CC_OPTS=your-compiler-flags".
If you prefer the flex-based parser, install the "flex" utility (from
https://github.com/westes/flex) and run "make -f Makefile.dos FLEX=1".
If you prefer to compile manually (like when you don't have all of the
required utilities, then go to the src directory. Change @VERSION@ to
the current version number in the imyp_cfg.hin file and rename the file
to imyp_cfg.h. Then compile all the files you wish to (the dosfiles.txt
file is a good starting point), for example:
gcc -o imyplay.exe *.c -lalleg
The resulting imyplay.exe is the program to use.
=======================================================
Building an RPM package:
1) copy the imyplay.spc file to $HOME/rpmbuild/SPECS
2) copy the source package imyplay-XX.tar.gz to $HOME/rpmbuild/SOURCES
3) type
rpmbuild -ba $HOME/rpmbuild/SPECS/imyplay.spc
4) get the rpms from $HOME/rpmbuild/RPMS/<arch> and $HOME/rpmbuild/SRPMS
Building an RPM package (the old way):
1) copy the imyplay.spc file to /usr/src/redhat/SPECS
2) copy the source package imyplay-XX.tar.gz to /usr/src/redhat/SOURCES
3) type
rpmbuild -ba /usr/src/redhat/SPECS/imyplay.spc
4) get the rpms from /usr/src/redhat/RPMS/<arch> and /usr/src/redhat/SRPMS