3 .
scripts
/configure.sh ||
exit 1
7 check_cc_flag
-std=gnu99
-pipe -Wall -Wshadow -Wcast-align -Wpointer-arith \
8 -Wwrite-strings -Wundef -Wmissing-prototypes -Wredundant-decls
10 for i
in -Wdeclaration-after-statement \
11 -Wold-style-definition \
13 -Werror-implicit-function-declaration
26 try_link
-lsocket && COMPAT_LIBS
="$COMPAT_LIBS -lsocket"
29 try_link
-lnsl && COMPAT_LIBS
="$COMPAT_LIBS -lnsl"
34 COMPAT_LIBS
="$COMPAT_LIBS -lrt"
35 elif try_link
-lposix4
37 COMPAT_LIBS
="$COMPAT_LIBS -lposix4"
42 makefile_vars CONFIG_CYGWIN
44 makefile_vars COMPAT_LIBS
49 if check_library NCURSES
"" -lncursesw
54 if check_library NCURSES
"" -lncurses || check_library NCURSES
"" -lcurses
57 msg_error
"Your ncurses does not support wide characters!"
58 msg_error
"Install ncursesw if you need wide character support,"
59 msg_error
"you can ignore this warning otherwise."
67 check_library MPC
"" "-lmpcdec"
73 check_library FLAC
"" "-lFLAC -lm" && return 0
74 check_library FLAC
"" "-lFLAC -lvorbisfile -lm"
80 pkg_config MAD
"mad" "" "-lmad -lm"
86 app_config MIKMOD libmikmod-config
&& return 0
87 # mikmod is linked against pthread
88 check_library MIKMOD
"$PTHREAD_CFLAGS" "-lmikmod $PTHREAD_LIBS"
94 pkg_config MODPLUG
"libmodplug" "-I/usr/include/libmodplug" "-lmodplug -lstdc++ -lm"
100 if test "$CONFIG_TREMOR" = y
102 pkg_config VORBIS
"vorbisidec" "" "-lvorbisidec -lm"
105 pkg_config VORBIS
"vorbisfile" "" "-lvorbisfile -lvorbis -lm -logg"
112 pkg_config WAVPACK
"wavpack" "" "-lwavpack"
118 # the alsa.pc file should be always available
119 pkg_config ALSA
"alsa >= 1.0.11"
125 pkg_config AO
"ao" "" "-lao"
131 app_config ARTS artsc-config
141 check_library OSS
"" "-lossaudio"
151 msg_checking
"for header <sys/soundcard.h>"
152 if test -f /usr
/include
/sys
/soundcard.h
155 makefile_vars OSS_CFLAGS OSS_LIBS
165 msg_checking
"for header <sys/audioio.h>"
166 if test -f /usr
/include
/sys
/audioio.h
180 check_library WAVEOUT
"" "-lwinmm"
188 check_header faad.h
&&
189 check_library MP4
"" "-lmp4v2 -lfaad -lm"
195 check_header faad.h
&&
196 check_library AAC
"" "-lfaad -lm"
202 pkg_config FFMPEG
"libavformat"
203 if check_header
'ffmpeg/avcodec.h'
205 makefile_var
'HAVE_FFMPEG_AVCODEC_H' 1
215 # unset CONFIG_* variables: if check succeeds 'y', otherwise 'n'
219 prefix Installation prefix [$prefix]
220 bindir User executables [\$prefix/bin]
221 datadir Read-only data [\$prefix/share]
222 libdir Libraries [\$prefix/lib]
223 mandir Man pages [\$datadir/man]
224 exampledir Examples [\$datadir/doc/cmus/examples]
225 DEBUG Debugging level (0-2) [$DEBUG]
227 Optional Features: y/n
228 CONFIG_FLAC Free Lossless Audio Codec (.flac, .fla) [auto]
229 CONFIG_MAD MPEG Audio Decoder (.mp3, .mp2, streams) [auto]
230 CONFIG_MODPLUG libmodplug (.mod, .x3m, ...) [auto]
231 CONFIG_MIKMOD libmikmod (.mod, .x3m, ...) [n]
232 CONFIG_MPC libmpcdec (Musepack .mpc, .mpp, .mp+) [auto]
233 CONFIG_VORBIS Ogg/Vorbis (.ogg, application/ogg, audio/x-ogg) [auto]
234 CONFIG_TREMOR Use Tremor as Ogg/Vorbis input plugin [n]
236 CONFIG_WAVPACK WavPack (.wv, audio/x-wavpack) [auto]
237 CONFIG_MP4 MPEG-4 AAC (.mp4, .m4a, .m4b) [auto]
238 CONFIG_AAC AAC (.aac, audio/aac, audio/aacp) [auto]
239 CONFIG_FFMPEG FFMPEG (.shn, .wma) [auto]
240 CONFIG_ALSA ALSA [auto]
241 CONFIG_AO Libao cross-platform audio library [auto]
242 CONFIG_ARTS ARTS [auto]
243 CONFIG_OSS Open Sound System [auto]
244 CONFIG_SUN Sun Audio [auto]
245 CONFIG_WAVEOUT Windows Wave Out [auto]
247 Also many standard variables like CC are recognized."
249 parse_command_line
"$@"
255 die
"DEBUG must be 0-2"
259 var_default bindir
"${prefix}/bin"
260 var_default datadir
"${prefix}/share"
261 var_default libdir
"${prefix}/lib"
262 var_default mandir
"${datadir}/man"
263 var_default exampledir
"${datadir}/doc/cmus/examples"
267 check check_cc_depgen
268 check check_endianness
275 check check_flac CONFIG_FLAC
276 check check_mad CONFIG_MAD
277 check check_mikmod CONFIG_MIKMOD
278 check check_modplug CONFIG_MODPLUG
279 check check_mpc CONFIG_MPC
280 check check_vorbis CONFIG_VORBIS
281 check check_wavpack CONFIG_WAVPACK
282 check check_mp4 CONFIG_MP4
283 check check_aac CONFIG_AAC
284 check check_ffmpeg CONFIG_FFMPEG
285 # nothing to check, just validate the variable values
286 check true CONFIG_TREMOR
287 check true CONFIG_WAV
288 check check_alsa CONFIG_ALSA
289 check check_ao CONFIG_AO
290 check check_arts CONFIG_ARTS
291 check check_oss CONFIG_OSS
292 check check_sun CONFIG_SUN
293 check check_waveout CONFIG_WAVEOUT
295 test "$WORDS_BIGENDIAN" = y
&& CFLAGS
="${CFLAGS} -DWORDS_BIGENDIAN"
300 config_header config
/datadir.h DATADIR
301 config_header config
/libdir.h LIBDIR
302 config_header config
/debug.h DEBUG
303 config_header config
/tremor.h CONFIG_TREMOR
305 makefile_vars bindir datadir libdir mandir exampledir
306 makefile_vars CONFIG_FLAC CONFIG_MAD CONFIG_MIKMOD CONFIG_MODPLUG CONFIG_MPC CONFIG_VORBIS CONFIG_WAVPACK CONFIG_WAV CONFIG_MP4 CONFIG_AAC CONFIG_FFMPEG
307 makefile_vars CONFIG_ALSA CONFIG_AO CONFIG_ARTS CONFIG_OSS CONFIG_SUN CONFIG_WAVEOUT