seal 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.yardopts +1 -0
- data/LICENSE +13 -0
- data/README.md +265 -0
- data/ext/seal/extconf.rb +45 -0
- data/include/al/al.h +724 -0
- data/include/al/alc.h +277 -0
- data/include/al/efx-presets.h +402 -0
- data/include/al/efx.h +758 -0
- data/include/mpg123/mpg123.h +1034 -0
- data/include/ogg/config_types.h +25 -0
- data/include/ogg/ogg.h +210 -0
- data/include/ogg/os_types.h +147 -0
- data/include/seal.h +23 -0
- data/include/seal/buf.h +143 -0
- data/include/seal/core.h +95 -0
- data/include/seal/efs.h +112 -0
- data/include/seal/err.h +93 -0
- data/include/seal/fmt.h +58 -0
- data/include/seal/listener.h +103 -0
- data/include/seal/raw.h +86 -0
- data/include/seal/rvb.h +520 -0
- data/include/seal/src.h +413 -0
- data/include/seal/stream.h +81 -0
- data/include/vorbis/codec.h +243 -0
- data/include/vorbis/vorbisfile.h +206 -0
- data/mpg123/AUTHORS +150 -0
- data/mpg123/COPYING +773 -0
- data/mpg123/ChangeLog +3 -0
- data/mpg123/INSTALL +111 -0
- data/mpg123/Makefile.am +99 -0
- data/mpg123/Makefile.in +1043 -0
- data/mpg123/NEWS +1200 -0
- data/mpg123/NEWS.libmpg123 +133 -0
- data/mpg123/README +203 -0
- data/mpg123/TODO +38 -0
- data/mpg123/aclocal.m4 +1168 -0
- data/mpg123/build/config.guess +1530 -0
- data/mpg123/build/config.sub +1782 -0
- data/mpg123/build/depcomp +707 -0
- data/mpg123/build/install-sh +527 -0
- data/mpg123/build/ltmain.sh +9655 -0
- data/mpg123/build/missing +330 -0
- data/mpg123/configure +20267 -0
- data/mpg123/configure.ac +2178 -0
- data/mpg123/doc/ACCURACY +2 -0
- data/mpg123/doc/BENCHMARKING +110 -0
- data/mpg123/doc/BUGS +3 -0
- data/mpg123/doc/CONTACT +17 -0
- data/mpg123/doc/LICENSE +22 -0
- data/mpg123/doc/Makefile.am +32 -0
- data/mpg123/doc/Makefile.in +490 -0
- data/mpg123/doc/PATENTS +39 -0
- data/mpg123/doc/README.3DNOW +56 -0
- data/mpg123/doc/README.gain +171 -0
- data/mpg123/doc/README.remote +218 -0
- data/mpg123/doc/ROAD_TO_LGPL +270 -0
- data/mpg123/doc/THANKS +13 -0
- data/mpg123/doc/TODO +63 -0
- data/mpg123/doc/doxy_examples.c +21 -0
- data/mpg123/doc/doxygen.conf +41 -0
- data/mpg123/doc/doxyhead.xhtml +12 -0
- data/mpg123/doc/examples/dump_seekindex.c +41 -0
- data/mpg123/doc/examples/extract_frames.c +92 -0
- data/mpg123/doc/examples/feedseek.c +238 -0
- data/mpg123/doc/examples/id3dump.c +178 -0
- data/mpg123/doc/examples/mpg123_to_wav.c +118 -0
- data/mpg123/doc/examples/mpglib.c +92 -0
- data/mpg123/doc/examples/scan.c +47 -0
- data/mpg123/doc/libmpg123_speed.txt +84 -0
- data/mpg123/equalize.dat +37 -0
- data/mpg123/libmpg123.pc.in +11 -0
- data/mpg123/m4/addrconfig.m4 +34 -0
- data/mpg123/m4/libtool.m4 +7982 -0
- data/mpg123/m4/ltoptions.m4 +384 -0
- data/mpg123/m4/ltsugar.m4 +123 -0
- data/mpg123/m4/ltversion.m4 +23 -0
- data/mpg123/m4/lt~obsolete.m4 +98 -0
- data/mpg123/makedll.sh +19 -0
- data/mpg123/man1/mpg123.1 +512 -0
- data/mpg123/mpg123.spec +68 -0
- data/mpg123/mpg123.spec.in +68 -0
- data/mpg123/ports/MSVC++/2005/libmpg123/libmpg123.vcproj +741 -0
- data/mpg123/ports/MSVC++/2008/dump_seekindex/dump_seekindex.vcproj +194 -0
- data/mpg123/ports/MSVC++/2008/feedseek/feedseek.vcproj +195 -0
- data/mpg123/ports/MSVC++/2008/libmpg123/libmpg123.vcproj +1357 -0
- data/mpg123/ports/MSVC++/2008/mpg123.sln +44 -0
- data/mpg123/ports/MSVC++/2008/mpglib/mpglib.vcproj +191 -0
- data/mpg123/ports/MSVC++/2008/scan/scan.vcproj +195 -0
- data/mpg123/ports/MSVC++/2008clr/2008clr.sln +81 -0
- data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/Program.cs +435 -0
- data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/Properties/AssemblyInfo.cs +36 -0
- data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/ReplaceReaderclr.csproj +72 -0
- data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/Program.cs +331 -0
- data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/Properties/AssemblyInfo.cs +36 -0
- data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/feedseekclr.csproj +71 -0
- data/mpg123/ports/MSVC++/2008clr/examples/scanclr/Program.cs +79 -0
- data/mpg123/ports/MSVC++/2008clr/examples/scanclr/Properties/AssemblyInfo.cs +36 -0
- data/mpg123/ports/MSVC++/2008clr/examples/scanclr/scanclr.csproj +70 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/AssemblyInfo.cpp +76 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/ReadMe.txt +165 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/advanced.cpp +91 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/advanced.h +130 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/dllmain.cpp +19 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/enum.h +218 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/error.cpp +48 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/error.h +134 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v1.cpp +92 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v1.h +132 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v2.cpp +138 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v2.h +152 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.cpp +896 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.h +953 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.rc +102 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.vcproj +328 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/resource.h +14 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/stdafx.cpp +8 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/stdafx.h +38 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/string.cpp +166 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/string.h +265 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/targetver.h +24 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/text.cpp +67 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/text.h +111 -0
- data/mpg123/ports/MSVC++/2010/dump_seekindex/dump_seekindex.vcxproj +90 -0
- data/mpg123/ports/MSVC++/2010/dump_seekindex/dump_seekindex.vcxproj.filters +6 -0
- data/mpg123/ports/MSVC++/2010/feedseek/feedseek.vcxproj +95 -0
- data/mpg123/ports/MSVC++/2010/feedseek/feedseek.vcxproj.filters +6 -0
- data/mpg123/ports/MSVC++/2010/libmpg123/libmpg123.vcxproj +960 -0
- data/mpg123/ports/MSVC++/2010/libmpg123/libmpg123.vcxproj.user +3 -0
- data/mpg123/ports/MSVC++/2010/libmpg123/yasm.exe +0 -0
- data/mpg123/ports/MSVC++/2010/mpg123.sln +38 -0
- data/mpg123/ports/MSVC++/2010/scan/scan.vcxproj +93 -0
- data/mpg123/ports/MSVC++/2010/scan/scan.vcxproj.filters +6 -0
- data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/CORE/CORE_FileIn.H +15 -0
- data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/CORE/SourceFilter_MP3.H +139 -0
- data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/IIEP_Def.H +206 -0
- data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/IIEP_FileIn.H +167 -0
- data/mpg123/ports/MSVC++/CMP3Stream/README +4 -0
- data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_FileIn.CPP +462 -0
- data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_Log.CPP +122 -0
- data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_Mutex.CPP +35 -0
- data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/SourceFilter_MP3Stream.CPP +586 -0
- data/mpg123/ports/MSVC++/CMP3Stream/libMPG123/PLACE_LIBMPG123_SOURCES_HERE +0 -0
- data/mpg123/ports/MSVC++/CMP3Stream/libMPG123/libMPG123.vcproj +245 -0
- data/mpg123/ports/MSVC++/config.h +35 -0
- data/mpg123/ports/MSVC++/examples/feedseek.c +240 -0
- data/mpg123/ports/MSVC++/examples/scan.c +47 -0
- data/mpg123/ports/MSVC++/mpg123.h +46 -0
- data/mpg123/ports/MSVC++/msvc.c +59 -0
- data/mpg123/ports/README +26 -0
- data/mpg123/ports/Sony_PSP/Makefile.psp +38 -0
- data/mpg123/ports/Sony_PSP/README +11 -0
- data/mpg123/ports/Sony_PSP/config.h +368 -0
- data/mpg123/ports/Sony_PSP/readers.c.patch +2 -0
- data/mpg123/ports/Xcode/config.h +197 -0
- data/mpg123/ports/Xcode/mpg123.h +17 -0
- data/mpg123/ports/Xcode/mpg123.xcodeproj/project.pbxproj +670 -0
- data/mpg123/ports/mpg123_.pas +478 -0
- data/mpg123/scripts/benchmark-cpu.pl +56 -0
- data/mpg123/scripts/tag_lyrics.py +76 -0
- data/mpg123/src/Makefile.am +186 -0
- data/mpg123/src/Makefile.in +1097 -0
- data/mpg123/src/audio.c +725 -0
- data/mpg123/src/audio.h +106 -0
- data/mpg123/src/buffer.c +312 -0
- data/mpg123/src/buffer.h +45 -0
- data/mpg123/src/common.c +240 -0
- data/mpg123/src/common.h +29 -0
- data/mpg123/src/config.h.in +436 -0
- data/mpg123/src/control_generic.c +809 -0
- data/mpg123/src/equalizer.c +48 -0
- data/mpg123/src/genre.c +271 -0
- data/mpg123/src/genre.h +15 -0
- data/mpg123/src/getlopt.c +148 -0
- data/mpg123/src/getlopt.h +77 -0
- data/mpg123/src/httpget.c +700 -0
- data/mpg123/src/httpget.h +66 -0
- data/mpg123/src/legacy_module.c +74 -0
- data/mpg123/src/libmpg123/Makefile.am +141 -0
- data/mpg123/src/libmpg123/Makefile.in +919 -0
- data/mpg123/src/libmpg123/compat.c +138 -0
- data/mpg123/src/libmpg123/compat.h +178 -0
- data/mpg123/src/libmpg123/dct36_3dnow.S +505 -0
- data/mpg123/src/libmpg123/dct36_3dnowext.S +512 -0
- data/mpg123/src/libmpg123/dct64.c +174 -0
- data/mpg123/src/libmpg123/dct64_3dnow.S +712 -0
- data/mpg123/src/libmpg123/dct64_3dnowext.S +714 -0
- data/mpg123/src/libmpg123/dct64_altivec.c +315 -0
- data/mpg123/src/libmpg123/dct64_i386.c +336 -0
- data/mpg123/src/libmpg123/dct64_i486.c +342 -0
- data/mpg123/src/libmpg123/dct64_mmx.S +811 -0
- data/mpg123/src/libmpg123/dct64_neon.S +297 -0
- data/mpg123/src/libmpg123/dct64_neon_float.S +270 -0
- data/mpg123/src/libmpg123/dct64_sse.S +454 -0
- data/mpg123/src/libmpg123/dct64_sse_float.S +401 -0
- data/mpg123/src/libmpg123/dct64_x86_64.S +464 -0
- data/mpg123/src/libmpg123/dct64_x86_64_float.S +426 -0
- data/mpg123/src/libmpg123/debug.h +171 -0
- data/mpg123/src/libmpg123/decode.h +268 -0
- data/mpg123/src/libmpg123/dither.c +119 -0
- data/mpg123/src/libmpg123/dither.h +23 -0
- data/mpg123/src/libmpg123/equalizer.c +17 -0
- data/mpg123/src/libmpg123/equalizer_3dnow.S +70 -0
- data/mpg123/src/libmpg123/feature.c +106 -0
- data/mpg123/src/libmpg123/format.c +521 -0
- data/mpg123/src/libmpg123/frame.c +1046 -0
- data/mpg123/src/libmpg123/frame.h +410 -0
- data/mpg123/src/libmpg123/gapless.h +119 -0
- data/mpg123/src/libmpg123/getbits.h +100 -0
- data/mpg123/src/libmpg123/getcpuflags.S +91 -0
- data/mpg123/src/libmpg123/getcpuflags.h +47 -0
- data/mpg123/src/libmpg123/huffman.h +340 -0
- data/mpg123/src/libmpg123/icy.c +32 -0
- data/mpg123/src/libmpg123/icy.h +38 -0
- data/mpg123/src/libmpg123/icy2utf8.c +438 -0
- data/mpg123/src/libmpg123/icy2utf8.h +10 -0
- data/mpg123/src/libmpg123/id3.c +999 -0
- data/mpg123/src/libmpg123/id3.h +43 -0
- data/mpg123/src/libmpg123/index.c +134 -0
- data/mpg123/src/libmpg123/index.h +59 -0
- data/mpg123/src/libmpg123/intsym.h +256 -0
- data/mpg123/src/libmpg123/l12_integer_tables.h +278 -0
- data/mpg123/src/libmpg123/l2tables.h +164 -0
- data/mpg123/src/libmpg123/l3_integer_tables.h +1002 -0
- data/mpg123/src/libmpg123/layer1.c +155 -0
- data/mpg123/src/libmpg123/layer2.c +371 -0
- data/mpg123/src/libmpg123/layer3.c +2053 -0
- data/mpg123/src/libmpg123/lfs_alias.c +252 -0
- data/mpg123/src/libmpg123/lfs_wrap.c +751 -0
- data/mpg123/src/libmpg123/libmpg123.c +1607 -0
- data/mpg123/src/libmpg123/mangle.h +74 -0
- data/mpg123/src/libmpg123/mpeghead.h +87 -0
- data/mpg123/src/libmpg123/mpg123.h.in +1075 -0
- data/mpg123/src/libmpg123/mpg123lib_intern.h +338 -0
- data/mpg123/src/libmpg123/ntom.c +148 -0
- data/mpg123/src/libmpg123/optimize.c +964 -0
- data/mpg123/src/libmpg123/optimize.h +219 -0
- data/mpg123/src/libmpg123/parse.c +1179 -0
- data/mpg123/src/libmpg123/parse.h +25 -0
- data/mpg123/src/libmpg123/reader.h +137 -0
- data/mpg123/src/libmpg123/readers.c +1235 -0
- data/mpg123/src/libmpg123/sample.h +152 -0
- data/mpg123/src/libmpg123/stringbuf.c +163 -0
- data/mpg123/src/libmpg123/synth.c +816 -0
- data/mpg123/src/libmpg123/synth.h +196 -0
- data/mpg123/src/libmpg123/synth_3dnow.S +318 -0
- data/mpg123/src/libmpg123/synth_3dnowext.S +6 -0
- data/mpg123/src/libmpg123/synth_8bit.c +142 -0
- data/mpg123/src/libmpg123/synth_8bit.h +86 -0
- data/mpg123/src/libmpg123/synth_altivec.c +1057 -0
- data/mpg123/src/libmpg123/synth_arm.S +271 -0
- data/mpg123/src/libmpg123/synth_arm_accurate.S +287 -0
- data/mpg123/src/libmpg123/synth_i486.c +252 -0
- data/mpg123/src/libmpg123/synth_i586.S +336 -0
- data/mpg123/src/libmpg123/synth_i586_dither.S +375 -0
- data/mpg123/src/libmpg123/synth_mmx.S +125 -0
- data/mpg123/src/libmpg123/synth_mono.h +64 -0
- data/mpg123/src/libmpg123/synth_neon.S +123 -0
- data/mpg123/src/libmpg123/synth_neon_accurate.S +173 -0
- data/mpg123/src/libmpg123/synth_neon_float.S +149 -0
- data/mpg123/src/libmpg123/synth_neon_s32.S +168 -0
- data/mpg123/src/libmpg123/synth_ntom.h +213 -0
- data/mpg123/src/libmpg123/synth_real.c +404 -0
- data/mpg123/src/libmpg123/synth_s32.c +411 -0
- data/mpg123/src/libmpg123/synth_sse.S +6 -0
- data/mpg123/src/libmpg123/synth_sse3d.h +246 -0
- data/mpg123/src/libmpg123/synth_sse_accurate.S +294 -0
- data/mpg123/src/libmpg123/synth_sse_float.S +241 -0
- data/mpg123/src/libmpg123/synth_sse_s32.S +306 -0
- data/mpg123/src/libmpg123/synth_stereo_neon.S +175 -0
- data/mpg123/src/libmpg123/synth_stereo_neon_accurate.S +262 -0
- data/mpg123/src/libmpg123/synth_stereo_neon_float.S +220 -0
- data/mpg123/src/libmpg123/synth_stereo_neon_s32.S +247 -0
- data/mpg123/src/libmpg123/synth_stereo_sse_accurate.S +508 -0
- data/mpg123/src/libmpg123/synth_stereo_sse_float.S +416 -0
- data/mpg123/src/libmpg123/synth_stereo_sse_s32.S +540 -0
- data/mpg123/src/libmpg123/synth_stereo_x86_64.S +335 -0
- data/mpg123/src/libmpg123/synth_stereo_x86_64_accurate.S +454 -0
- data/mpg123/src/libmpg123/synth_stereo_x86_64_float.S +396 -0
- data/mpg123/src/libmpg123/synth_stereo_x86_64_s32.S +473 -0
- data/mpg123/src/libmpg123/synth_x86_64.S +244 -0
- data/mpg123/src/libmpg123/synth_x86_64_accurate.S +301 -0
- data/mpg123/src/libmpg123/synth_x86_64_float.S +259 -0
- data/mpg123/src/libmpg123/synth_x86_64_s32.S +312 -0
- data/mpg123/src/libmpg123/synths.h +52 -0
- data/mpg123/src/libmpg123/tabinit.c +294 -0
- data/mpg123/src/libmpg123/tabinit_mmx.S +210 -0
- data/mpg123/src/libmpg123/testcpu.c +35 -0
- data/mpg123/src/libmpg123/true.h +14 -0
- data/mpg123/src/local.c +63 -0
- data/mpg123/src/local.h +21 -0
- data/mpg123/src/metaprint.c +373 -0
- data/mpg123/src/metaprint.h +17 -0
- data/mpg123/src/module.c +306 -0
- data/mpg123/src/module.h +48 -0
- data/mpg123/src/mpg123.c +1405 -0
- data/mpg123/src/mpg123app.h +171 -0
- data/mpg123/src/output/Makefile.am +213 -0
- data/mpg123/src/output/Makefile.in +1238 -0
- data/mpg123/src/output/aix.c +300 -0
- data/mpg123/src/output/alib.c +209 -0
- data/mpg123/src/output/alsa.c +297 -0
- data/mpg123/src/output/arts.c +117 -0
- data/mpg123/src/output/coreaudio.c +370 -0
- data/mpg123/src/output/dummy.c +78 -0
- data/mpg123/src/output/esd.c +167 -0
- data/mpg123/src/output/hp.c +184 -0
- data/mpg123/src/output/jack.c +450 -0
- data/mpg123/src/output/mint.c +197 -0
- data/mpg123/src/output/nas.c +335 -0
- data/mpg123/src/output/openal.c +197 -0
- data/mpg123/src/output/os2.c +665 -0
- data/mpg123/src/output/oss.c +319 -0
- data/mpg123/src/output/portaudio.c +255 -0
- data/mpg123/src/output/pulse.c +164 -0
- data/mpg123/src/output/sdl.c +206 -0
- data/mpg123/src/output/sgi.c +213 -0
- data/mpg123/src/output/sndio.c +161 -0
- data/mpg123/src/output/sun.c +281 -0
- data/mpg123/src/output/win32.c +229 -0
- data/mpg123/src/playlist.c +596 -0
- data/mpg123/src/playlist.h +52 -0
- data/mpg123/src/resolver.c +319 -0
- data/mpg123/src/resolver.h +25 -0
- data/mpg123/src/sfifo.c +146 -0
- data/mpg123/src/sfifo.h +95 -0
- data/mpg123/src/streamdump.c +74 -0
- data/mpg123/src/streamdump.h +20 -0
- data/mpg123/src/term.c +479 -0
- data/mpg123/src/term.h +81 -0
- data/mpg123/src/tests/noise.c +52 -0
- data/mpg123/src/tests/plain_id3.c +109 -0
- data/mpg123/src/tests/seek_accuracy.c +261 -0
- data/mpg123/src/tests/seek_whence.c +56 -0
- data/mpg123/src/tests/testtext.h +34 -0
- data/mpg123/src/tests/text.c +80 -0
- data/mpg123/src/wav.c +464 -0
- data/mpg123/src/wavhead.h +68 -0
- data/mpg123/src/win32_net.c +599 -0
- data/mpg123/src/win32_support.c +191 -0
- data/mpg123/src/win32_support.h +152 -0
- data/mpg123/src/xfermem.c +321 -0
- data/mpg123/src/xfermem.h +74 -0
- data/mpg123/windows-builds.sh +137 -0
- data/msvc/lib/OpenAL32.lib +0 -0
- data/spec/fixtures/heal.ogg +0 -0
- data/spec/fixtures/tone_up.wav +0 -0
- data/spec/seal/buffer_spec.rb +37 -0
- data/spec/seal/core_spec.rb +29 -0
- data/spec/seal/effect_slot_spec.rb +38 -0
- data/spec/seal/listener_spec.rb +33 -0
- data/spec/seal/reverb_spec.rb +51 -0
- data/spec/seal/source_spec.rb +370 -0
- data/spec/seal/stream_spec.rb +38 -0
- data/spec/spec_helper.rb +45 -0
- data/spec/support/attribute_examples.rb +75 -0
- data/spec/support/audio_object_with_format.rb +27 -0
- data/spec/support/movable_object.rb +22 -0
- data/src/libogg/bitwise.c +857 -0
- data/src/libogg/framing.c +2093 -0
- data/src/libvorbis/backends.h +144 -0
- data/src/libvorbis/bitrate.c +253 -0
- data/src/libvorbis/bitrate.h +59 -0
- data/src/libvorbis/block.c +1046 -0
- data/src/libvorbis/codebook.c +484 -0
- data/src/libvorbis/codebook.h +119 -0
- data/src/libvorbis/codec_internal.h +167 -0
- data/src/libvorbis/envelope.c +375 -0
- data/src/libvorbis/envelope.h +80 -0
- data/src/libvorbis/floor0.c +221 -0
- data/src/libvorbis/floor1.c +1100 -0
- data/src/libvorbis/highlevel.h +58 -0
- data/src/libvorbis/info.c +668 -0
- data/src/libvorbis/lookup.c +94 -0
- data/src/libvorbis/lookup.h +32 -0
- data/src/libvorbis/lookup_data.h +192 -0
- data/src/libvorbis/lpc.c +160 -0
- data/src/libvorbis/lpc.h +29 -0
- data/src/libvorbis/lsp.c +456 -0
- data/src/libvorbis/lsp.h +28 -0
- data/src/libvorbis/mapping0.c +816 -0
- data/src/libvorbis/masking.h +785 -0
- data/src/libvorbis/mdct.c +563 -0
- data/src/libvorbis/mdct.h +71 -0
- data/src/libvorbis/misc.h +57 -0
- data/src/libvorbis/os.h +186 -0
- data/src/libvorbis/psy.c +1206 -0
- data/src/libvorbis/psy.h +154 -0
- data/src/libvorbis/registry.c +45 -0
- data/src/libvorbis/registry.h +32 -0
- data/src/libvorbis/res0.c +889 -0
- data/src/libvorbis/scales.h +90 -0
- data/src/libvorbis/sharedbook.c +579 -0
- data/src/libvorbis/smallft.c +1255 -0
- data/src/libvorbis/smallft.h +34 -0
- data/src/libvorbis/synthesis.c +184 -0
- data/src/libvorbis/vorbisfile.c +2337 -0
- data/src/libvorbis/window.c +2135 -0
- data/src/libvorbis/window.h +26 -0
- data/src/rubyext.c +2329 -0
- data/src/seal/buf.c +124 -0
- data/src/seal/core.c +283 -0
- data/src/seal/efs.c +74 -0
- data/src/seal/err.c +118 -0
- data/src/seal/fmt.c +86 -0
- data/src/seal/listener.c +111 -0
- data/src/seal/mpg.c +174 -0
- data/src/seal/mpg.h +24 -0
- data/src/seal/ov.c +180 -0
- data/src/seal/ov.h +22 -0
- data/src/seal/raw.c +59 -0
- data/src/seal/reader.c +102 -0
- data/src/seal/reader.h +59 -0
- data/src/seal/rvb.c +368 -0
- data/src/seal/src.c +654 -0
- data/src/seal/stream.c +109 -0
- data/src/seal/threading.c +66 -0
- data/src/seal/threading.h +20 -0
- data/src/seal/wav.c +297 -0
- data/src/seal/wav.h +23 -0
- data/src/win32api.rb +29 -0
- metadata +563 -0
data/mpg123/configure.ac
ADDED
|
@@ -0,0 +1,2178 @@
|
|
|
1
|
+
dnl configure.ac: source for the configure script
|
|
2
|
+
|
|
3
|
+
dnl copyright by the mpg123 project - free software under the terms of the LGPL 2.1
|
|
4
|
+
dnl see COPYING and AUTHORS files in distribution or http://mpg123.org
|
|
5
|
+
dnl initially written by Nicholas J. Humfrey
|
|
6
|
+
|
|
7
|
+
dnl Require autoconf version >= 2.57
|
|
8
|
+
AC_PREREQ(2.57)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
dnl ############# Initialisation
|
|
12
|
+
AC_INIT([mpg123], [1.14.4], [mpg123-devel@lists.sourceforge.net])
|
|
13
|
+
dnl Increment API_VERSION when the API gets changes (new functions).
|
|
14
|
+
API_VERSION=36
|
|
15
|
+
LIB_PATCHLEVEL=6
|
|
16
|
+
dnl Since we want to be backwards compatible, both sides get set to API_VERSION.
|
|
17
|
+
LIBMPG123_VERSION=$API_VERSION:$LIB_PATCHLEVEL:$API_VERSION
|
|
18
|
+
AC_SUBST(LIBMPG123_VERSION)
|
|
19
|
+
AC_SUBST(API_VERSION)
|
|
20
|
+
|
|
21
|
+
AC_CONFIG_SRCDIR(src/mpg123.c)
|
|
22
|
+
AC_CONFIG_AUX_DIR(build)
|
|
23
|
+
AC_CONFIG_SRCDIR(doc)
|
|
24
|
+
AC_CONFIG_MACRO_DIR([m4])
|
|
25
|
+
AC_CANONICAL_HOST
|
|
26
|
+
|
|
27
|
+
dnl Version 1.7 of automake is recommended
|
|
28
|
+
AM_INIT_AUTOMAKE(1.7)
|
|
29
|
+
AM_CONFIG_HEADER(src/config.h)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
# You get strange symptoms like jack module build failing because the AC_C_CONST failed to detect the working const support.
|
|
33
|
+
# In that case, the test failed because -Werror, not because no const there...
|
|
34
|
+
# After looking again, there are possibly more tests being obscured by false failures.
|
|
35
|
+
AC_MSG_CHECKING([for -Werror in CFLAGS (It breaks tests)])
|
|
36
|
+
if echo "$CFLAGS" | grep Werror; then
|
|
37
|
+
AC_MSG_RESULT([yes])
|
|
38
|
+
AC_MSG_WARN([You have -Werror in CFLAGS. That may break some tests and make this configure bogus.
|
|
39
|
+
If you want paranoid compilation, use --enable-nagging option, which adds -Werror for gcc.
|
|
40
|
+
Also note that you shall not run make distcheck after configuring with --enable-nagging.
|
|
41
|
+
distcheck uses the generated CFLAGS...
|
|
42
|
+
Anyhow, continuing at your own risk.])
|
|
43
|
+
else
|
|
44
|
+
AC_MSG_RESULT([no])
|
|
45
|
+
fi
|
|
46
|
+
|
|
47
|
+
buffer=enabled # try to build with buffer by default
|
|
48
|
+
|
|
49
|
+
dnl ############# Compiler and tools Checks
|
|
50
|
+
|
|
51
|
+
LT_LDFLAGS=-export-dynamic
|
|
52
|
+
EXEC_LT_LDFLAGS=
|
|
53
|
+
be_static=no
|
|
54
|
+
all_static=no
|
|
55
|
+
AC_MSG_CHECKING([if you are up to something totally static with LDFLAGS/CFLAGS])
|
|
56
|
+
for f in $LDFLAGS $CFLAGS
|
|
57
|
+
do
|
|
58
|
+
case "$f" in
|
|
59
|
+
-all-static)
|
|
60
|
+
be_static=yes
|
|
61
|
+
all_static=yes
|
|
62
|
+
;;
|
|
63
|
+
-static)
|
|
64
|
+
be_static=yes
|
|
65
|
+
;;
|
|
66
|
+
esac
|
|
67
|
+
done
|
|
68
|
+
if test "x$be_static" = xyes; then
|
|
69
|
+
AC_MSG_RESULT([yes])
|
|
70
|
+
LT_LDFLAGS=-all-static
|
|
71
|
+
EXEC_LT_LDFLAGS="$LT_LDFLAGS"
|
|
72
|
+
else
|
|
73
|
+
AC_MSG_RESULT([no])
|
|
74
|
+
fi
|
|
75
|
+
if test "x$all_static" = xyes; then
|
|
76
|
+
AC_MSG_WARN( Use -static in LDFLAGS for all-static linking! Your compiler may blow up on that -all-static. )
|
|
77
|
+
fi
|
|
78
|
+
|
|
79
|
+
AM_PROG_AS
|
|
80
|
+
AC_PROG_CC
|
|
81
|
+
AC_PROG_CPP
|
|
82
|
+
AC_PROG_INSTALL
|
|
83
|
+
dnl "Checking for egrep is broken after removal of libltdl stuff... checks use $EGREP, so searching it here."
|
|
84
|
+
AC_PROG_EGREP
|
|
85
|
+
AC_C_CONST
|
|
86
|
+
AC_INLINE
|
|
87
|
+
AC_C_BIGENDIAN
|
|
88
|
+
|
|
89
|
+
dnl ############# Use Libtool for dynamic module loading
|
|
90
|
+
|
|
91
|
+
modules=auto
|
|
92
|
+
OUTPUT_OBJ="module.\$(OBJEXT)"
|
|
93
|
+
AC_ARG_ENABLE(modules,
|
|
94
|
+
[ --enable-modules=[no/yes] dynamically loadable output modules],
|
|
95
|
+
[
|
|
96
|
+
if test "x$enableval" = xyes
|
|
97
|
+
then
|
|
98
|
+
modules=enabled
|
|
99
|
+
else
|
|
100
|
+
modules=disabled
|
|
101
|
+
fi
|
|
102
|
+
],
|
|
103
|
+
[
|
|
104
|
+
if test "x$be_static" = "xyes"; then
|
|
105
|
+
modules=disabled
|
|
106
|
+
else
|
|
107
|
+
modules=auto
|
|
108
|
+
fi
|
|
109
|
+
])
|
|
110
|
+
|
|
111
|
+
dnl We only want shared libraries by default
|
|
112
|
+
AC_DISABLE_STATIC
|
|
113
|
+
AC_ENABLE_SHARED
|
|
114
|
+
|
|
115
|
+
if test x"$enable_shared" = xno; then
|
|
116
|
+
modules=disabled
|
|
117
|
+
LT_LDFLAGS=
|
|
118
|
+
else
|
|
119
|
+
AC_DEFINE(DYNAMIC_BUILD, 1, [ Define if building with dynamcally linked libmpg123])
|
|
120
|
+
fi
|
|
121
|
+
|
|
122
|
+
if test x"$modules" = xdisabled
|
|
123
|
+
then
|
|
124
|
+
echo "Modules disabled, not checking for libltdl."
|
|
125
|
+
else
|
|
126
|
+
have_ltdl=no
|
|
127
|
+
AC_CHECK_LIB( [ltdl], [lt_dlinit],
|
|
128
|
+
[ AC_CHECK_HEADER( [ltdl.h],
|
|
129
|
+
[
|
|
130
|
+
have_ltdl=yes
|
|
131
|
+
AC_DEFINE(HAVE_LTDL, 1, [ Define if libltdl is available ])
|
|
132
|
+
],
|
|
133
|
+
[
|
|
134
|
+
AC_MSG_WARN([Found ltdl library but NOT the header file on your system])
|
|
135
|
+
] )
|
|
136
|
+
],
|
|
137
|
+
[
|
|
138
|
+
AC_MSG_WARN([ltdl library not found])
|
|
139
|
+
]
|
|
140
|
+
)
|
|
141
|
+
if test x"$modules" = xenabled -a x"$have_ltdl" = xno; then
|
|
142
|
+
AC_MSG_ERROR([Modules enabled but no libltdl found! This will not work...])
|
|
143
|
+
fi
|
|
144
|
+
if test x"$modules" = xauto; then
|
|
145
|
+
if test x"$have_ltdl" = xyes; then
|
|
146
|
+
modules=enabled
|
|
147
|
+
echo "We found libltdl: Modules enabled."
|
|
148
|
+
else
|
|
149
|
+
echo "We did not find libltdl: Modules disabled."
|
|
150
|
+
modules=disabled
|
|
151
|
+
fi
|
|
152
|
+
fi
|
|
153
|
+
fi
|
|
154
|
+
|
|
155
|
+
if test x"$modules" = xdisabled
|
|
156
|
+
then
|
|
157
|
+
echo "Modules disabled."
|
|
158
|
+
else
|
|
159
|
+
# Enable module support in source code
|
|
160
|
+
AC_DEFINE( USE_MODULES, 1, [Define if modules are enabled] )
|
|
161
|
+
fi
|
|
162
|
+
|
|
163
|
+
dnl Configure libtool
|
|
164
|
+
|
|
165
|
+
AC_LIBTOOL_WIN32_DLL
|
|
166
|
+
AM_PROG_LIBTOOL
|
|
167
|
+
|
|
168
|
+
if test x"$modules" = xdisabled
|
|
169
|
+
then
|
|
170
|
+
echo "Modules still disabled..."
|
|
171
|
+
MODULE_OBJ="legacy_module.\$(OBJEXT)"
|
|
172
|
+
else
|
|
173
|
+
MODULE_OBJ="module.\$(OBJEXT)"
|
|
174
|
+
fi
|
|
175
|
+
|
|
176
|
+
AM_CONDITIONAL( [HAVE_MODULES], [test "x$modules" = xenabled] )
|
|
177
|
+
|
|
178
|
+
AC_SUBST(MODULE_OBJ)
|
|
179
|
+
AC_SUBST(LT_LDFLAGS)
|
|
180
|
+
AC_SUBST(EXEC_LT_LDFLAGS)
|
|
181
|
+
|
|
182
|
+
dnl ############## Configurable Options
|
|
183
|
+
|
|
184
|
+
AC_ARG_ENABLE(debug,
|
|
185
|
+
[ --enable-debug=[no/yes] turn on debugging],
|
|
186
|
+
[
|
|
187
|
+
if test "x$enableval" = xyes
|
|
188
|
+
then
|
|
189
|
+
debugging="enabled"
|
|
190
|
+
else
|
|
191
|
+
debugging="disabled"
|
|
192
|
+
fi
|
|
193
|
+
],
|
|
194
|
+
[ debugging="disabled" ]
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
AC_ARG_ENABLE(nagging,
|
|
198
|
+
[ --enable-nagging=[no/yes] turn on GCC's pedantic nagging with error on warnings, also enables debugging ],
|
|
199
|
+
[
|
|
200
|
+
if test "x$enableval" = xyes
|
|
201
|
+
then
|
|
202
|
+
nagging="enabled"
|
|
203
|
+
debugging="enabled"
|
|
204
|
+
else
|
|
205
|
+
nagging="disabled"
|
|
206
|
+
fi
|
|
207
|
+
],
|
|
208
|
+
[ nagging="disabled" ]
|
|
209
|
+
)
|
|
210
|
+
|
|
211
|
+
if test x"$debugging" = xenabled; then
|
|
212
|
+
AC_DEFINE(DEBUG, 1, [ Define if debugging is enabled. ])
|
|
213
|
+
fi
|
|
214
|
+
|
|
215
|
+
AC_ARG_ENABLE(gapless,
|
|
216
|
+
[ --enable-gapless=[no/yes] turn on gapless (enabled per default)],
|
|
217
|
+
[
|
|
218
|
+
if test "x$enableval" = xyes
|
|
219
|
+
then
|
|
220
|
+
gapless="enabled"
|
|
221
|
+
AC_DEFINE(GAPLESS, 1, [ Define if gapless is enabled. ])
|
|
222
|
+
else
|
|
223
|
+
gapless="disabled"
|
|
224
|
+
fi
|
|
225
|
+
],
|
|
226
|
+
[
|
|
227
|
+
gapless="enabled"
|
|
228
|
+
AC_DEFINE(GAPLESS, 1, [ Define if gapless is enabled. ])
|
|
229
|
+
]
|
|
230
|
+
)
|
|
231
|
+
|
|
232
|
+
AC_ARG_ENABLE(fifo,
|
|
233
|
+
[ --enable-fifo=[no/yes] FIFO support for control interface (auto-enabled on linux) ],
|
|
234
|
+
[
|
|
235
|
+
if test "x$enableval" = xyes
|
|
236
|
+
then
|
|
237
|
+
fifo="enabled"
|
|
238
|
+
else
|
|
239
|
+
fifo="disabled"
|
|
240
|
+
fi
|
|
241
|
+
],
|
|
242
|
+
[
|
|
243
|
+
fifo="auto"
|
|
244
|
+
]
|
|
245
|
+
)
|
|
246
|
+
|
|
247
|
+
AC_ARG_ENABLE(ipv6,
|
|
248
|
+
[ --enable-ipv6=[no/yes] IPv6 support (actually any protocol your libc does with getaddrinfo) ],
|
|
249
|
+
[
|
|
250
|
+
if test "x$enableval" = xyes
|
|
251
|
+
then
|
|
252
|
+
ipv6="enabled"
|
|
253
|
+
else
|
|
254
|
+
ipv6="disabled"
|
|
255
|
+
fi
|
|
256
|
+
],
|
|
257
|
+
[
|
|
258
|
+
ipv6="auto"
|
|
259
|
+
]
|
|
260
|
+
)
|
|
261
|
+
|
|
262
|
+
AC_ARG_ENABLE(network,
|
|
263
|
+
[ --enable-network=[no/yes] network support (http streams / webradio) ],
|
|
264
|
+
[
|
|
265
|
+
if test "x$enableval" = xyes
|
|
266
|
+
then
|
|
267
|
+
network="enabled"
|
|
268
|
+
else
|
|
269
|
+
network="disabled"
|
|
270
|
+
fi
|
|
271
|
+
],
|
|
272
|
+
[
|
|
273
|
+
network="auto"
|
|
274
|
+
]
|
|
275
|
+
)
|
|
276
|
+
|
|
277
|
+
dnl Optional objects list, depends on decoder choice and core feature selection.
|
|
278
|
+
dnl Not just for specific decoders anymore...
|
|
279
|
+
s_fpu=
|
|
280
|
+
DECODER_OBJ=
|
|
281
|
+
DECODER_LOBJ=
|
|
282
|
+
|
|
283
|
+
dnl Core features that can be disabled to reduce binary size.
|
|
284
|
+
|
|
285
|
+
id3v2=enabled
|
|
286
|
+
AC_ARG_ENABLE(id3v2,
|
|
287
|
+
[ --disable-id3v2=[no/yes] no ID3v2 parsing ],
|
|
288
|
+
[
|
|
289
|
+
if test "x$enableval" = xno; then
|
|
290
|
+
id3v2="disabled"
|
|
291
|
+
fi
|
|
292
|
+
], [])
|
|
293
|
+
|
|
294
|
+
# id3v2 depends on strings... so check that in between.
|
|
295
|
+
string=enabled
|
|
296
|
+
AC_ARG_ENABLE(string,
|
|
297
|
+
[ --disable-string=[no/yes] no string API (this will disable ID3v2; main mpg123 won't build anymore) ],
|
|
298
|
+
[
|
|
299
|
+
if test "x$enableval" = xno; then
|
|
300
|
+
string="disabled"
|
|
301
|
+
fi
|
|
302
|
+
], [])
|
|
303
|
+
|
|
304
|
+
if test "x$string" = "xdisabled"; then
|
|
305
|
+
AC_DEFINE(NO_STRING, 1, [ Define to disable string functions. ])
|
|
306
|
+
id3v2=disabled
|
|
307
|
+
AC_MSG_WARN([ID3v2 support disabled because of string API being disabled.])
|
|
308
|
+
else
|
|
309
|
+
DECODER_OBJ="$DECODER_OBJ stringbuf.\$(OBJEXT)"
|
|
310
|
+
DECODER_LOBJ="$DECODER_LOBJ stringbuf.lo"
|
|
311
|
+
fi
|
|
312
|
+
|
|
313
|
+
if test "x$id3v2" = "xdisabled"; then
|
|
314
|
+
AC_DEFINE(NO_ID3V2, 1, [ Define to disable ID3v2 parsing. ])
|
|
315
|
+
fi
|
|
316
|
+
|
|
317
|
+
icy=enabled
|
|
318
|
+
AC_ARG_ENABLE(icy,
|
|
319
|
+
[ --disable-icy=[no/yes] no ICY metainfo parsing/conversion (main mpg123 won't build!) ],
|
|
320
|
+
[
|
|
321
|
+
if test "x$enableval" = xno; then
|
|
322
|
+
icy="disabled"
|
|
323
|
+
fi
|
|
324
|
+
], [])
|
|
325
|
+
|
|
326
|
+
if test "x$icy" = "xdisabled"; then
|
|
327
|
+
AC_DEFINE(NO_ICY, 1, [ Define to disable ICY handling. ])
|
|
328
|
+
else
|
|
329
|
+
DECODER_OBJ="$DECODER_OBJ icy.\$(OBJEXT) icy2utf8.\$(OBJEXT)"
|
|
330
|
+
DECODER_LOBJ="$DECODER_LOBJ icy.lo icy2utf8.lo"
|
|
331
|
+
fi
|
|
332
|
+
|
|
333
|
+
ntom=enabled
|
|
334
|
+
AC_ARG_ENABLE(ntom,
|
|
335
|
+
[ --disable-ntom=[no/yes] no flexible resampling ],
|
|
336
|
+
[
|
|
337
|
+
if test "x$enableval" = xno; then
|
|
338
|
+
ntom="disabled"
|
|
339
|
+
fi
|
|
340
|
+
], [])
|
|
341
|
+
|
|
342
|
+
if test "x$ntom" = "xdisabled"; then
|
|
343
|
+
AC_DEFINE(NO_NTOM, 1, [ Define to disable ntom resampling. ])
|
|
344
|
+
else
|
|
345
|
+
DECODER_OBJ="$DECODER_OBJ ntom.\$(OBJEXT)"
|
|
346
|
+
DECODER_LOBJ="$DECODER_LOBJ ntom.lo"
|
|
347
|
+
fi
|
|
348
|
+
|
|
349
|
+
downsample=enabled
|
|
350
|
+
AC_ARG_ENABLE(downsample,
|
|
351
|
+
[ --disable-downsample=[no/yes] no downsampled decoding ],
|
|
352
|
+
[
|
|
353
|
+
if test "x$enableval" = xno; then
|
|
354
|
+
downsample="disabled"
|
|
355
|
+
fi
|
|
356
|
+
], [])
|
|
357
|
+
|
|
358
|
+
if test "x$downsample" = "xdisabled"; then
|
|
359
|
+
AC_DEFINE(NO_DOWNSAMPLE, 1, [ Define to disable downsampled decoding. ])
|
|
360
|
+
fi
|
|
361
|
+
|
|
362
|
+
feeder=enabled
|
|
363
|
+
AC_ARG_ENABLE(feeder,
|
|
364
|
+
[ --disable-feeder=[no/yes] no feeder decoding, no buffered readers ],
|
|
365
|
+
[
|
|
366
|
+
if test "x$enableval" = xno; then
|
|
367
|
+
feeder="disabled"
|
|
368
|
+
fi
|
|
369
|
+
], [])
|
|
370
|
+
|
|
371
|
+
if test "x$feeder" = "xdisabled"; then
|
|
372
|
+
AC_DEFINE(NO_FEEDER, 1, [ Define to disable feeder and buffered readers. ])
|
|
373
|
+
fi
|
|
374
|
+
|
|
375
|
+
messages=enabled
|
|
376
|
+
AC_ARG_ENABLE(messages,
|
|
377
|
+
[ --disable-messages=[no/yes] no error/warning messages on the console ],
|
|
378
|
+
[
|
|
379
|
+
if test "x$enableval" = xno; then
|
|
380
|
+
messages="disabled"
|
|
381
|
+
fi
|
|
382
|
+
], [])
|
|
383
|
+
|
|
384
|
+
if test "x$messages" = "xdisabled"; then
|
|
385
|
+
AC_DEFINE(NO_WARNING, 1, [ Define to disable warning messages. ])
|
|
386
|
+
AC_DEFINE(NO_ERRORMSG, 1, [ Define to disable error messages. ])
|
|
387
|
+
AC_DEFINE(NO_ERETURN, 1, [ Define to disable error messages in combination with a return value (the return is left intact). ])
|
|
388
|
+
fi
|
|
389
|
+
|
|
390
|
+
integers=fast
|
|
391
|
+
AC_ARG_ENABLE(int-quality,
|
|
392
|
+
[ --enable-int-quality=[yes/no] use rounding instead of fast truncation for integer output, where possible ],
|
|
393
|
+
[
|
|
394
|
+
if test "x$enableval" = xyes; then
|
|
395
|
+
integers=quality
|
|
396
|
+
AC_DEFINE(ACCURATE_ROUNDING, 1, [ Define to use proper rounding. ])
|
|
397
|
+
fi
|
|
398
|
+
], [])
|
|
399
|
+
|
|
400
|
+
int16=enabled
|
|
401
|
+
AC_ARG_ENABLE(16bit,
|
|
402
|
+
[ --disable-16bit=[no/yes] no 16 bit integer output ],
|
|
403
|
+
[
|
|
404
|
+
if test "x$enableval" = xno; then
|
|
405
|
+
int16="disabled"
|
|
406
|
+
fi
|
|
407
|
+
], [])
|
|
408
|
+
|
|
409
|
+
int8=enabled
|
|
410
|
+
AC_ARG_ENABLE(8bit,
|
|
411
|
+
[ --disable-8bit=[no/yes] no 8 bit integer output ],
|
|
412
|
+
[
|
|
413
|
+
if test "x$enableval" = xno; then
|
|
414
|
+
int8="disabled"
|
|
415
|
+
fi
|
|
416
|
+
], [])
|
|
417
|
+
|
|
418
|
+
int32=enabled
|
|
419
|
+
AC_ARG_ENABLE(32bit,
|
|
420
|
+
[ --disable-32bit=[no/yes] no 32 bit integer output (also 24 bit) ],
|
|
421
|
+
[
|
|
422
|
+
if test "x$enableval" = xno; then
|
|
423
|
+
int32="disabled"
|
|
424
|
+
fi
|
|
425
|
+
], [])
|
|
426
|
+
|
|
427
|
+
real=enabled
|
|
428
|
+
AC_ARG_ENABLE(real,
|
|
429
|
+
[ --disable-real=[no/yes] no real (floating point) output ],
|
|
430
|
+
[
|
|
431
|
+
if test "x$enableval" = xno; then
|
|
432
|
+
real="disabled"
|
|
433
|
+
fi
|
|
434
|
+
], [])
|
|
435
|
+
|
|
436
|
+
AC_ARG_WITH([cpu], [
|
|
437
|
+
--with-cpu=generic[_fpu] Use generic processor code with floating point arithmetic
|
|
438
|
+
--with-cpu=generic_float Plain alias to generic_fpu now... float output is a normal runtime option!
|
|
439
|
+
--with-cpu=generic_nofpu Use generic processor code with fixed point arithmetic (p.ex. ARM, experimental)
|
|
440
|
+
--with-cpu=generic_dither Use generic processor code with floating point arithmetic and dithering for 1to1 16bit decoding.
|
|
441
|
+
--with-cpu=i386[_fpu] Use code optimized for i386 processors with floating point arithmetic
|
|
442
|
+
--with-cpu=i386_nofpu Use code optimized for i386 processors with fixed point arithmetic (experimental)
|
|
443
|
+
--with-cpu=i486 Use code optimized for i486 processors (only usable alone!)
|
|
444
|
+
--with-cpu=i586 Use code optimized for i586 processors
|
|
445
|
+
--with-cpu=i586_dither Use code optimized for i586 processors with dithering (noise shaping), adds 256K to binary size
|
|
446
|
+
--with-cpu=3dnow Use code optimized for 3DNow processors
|
|
447
|
+
--with-cpu=3dnowext Use code optimized for 3DNowExt processors (K6-3+, Athlon)
|
|
448
|
+
--with-cpu=3dnowext_alone Really only 3DNowExt decoder, without 3DNow fallback for flexible rate
|
|
449
|
+
--with-cpu=mmx Use code optimized for MMX processors
|
|
450
|
+
--with-cpu=mmx_alone Really only MMX decoder, without i586 fallback for flexible rate
|
|
451
|
+
--with-cpu=sse Use code optimized for SSE processors
|
|
452
|
+
--with-cpu=sse_alone Really only SSE decoder, without i586 fallback for flexible rate
|
|
453
|
+
--with-cpu=x86 Pack all x86 opts into one binary (excluding i486, including dither)
|
|
454
|
+
--with-cpu=x86-64 Use code optimized for x86-64 processors (AMD64 and Intel64, including dithered generic)
|
|
455
|
+
--with-cpu=altivec Use code optimized for Altivec processors (PowerPC G4 and G5)
|
|
456
|
+
--with-cpu=ppc_nofpu Use code optimized for PowerPC processors with fixed point arithmetic (experimental)
|
|
457
|
+
--with-cpu=neon Use code optimized for ARM NEON SIMD engine (Cortex-A series)
|
|
458
|
+
--with-cpu=arm_nofpu Use code optimized for ARM processors with fixed point arithmetic (experimental)
|
|
459
|
+
])
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
# opt-in for IEEE754 floating point action
|
|
463
|
+
# We want to make sure not to apply hacks relying on IEEE754 storage format on platforms where we did not make sure that this actually is valid.
|
|
464
|
+
# It _should_ be fine for about all computers still out there, but we play safe.
|
|
465
|
+
ieee=no
|
|
466
|
+
case $host in
|
|
467
|
+
i?86-*|x86_64-*|powerpc*|sparc*)
|
|
468
|
+
ieee=yes
|
|
469
|
+
;;
|
|
470
|
+
esac
|
|
471
|
+
if test "x$ieee" = xyes; then
|
|
472
|
+
echo "We assume IEEE754 floating point format."
|
|
473
|
+
AC_DEFINE(IEEE_FLOAT, 1, [ Define to indicate that float storage follows IEEE754. ])
|
|
474
|
+
fi
|
|
475
|
+
|
|
476
|
+
newoldwritesample=disabled
|
|
477
|
+
case $host in
|
|
478
|
+
arm*-*-linux*)
|
|
479
|
+
# check that... perhaps we are better off on arm with kernel math emulation
|
|
480
|
+
cpu_type="arm_nofpu"
|
|
481
|
+
;;
|
|
482
|
+
i386-*-linux*|i386-*-kfreebsd*-gnu)
|
|
483
|
+
cpu_type="i386_fpu"
|
|
484
|
+
newoldwritesample=enabled
|
|
485
|
+
;;
|
|
486
|
+
i486-*-linux*|i486-*-kfreebsd*-gnu)
|
|
487
|
+
cpu_type="i486"
|
|
488
|
+
newoldwritesample=enabled
|
|
489
|
+
;;
|
|
490
|
+
i586-*-linux*|i586-*-kfreebsd*-gnu)
|
|
491
|
+
cpu_type="x86"
|
|
492
|
+
newoldwritesample=enabled
|
|
493
|
+
;;
|
|
494
|
+
i686-*-linux*|i686-*-kfreebsd*-gnu)
|
|
495
|
+
cpu_type="x86"
|
|
496
|
+
newoldwritesample=enabled
|
|
497
|
+
;;
|
|
498
|
+
x86_64-*-linux*|x86_64-*-kfreebsd*-gnu)
|
|
499
|
+
cpu_type="x86-64_all"
|
|
500
|
+
;;
|
|
501
|
+
*-*-linux*|*-*-kfreebsd*-gnu)
|
|
502
|
+
cpu_type="generic_fpu"
|
|
503
|
+
;;
|
|
504
|
+
i386-apple-darwin10*)
|
|
505
|
+
AC_MSG_CHECKING([if CPU type supports x86-64])
|
|
506
|
+
case `sysctl -n hw.optional.x86_64` in
|
|
507
|
+
1)
|
|
508
|
+
AC_MSG_RESULT([yes])
|
|
509
|
+
cpu_type="x86-64_all"
|
|
510
|
+
;;
|
|
511
|
+
*)
|
|
512
|
+
AC_MSG_RESULT([no])
|
|
513
|
+
cpu_type="x86"
|
|
514
|
+
newoldwritesample=enabled
|
|
515
|
+
;;
|
|
516
|
+
esac
|
|
517
|
+
;;
|
|
518
|
+
i386-apple-darwin*)
|
|
519
|
+
cpu_type="x86"
|
|
520
|
+
newoldwritesample=enabled
|
|
521
|
+
;;
|
|
522
|
+
x86_64-apple-darwin*)
|
|
523
|
+
cpu_type="x86-64_all"
|
|
524
|
+
;;
|
|
525
|
+
*-apple-darwin*)
|
|
526
|
+
AC_MSG_CHECKING([if CPU type supports AltiVec])
|
|
527
|
+
case `machine` in
|
|
528
|
+
ppc7400 | ppc7450 | ppc970)
|
|
529
|
+
AC_MSG_RESULT([yes])
|
|
530
|
+
cpu_type="altivec"
|
|
531
|
+
;;
|
|
532
|
+
*)
|
|
533
|
+
AC_MSG_RESULT([no])
|
|
534
|
+
cpu_type="generic_fpu"
|
|
535
|
+
;;
|
|
536
|
+
esac
|
|
537
|
+
;;
|
|
538
|
+
i?86-*-dragonfly* | i?86-*-freebsd* | i?86-*-midnightbsd* | i?86-*-mirbsd* | i?86-*-netbsd* | i?86-*-openbsd*)
|
|
539
|
+
cpu_type="x86"
|
|
540
|
+
newoldwritesample=enabled
|
|
541
|
+
;;
|
|
542
|
+
x86_64-*-dragonfly* | x86_64-*-freebsd* | x86_64-*-midnightbsd* | x86_64-*-mirbsd* | x86_64-*-netbsd* | x86_64-*-openbsd*)
|
|
543
|
+
cpu_type="x86-64_all"
|
|
544
|
+
;;
|
|
545
|
+
*-*-dragonfly* | *-*-freebsd* | *-*-midnightbsd* | *-*-mirbsd* | *-*-netbsd* | *-*-openbsd*)
|
|
546
|
+
cpu_type="generic_fpu"
|
|
547
|
+
;;
|
|
548
|
+
i386-*-solaris*)
|
|
549
|
+
cpu_type=x86
|
|
550
|
+
newoldwritesample=enabled
|
|
551
|
+
;;
|
|
552
|
+
x86_64-*-solaris*)
|
|
553
|
+
cpu_type=x86-64_all
|
|
554
|
+
;;
|
|
555
|
+
*-*-solaris*)
|
|
556
|
+
cpu_type="generic_fpu"
|
|
557
|
+
;;
|
|
558
|
+
# os2-emx = OS/2 with some Unix fun; so p.ex. buffer works.
|
|
559
|
+
# Till we sorted out the assembler troubles, generic CPU is default.
|
|
560
|
+
i386-pc-os2-emx)
|
|
561
|
+
cpu_type=generic_fpu
|
|
562
|
+
newoldwritesample=enabled
|
|
563
|
+
;;
|
|
564
|
+
x86_64-pc-os2-emx)
|
|
565
|
+
# We are optimistic hat the future knows OS/2 on x86-64;-)
|
|
566
|
+
cpu_type=generic_fpu
|
|
567
|
+
;;
|
|
568
|
+
*-pc-os2-emx)
|
|
569
|
+
cpu_type="generic_fpu"
|
|
570
|
+
;;
|
|
571
|
+
*-dec-osf*)
|
|
572
|
+
cpu_type="generic_fpu"
|
|
573
|
+
;;
|
|
574
|
+
x86_64-pc-cygwin*)
|
|
575
|
+
cpu_type="x86-64_all"
|
|
576
|
+
;;
|
|
577
|
+
i686-pc-cygwin*)
|
|
578
|
+
cpu_type="x86"
|
|
579
|
+
newoldwritesample=enabled
|
|
580
|
+
;;
|
|
581
|
+
i586-pc-cygwin*)
|
|
582
|
+
cpu_type="x86"
|
|
583
|
+
newoldwritesample=enabled
|
|
584
|
+
;;
|
|
585
|
+
i486-pc-cygwin*)
|
|
586
|
+
cpu_type="i486"
|
|
587
|
+
newoldwritesample=enabled
|
|
588
|
+
;;
|
|
589
|
+
i386-pc-cygwin*)
|
|
590
|
+
cpu_type="i386"
|
|
591
|
+
newoldwritesample=enabled
|
|
592
|
+
;;
|
|
593
|
+
*-pc-cygwin*)
|
|
594
|
+
cpu_type="generic_fpu"
|
|
595
|
+
;;
|
|
596
|
+
i@<:@3-7@:>@86-*-mingw32*)
|
|
597
|
+
LIBS="$LIBS"
|
|
598
|
+
buffer=disabled
|
|
599
|
+
cpu_type="x86"
|
|
600
|
+
newoldwritesample=enabled
|
|
601
|
+
;;
|
|
602
|
+
x86_64-*-mingw32*)
|
|
603
|
+
LIBS="$LIBS"
|
|
604
|
+
buffer=disabled
|
|
605
|
+
cpu_type="x86-64"
|
|
606
|
+
;;
|
|
607
|
+
i386-*)
|
|
608
|
+
AC_MSG_WARN([Unknown host operating system])
|
|
609
|
+
cpu_type="i386"
|
|
610
|
+
buffer=disabled
|
|
611
|
+
ADD_CPPFLAGS="-DGENERIC $ADD_CPPFLAGS"
|
|
612
|
+
newoldwritesample=enabled
|
|
613
|
+
;;
|
|
614
|
+
i486-*)
|
|
615
|
+
AC_MSG_WARN([Unknown host operating system])
|
|
616
|
+
cpu_type="i486"
|
|
617
|
+
buffer=disabled
|
|
618
|
+
ADD_CPPFLAGS="-DGENERIC $ADD_CPPFLAGS"
|
|
619
|
+
newoldwritesample=enabled
|
|
620
|
+
;;
|
|
621
|
+
i586-*)
|
|
622
|
+
AC_MSG_WARN([Unknown host operating system])
|
|
623
|
+
cpu_type="x86"
|
|
624
|
+
buffer=disabled
|
|
625
|
+
ADD_CPPFLAGS="-DGENERIC $ADD_CPPFLAGS"
|
|
626
|
+
newoldwritesample=enabled
|
|
627
|
+
;;
|
|
628
|
+
i686-*)
|
|
629
|
+
AC_MSG_WARN([Unknown host operating system])
|
|
630
|
+
cpu_type="x86"
|
|
631
|
+
buffer=disabled
|
|
632
|
+
ADD_CPPFLAGS="-DGENERIC $ADD_CPPFLAGS"
|
|
633
|
+
newoldwritesample=enabled
|
|
634
|
+
;;
|
|
635
|
+
x86_64-*)
|
|
636
|
+
AC_MSG_WARN([Unknown host operating system])
|
|
637
|
+
cpu_type="x86-64_all"
|
|
638
|
+
buffer=disabled
|
|
639
|
+
ADD_CPPFLAGS="-DGENERIC $ADD_CPPFLAGS"
|
|
640
|
+
;;
|
|
641
|
+
*)
|
|
642
|
+
AC_MSG_WARN([Unknown host operating system])
|
|
643
|
+
cpu_type="generic_fpu"
|
|
644
|
+
buffer=disabled
|
|
645
|
+
ADD_CPPFLAGS="-DGENERIC $ADD_CPPFLAGS"
|
|
646
|
+
;;
|
|
647
|
+
esac
|
|
648
|
+
|
|
649
|
+
AC_ARG_ENABLE(buffer,
|
|
650
|
+
[ --enable-buffer=[yes/no] disable audio buffer code (default uses system whitelist... proper checks later) ],
|
|
651
|
+
[
|
|
652
|
+
if test "x$enableval" = xyes
|
|
653
|
+
then
|
|
654
|
+
echo "Note: Enabling buffer per request... perhaps it will not build anyway."
|
|
655
|
+
buffer="enabled"
|
|
656
|
+
else
|
|
657
|
+
echo "Note: Disabling buffer per request."
|
|
658
|
+
buffer="disabled"
|
|
659
|
+
fi
|
|
660
|
+
]
|
|
661
|
+
)
|
|
662
|
+
|
|
663
|
+
AC_ARG_ENABLE(newoldwritesample,
|
|
664
|
+
[ --enable-newoldwritesample=[no/yes] enable new/old WRITE_SAMPLE macro for non-accurate 16 bit output, faster on certain CPUs (default on on x86-32)],
|
|
665
|
+
[
|
|
666
|
+
if test "x$enableval" = xyes
|
|
667
|
+
then
|
|
668
|
+
newoldwritesample=enabled
|
|
669
|
+
else
|
|
670
|
+
newoldwritesample=disabled
|
|
671
|
+
fi
|
|
672
|
+
])
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+
|
|
676
|
+
dnl Did user choose other CPU type ?
|
|
677
|
+
if test "x$with_cpu" != "x"; then
|
|
678
|
+
cpu_type=$with_cpu
|
|
679
|
+
fi
|
|
680
|
+
|
|
681
|
+
if test "x$cpu_type" = "xgeneric_nofpu"; then
|
|
682
|
+
real=disabled
|
|
683
|
+
int32=disabled
|
|
684
|
+
fi
|
|
685
|
+
|
|
686
|
+
if test "x$cpu_type" = "xi386_nofpu"; then
|
|
687
|
+
real=disabled
|
|
688
|
+
int32=disabled
|
|
689
|
+
fi
|
|
690
|
+
|
|
691
|
+
if test "x$cpu_type" = "xppc_nofpu"; then
|
|
692
|
+
real=disabled
|
|
693
|
+
int32=disabled
|
|
694
|
+
fi
|
|
695
|
+
|
|
696
|
+
if test "x$cpu_type" = "xarm_nofpu"; then
|
|
697
|
+
real=disabled
|
|
698
|
+
int32=disabled
|
|
699
|
+
fi
|
|
700
|
+
|
|
701
|
+
if test "x$int16" = "xdisabled"; then
|
|
702
|
+
AC_DEFINE(NO_16BIT, 1, [ Define to disable 16 bit integer output. ])
|
|
703
|
+
else
|
|
704
|
+
DECODER_OBJ="$DECODER_OBJ synth.\$(OBJEXT)"
|
|
705
|
+
DECODER_LOBJ="$DECODER_LOBJ synth.lo"
|
|
706
|
+
fi
|
|
707
|
+
|
|
708
|
+
# 8bit works only through 16bit
|
|
709
|
+
if test "x$int16" = "xdisabled"; then
|
|
710
|
+
int8=disabled
|
|
711
|
+
fi
|
|
712
|
+
if test "x$int8" = "xdisabled"; then
|
|
713
|
+
AC_DEFINE(NO_8BIT, 1, [ Define to disable 8 bit integer output. ])
|
|
714
|
+
else
|
|
715
|
+
DECODER_OBJ="$DECODER_OBJ synth_8bit.\$(OBJEXT)"
|
|
716
|
+
DECODER_LOBJ="$DECODER_LOBJ synth_8bit.lo"
|
|
717
|
+
fi
|
|
718
|
+
|
|
719
|
+
if test "x$int32" = "xdisabled"; then
|
|
720
|
+
AC_DEFINE(NO_32BIT, 1, [ Define to disable 32 bit and 24 bit integer output. ])
|
|
721
|
+
else
|
|
722
|
+
s_fpu="$s_fpu synth_s32"
|
|
723
|
+
fi
|
|
724
|
+
|
|
725
|
+
if test "x$real" = "xdisabled"; then
|
|
726
|
+
AC_DEFINE(NO_REAL, 1, [ Define to disable real output. ])
|
|
727
|
+
else
|
|
728
|
+
s_fpu="$s_fpu synth_real"
|
|
729
|
+
fi
|
|
730
|
+
|
|
731
|
+
|
|
732
|
+
|
|
733
|
+
layer1=enabled
|
|
734
|
+
AC_ARG_ENABLE(layer1,
|
|
735
|
+
[ --disable-layer1=[no/yes] no layer I decoding ],
|
|
736
|
+
[
|
|
737
|
+
if test "x$enableval" = xno; then
|
|
738
|
+
layer1="disabled"
|
|
739
|
+
fi
|
|
740
|
+
], [])
|
|
741
|
+
|
|
742
|
+
if test "x$layer1" = "xdisabled"; then
|
|
743
|
+
AC_DEFINE(NO_LAYER1, 1, [ Define to disable layer I. ])
|
|
744
|
+
else
|
|
745
|
+
# layer1 needs code in layer2
|
|
746
|
+
DECODER_OBJ="$DECODER_OBJ layer1.\$(OBJEXT) layer2.\$(OBJEXT)"
|
|
747
|
+
DECODER_LOBJ="$DECODER_LOBJ layer1.lo layer2.lo"
|
|
748
|
+
fi
|
|
749
|
+
|
|
750
|
+
layer2=enabled
|
|
751
|
+
AC_ARG_ENABLE(layer2,
|
|
752
|
+
[ --disable-layer2=[no/yes] no layer II decoding ],
|
|
753
|
+
[
|
|
754
|
+
if test "x$enableval" = xno; then
|
|
755
|
+
layer2="disabled"
|
|
756
|
+
fi
|
|
757
|
+
], [])
|
|
758
|
+
|
|
759
|
+
if test "x$layer2" = "xdisabled"; then
|
|
760
|
+
AC_DEFINE(NO_LAYER2, 1, [ Define to disable layer II. ])
|
|
761
|
+
else
|
|
762
|
+
# layer1 may have added the objects already
|
|
763
|
+
if test "x$layer1" = "xdisabled"; then
|
|
764
|
+
DECODER_OBJ="$DECODER_OBJ layer2.\$(OBJEXT)"
|
|
765
|
+
DECODER_LOBJ="$DECODER_LOBJ layer2.lo"
|
|
766
|
+
fi
|
|
767
|
+
fi
|
|
768
|
+
|
|
769
|
+
layer3=enabled
|
|
770
|
+
AC_ARG_ENABLE(layer3,
|
|
771
|
+
[ --disable-layer3=[no/yes] no layer III decoding ],
|
|
772
|
+
[
|
|
773
|
+
if test "x$enableval" = xno; then
|
|
774
|
+
layer3="disabled"
|
|
775
|
+
fi
|
|
776
|
+
], [])
|
|
777
|
+
|
|
778
|
+
if test "x$layer3" = "xdisabled"; then
|
|
779
|
+
AC_DEFINE(NO_LAYER3, 1, [ Define to disable layer III. ])
|
|
780
|
+
else
|
|
781
|
+
DECODER_OBJ="$DECODER_OBJ layer3.\$(OBJEXT)"
|
|
782
|
+
DECODER_LOBJ="$DECODER_LOBJ layer3.lo"
|
|
783
|
+
fi
|
|
784
|
+
|
|
785
|
+
AC_ARG_WITH([audio], [
|
|
786
|
+
--with-audio=<list of modules> Select a list (or only one) of audio output modules (comma or space separated list).
|
|
787
|
+
])
|
|
788
|
+
AC_ARG_WITH([default-audio], [
|
|
789
|
+
--with-default-audio=aix Use AIX as default audio output sub-system
|
|
790
|
+
--with-default-audio=alib Use Alib as default audio output sub-system (for HPUX)
|
|
791
|
+
--with-default-audio=alsa Use ALSA as default audio output sub-system
|
|
792
|
+
--with-default-audio=arts Use aRts as default audio output sub-system (KDE sound server)
|
|
793
|
+
--with-default-audio=dummy Use dummy as default audio (when no sound card is available)
|
|
794
|
+
--with-default-audio=esd Use ESoundD as default audio output sub-system
|
|
795
|
+
--with-default-audio=hp Use HP as default audio output sub-system
|
|
796
|
+
--with-default-audio=jack Use JACK as default low-latency audio server
|
|
797
|
+
--with-default-audio=coreaudio Use Mac OS X as default audio output sub-system (CoreAudio)
|
|
798
|
+
--with-default-audio=mint Use MinT as default audio output sub-system (Atari)
|
|
799
|
+
--with-default-audio=nas Use NAS as default audio output (Network Audio System)
|
|
800
|
+
--with-default-audio=os2 Use OS2 as default audio output sub-system
|
|
801
|
+
--with-default-audio=oss Use OSS as default audio output sub-system (/dev/dsp)
|
|
802
|
+
--with-default-audio=portaudio Use PortAudio as default audio output sub-system
|
|
803
|
+
--with-default-audio=pulse Use Pulse audio server as default audio output sub-system
|
|
804
|
+
--with-default-audio=sdl Use SDL as default audio output sub-system (Simple DirectMedia Layer)
|
|
805
|
+
--with-default-audio=sgi Use SGI as default audio output sub-system (IRIX)
|
|
806
|
+
--with-default-audio=sndio Use OpenBSD's sndio as default audio output sub-system
|
|
807
|
+
--with-default-audio=sun Use Sun as default audio output sub-system (/dev/audio)
|
|
808
|
+
--with-default-audio=win32 Use Win32 audio as default audio output sub-system
|
|
809
|
+
])
|
|
810
|
+
|
|
811
|
+
AC_ARG_WITH([optimization], [
|
|
812
|
+
--with-optimization=0 No Optimization
|
|
813
|
+
--with-optimization=1 Limited Optimization (-O) (for gcc)
|
|
814
|
+
--with-optimization=2 Default Optimization (-O2 ...) (for gcc)
|
|
815
|
+
--with-optimization=3 More Optimize than default (-O3 ...) (for gcc)
|
|
816
|
+
--with-optimization=4 Optimize yet more (-O4 ...) (for gcc)
|
|
817
|
+
])
|
|
818
|
+
|
|
819
|
+
AC_ARG_WITH([seektable], [
|
|
820
|
+
--with-seektable=<size> choose size of seek index table (0 disables it), default 1000
|
|
821
|
+
])
|
|
822
|
+
|
|
823
|
+
|
|
824
|
+
dnl ############## Modules
|
|
825
|
+
|
|
826
|
+
# Dummy audio output module is always supported
|
|
827
|
+
output_modules="dummy"
|
|
828
|
+
|
|
829
|
+
# Decide on module file suffix. Setting it != .la allows removal of .la files.
|
|
830
|
+
AC_ARG_WITH([module-suffix], [
|
|
831
|
+
--with-module-suffix=.la (default) Use libtool's .la files for loading modules.
|
|
832
|
+
--with-module-suffix=[.so|.dll|...] Specify the native module file suffix to bypass .la files.
|
|
833
|
+
])
|
|
834
|
+
if test x"$with_module_suffix" = x; then
|
|
835
|
+
with_module_suffix=.la
|
|
836
|
+
fi
|
|
837
|
+
AC_DEFINE_UNQUOTED( MODULE_FILE_SUFFIX, "$with_module_suffix", [The suffix for module files.] )
|
|
838
|
+
|
|
839
|
+
dnl ############## Assembler, compiler properties
|
|
840
|
+
|
|
841
|
+
# based on posting from John Dalgliesh <johnd@defyne.org> on ffmpeg (LGPL) mailing list
|
|
842
|
+
# find if .align arg is power-of-two or not
|
|
843
|
+
asmalign_exp="unknown"
|
|
844
|
+
if test x"$asmalign_exp" = xunknown; then
|
|
845
|
+
AC_MSG_CHECKING([if .align takes 2-exponent])
|
|
846
|
+
asmalign_exp="no"
|
|
847
|
+
echo '.align 3' > conftest.s
|
|
848
|
+
if $CCAS -c -o conftest.o conftest.s 1>/dev/null 2>&1; then
|
|
849
|
+
asmalign_exp="yes"
|
|
850
|
+
AC_MSG_RESULT([yes])
|
|
851
|
+
else
|
|
852
|
+
AC_MSG_RESULT([no])
|
|
853
|
+
fi
|
|
854
|
+
rm -f conftest.o conftest.s
|
|
855
|
+
fi
|
|
856
|
+
if test x"$asmalign_exp" = xyes; then
|
|
857
|
+
AC_DEFINE(ASMALIGN_EXP, 1, [ Define if .align takes 3 for alignment of 2^3=8 bytes instead of 8. ])
|
|
858
|
+
fi
|
|
859
|
+
|
|
860
|
+
ccalign="unknown"
|
|
861
|
+
if test x"$ccalign" = xunknown; then
|
|
862
|
+
AC_MSG_CHECKING([__attribute__((aligned(16)))])
|
|
863
|
+
ccalign="no"
|
|
864
|
+
echo '__attribute__((aligned(16))) float var;' > conftest.c
|
|
865
|
+
if $CC -c -o conftest.o conftest.c >/dev/null 2>&1; then
|
|
866
|
+
ccalign="yes"
|
|
867
|
+
AC_MSG_RESULT([yes])
|
|
868
|
+
else
|
|
869
|
+
AC_MSG_RESULT([no])
|
|
870
|
+
fi
|
|
871
|
+
rm -f conftest.o conftest.c
|
|
872
|
+
fi
|
|
873
|
+
|
|
874
|
+
dnl We apply alignment hints only to cpus that need it.
|
|
875
|
+
dnl See further below for the definition of CCALIGN
|
|
876
|
+
|
|
877
|
+
dnl ############## Really basic headers, needed for other checks.
|
|
878
|
+
|
|
879
|
+
AC_HEADER_STDC
|
|
880
|
+
dnl Is it too paranoid to specifically check for stdint.h and limits.h?
|
|
881
|
+
AC_CHECK_HEADERS([stdio.h stdlib.h string.h unistd.h sched.h sys/ioctl.h sys/types.h stdint.h limits.h inttypes.h sys/time.h sys/wait.h sys/resource.h sys/signal.h signal.h])
|
|
882
|
+
|
|
883
|
+
dnl ############## Types
|
|
884
|
+
|
|
885
|
+
dnl Large file support stuff needs cleanup. There are superfluous variables.
|
|
886
|
+
|
|
887
|
+
dnl Detect large file support, enable switches if needed.
|
|
888
|
+
AC_SYS_LARGEFILE
|
|
889
|
+
dnl If we do have a switch for large files, rename off_t-aware API calls.
|
|
890
|
+
dnl Using the file_offset_bits variable here is fine for linux (possibly Solaris),
|
|
891
|
+
dnl Others... we'll have to see.
|
|
892
|
+
dnl Note: I started writing this with with multiline replacements.
|
|
893
|
+
dnl Does not work. Automake insists on putting these into Makefiles where they break things.
|
|
894
|
+
if test "x$ac_cv_sys_file_offset_bits" = x || echo "$ac_cv_sys_file_offset_bits" | $GREP '@<:@^0-9@:>@' > /dev/null; then
|
|
895
|
+
dnl if it has non-numeric chars or is empty... ignore...
|
|
896
|
+
LFS_LOBJ=
|
|
897
|
+
else
|
|
898
|
+
# Add dual-mode wrapper code.
|
|
899
|
+
LFS_LOBJ=lfs_wrap.lo
|
|
900
|
+
fi
|
|
901
|
+
|
|
902
|
+
# Using the lower level macros instead of AC_TYPE_* for compatibility with not freshest autoconf.
|
|
903
|
+
AC_CHECK_TYPE(size_t, unsigned long)
|
|
904
|
+
AC_CHECK_TYPE(uintptr_t, unsigned long)
|
|
905
|
+
AC_CHECK_TYPE(ssize_t, long)
|
|
906
|
+
AC_CHECK_TYPE(off_t, long int)
|
|
907
|
+
AC_CHECK_TYPE(int32_t, int)
|
|
908
|
+
AC_CHECK_TYPE(uint32_t, unsigned int)
|
|
909
|
+
AC_CHECK_TYPE(int16_t, short)
|
|
910
|
+
AC_CHECK_TYPE(uint16_t, unsigned short)
|
|
911
|
+
AC_CHECK_SIZEOF(size_t,4)
|
|
912
|
+
AC_CHECK_SIZEOF(ssize_t,4)
|
|
913
|
+
AC_CHECK_SIZEOF(off_t,4)
|
|
914
|
+
AC_CHECK_SIZEOF(int32_t)
|
|
915
|
+
AC_CHECK_SIZEOF(long,4)
|
|
916
|
+
|
|
917
|
+
# The alias functions want to know the native off_t bits.
|
|
918
|
+
# "Native" also means large file offsets, if enabled, it's what is native to the mpg123 library.
|
|
919
|
+
if test "x$ac_cv_sizeof_long" = "x"; then
|
|
920
|
+
AC_MSG_ERROR([Cannot determine sizeof(long)?])
|
|
921
|
+
else
|
|
922
|
+
LFS_ALIAS_BITS=`expr "$ac_cv_sizeof_long" "*" "8"`
|
|
923
|
+
AC_DEFINE_UNQUOTED([LFS_ALIAS_BITS], $LFS_ALIAS_BITS,
|
|
924
|
+
[Define this to the size of long type in bits, used for LFS small/native alias functions.])
|
|
925
|
+
fi
|
|
926
|
+
|
|
927
|
+
lfs_alias=enabled
|
|
928
|
+
AC_ARG_ENABLE(lfs-alias,
|
|
929
|
+
[ --disable-lfs-alias disable alias wrappers for largefile bitness (mpg123_seek_32 in addition to mpg123_seek, mpg123_seek_64 as alias on x86-64) ],
|
|
930
|
+
[
|
|
931
|
+
if test "x$enableval" = xno; then
|
|
932
|
+
lfs_alias="disabled"
|
|
933
|
+
fi
|
|
934
|
+
],
|
|
935
|
+
[
|
|
936
|
+
case $host in
|
|
937
|
+
*-cygwin*)
|
|
938
|
+
lfs_alias="disabled"
|
|
939
|
+
AC_MSG_NOTICE([lfs-alias disabled for Cygwin, use --enable-lfs-alias explicitly to enable, only if you know what you are doing])
|
|
940
|
+
;;
|
|
941
|
+
esac
|
|
942
|
+
|
|
943
|
+
])
|
|
944
|
+
|
|
945
|
+
AC_MSG_CHECKING([if we want to enable alias wrappers for largefile])
|
|
946
|
+
if test "x$lfs_alias" = "xenabled"; then
|
|
947
|
+
AC_MSG_RESULT([yes])
|
|
948
|
+
LFS_LOBJ="$LFS_LOBJ lfs_alias.lo"
|
|
949
|
+
else
|
|
950
|
+
AC_MSG_RESULT([no])
|
|
951
|
+
fi
|
|
952
|
+
|
|
953
|
+
AC_SUBST(LFS_LOBJ)
|
|
954
|
+
|
|
955
|
+
|
|
956
|
+
dnl ############## Function Checks
|
|
957
|
+
|
|
958
|
+
AC_FUNC_MMAP
|
|
959
|
+
|
|
960
|
+
# Check if system supports termios
|
|
961
|
+
AC_SYS_POSIX_TERMIOS
|
|
962
|
+
if test "x$ac_cv_sys_posix_termios" = "xyes"; then
|
|
963
|
+
AC_DEFINE_UNQUOTED([HAVE_TERMIOS], 1,
|
|
964
|
+
[Define this if you have the POSIX termios library])
|
|
965
|
+
fi
|
|
966
|
+
|
|
967
|
+
AC_CHECK_FUNCS( random )
|
|
968
|
+
|
|
969
|
+
# Check for sched_setscheduler
|
|
970
|
+
AC_CHECK_FUNCS( sched_setscheduler setuid getuid)
|
|
971
|
+
|
|
972
|
+
# Check for setpriority
|
|
973
|
+
AC_CHECK_FUNCS( setpriority )
|
|
974
|
+
|
|
975
|
+
AC_CHECK_FUNCS( strerror )
|
|
976
|
+
|
|
977
|
+
AC_CHECK_FUNCS( setlocale nl_langinfo )
|
|
978
|
+
|
|
979
|
+
AC_CHECK_FUNCS( strdup )
|
|
980
|
+
|
|
981
|
+
AC_CHECK_FUNCS( atoll )
|
|
982
|
+
|
|
983
|
+
AC_CHECK_FUNCS( mkfifo, [ have_mkfifo=yes ], [ have_mkfifo=no ] )
|
|
984
|
+
|
|
985
|
+
dnl ############## Header and Library Checks
|
|
986
|
+
|
|
987
|
+
# locale headers
|
|
988
|
+
AC_CHECK_HEADERS([locale.h langinfo.h])
|
|
989
|
+
# Headers for network (http) stuff
|
|
990
|
+
network_type=Unknown
|
|
991
|
+
AC_CHECK_HEADERS([netdb.h sys/param.h sys/socket.h netinet/in.h arpa/inet.h])
|
|
992
|
+
if test "x$ac_cv_header_netdb_h" = "xyes" &&
|
|
993
|
+
test "x$ac_cv_header_sys_param_h" = "xyes" &&
|
|
994
|
+
test "x$ac_cv_header_sys_socket_h" = "xyes" &&
|
|
995
|
+
test "x$ac_cv_header_netinet_in_h" = "xyes" &&
|
|
996
|
+
test "x$ac_cv_header_arpa_inet_h" = "xyes"; then
|
|
997
|
+
have_network=yes
|
|
998
|
+
network_type=Posix
|
|
999
|
+
else
|
|
1000
|
+
have_network=no
|
|
1001
|
+
fi
|
|
1002
|
+
|
|
1003
|
+
dnl trying to get that socket lib settled in one line
|
|
1004
|
+
AC_SEARCH_LIBS(gethostbyname, nsl socket)
|
|
1005
|
+
dnl OK, two lines... Solaris needs -lnsl -lsocket
|
|
1006
|
+
AC_SEARCH_LIBS(socket, socket)
|
|
1007
|
+
|
|
1008
|
+
AC_CHECK_FUNCS( getaddrinfo, [ have_ipv6=yes ], [ have_ipv6=no ] )
|
|
1009
|
+
|
|
1010
|
+
APR_CHECK_GETADDRINFO_ADDRCONFIG()
|
|
1011
|
+
|
|
1012
|
+
# Substitutions for the installable mpg123.h header
|
|
1013
|
+
if test "x$ac_cv_header_stdio_h" = "xyes"; then
|
|
1014
|
+
INCLUDE_STDIO_H="#include <stdio.h>"
|
|
1015
|
+
else
|
|
1016
|
+
INCLUDE_STDIO_H="/* #include <stdio.h> is not available on this system */"
|
|
1017
|
+
fi
|
|
1018
|
+
AC_SUBST(INCLUDE_STDIO_H)
|
|
1019
|
+
|
|
1020
|
+
if test "x$ac_cv_header_stdlib_h" = "xyes"; then
|
|
1021
|
+
INCLUDE_STDLIB_H="#include <stdlib.h>"
|
|
1022
|
+
else
|
|
1023
|
+
INCLUDE_STDLIB_H="/* #include <stdlib.h> is not available on this system */"
|
|
1024
|
+
fi
|
|
1025
|
+
AC_SUBST(INCLUDE_STDLIB_H)
|
|
1026
|
+
|
|
1027
|
+
if test "x$ac_cv_header_sys_types_h" = "xyes"; then
|
|
1028
|
+
INCLUDE_SYS_TYPE_H="#include <sys/types.h>"
|
|
1029
|
+
else
|
|
1030
|
+
INCLUDE_SYS_TYPE_H="/* #include <sys/types.h> is not available on this system */"
|
|
1031
|
+
fi
|
|
1032
|
+
AC_SUBST(INCLUDE_SYS_TYPE_H)
|
|
1033
|
+
|
|
1034
|
+
|
|
1035
|
+
# Checks for maths libraries.
|
|
1036
|
+
AC_CHECK_LIB([m], [sqrt])
|
|
1037
|
+
AC_CHECK_LIB([mx], [powf])
|
|
1038
|
+
|
|
1039
|
+
# attempt to make the signal stuff work... also with GENERIC - later
|
|
1040
|
+
#if test x"$ac_cv_header_sys_signal_h" = xyes; then
|
|
1041
|
+
# AC_CHECK_FUNCS( sigemptyset sigaddset sigprocmask sigaction )
|
|
1042
|
+
# if test x"$ac_cv_func_sigemptyset" = xyes &&
|
|
1043
|
+
# test x"$ac_cv_func_sigaddset" = xyes &&
|
|
1044
|
+
# test x"$ac_cv_func_sigprocmask" = xyes &&
|
|
1045
|
+
# test x"$ac_cv_func_sigaction" = xyes; then
|
|
1046
|
+
# AC_DEFINE(
|
|
1047
|
+
#fi
|
|
1048
|
+
|
|
1049
|
+
dnl ############## Choose compiler flags and CPU
|
|
1050
|
+
|
|
1051
|
+
# do not assume gcc here, so no flags by default
|
|
1052
|
+
ADD_CFLAGS=""
|
|
1053
|
+
ADD_CPPFLAGS=""
|
|
1054
|
+
ADD_LDFLAGS=""
|
|
1055
|
+
LIBS="$LIBS"
|
|
1056
|
+
|
|
1057
|
+
AC_CHECK_HEADER([os2.h], [ADD_CPPFLAGS="$ADD_CPPFLAGS -DOS2"])
|
|
1058
|
+
|
|
1059
|
+
# If debugging is enabled then make warnings errors
|
|
1060
|
+
if test x"$debugging" = xenabled; then
|
|
1061
|
+
ADD_CFLAGS="-g"
|
|
1062
|
+
# gcc specific...
|
|
1063
|
+
if test x"$GCC" = xyes; then
|
|
1064
|
+
ADD_CFLAGS="$ADD_CFLAGS -Wall -fno-strict-aliasing"
|
|
1065
|
+
if test x"$nagging" = xenabled; then
|
|
1066
|
+
ADD_CFLAGS="$ADD_CFLAGS -Werror -pedantic -DPLAIN_C89"
|
|
1067
|
+
fi
|
|
1068
|
+
fi
|
|
1069
|
+
fi
|
|
1070
|
+
|
|
1071
|
+
dnl Only try the attribute_align_arg mumbo-jumbo on x86, x86-64 warns/errors out on that attribute.
|
|
1072
|
+
dnl ...dunno even what about other architectures.
|
|
1073
|
+
case $host in
|
|
1074
|
+
i?86-*)
|
|
1075
|
+
AC_DEFINE(ABI_ALIGN_FUN, 1, [ Define if your architecture wants/needs/can use attribute_align_arg and alignment checks. It is for 32bit x86... ])
|
|
1076
|
+
;;
|
|
1077
|
+
esac
|
|
1078
|
+
|
|
1079
|
+
s_altivec="synth_altivec dct64_altivec"
|
|
1080
|
+
s_i386="dct64_i386"
|
|
1081
|
+
s_i486="$s_i386 synth_i486 dct64_i486"
|
|
1082
|
+
s_i586="$s_i386 synth_i586"
|
|
1083
|
+
s_i586d="$s_i386 synth_i586_dither"
|
|
1084
|
+
s_3dnow="$s_i386 synth_3dnow dct64_3dnow equalizer_3dnow"
|
|
1085
|
+
s_3dnowext="$s_i386 dct64_3dnowext tabinit_mmx synth_3dnowext"
|
|
1086
|
+
if test "x$layer3" = "xenabled"; then
|
|
1087
|
+
s_3dnow="$s_3dnow dct36_3dnow"
|
|
1088
|
+
s_3dnowext="$s_3dnowext dct36_3dnowext"
|
|
1089
|
+
fi
|
|
1090
|
+
s_mmx="$s_i386 dct64_mmx tabinit_mmx synth_mmx"
|
|
1091
|
+
s_sse="$s_i386 tabinit_mmx dct64_sse dct64_sse_float synth_sse_float synth_stereo_sse_float synth_sse_s32 synth_stereo_sse_s32 "
|
|
1092
|
+
s_x86_64="dct64_x86_64 dct64_x86_64_float synth_x86_64_float synth_x86_64_s32 synth_stereo_x86_64_float synth_stereo_x86_64_s32"
|
|
1093
|
+
s_x86multi="getcpuflags"
|
|
1094
|
+
s_dither="dither"
|
|
1095
|
+
s_neon="dct64_neon dct64_neon_float synth_neon_float synth_neon_s32 synth_stereo_neon_float synth_stereo_neon_s32"
|
|
1096
|
+
|
|
1097
|
+
# choose optimized 16bit decoder for SSE, quality or fast
|
|
1098
|
+
# note: supporting deactivation of output formats for these decoders would need more logic here
|
|
1099
|
+
if test "x$integers" = "xquality"; then
|
|
1100
|
+
s_sse="$s_sse synth_sse_accurate synth_stereo_sse_accurate"
|
|
1101
|
+
s_x86_64="$s_x86_64 synth_x86_64_accurate synth_stereo_x86_64_accurate"
|
|
1102
|
+
s_arm="synth_arm_accurate"
|
|
1103
|
+
s_neon="$s_neon synth_neon_accurate synth_stereo_neon_accurate"
|
|
1104
|
+
else
|
|
1105
|
+
s_sse="$s_sse synth_sse" # no stereo
|
|
1106
|
+
s_x86_64="$s_x86_64 synth_x86_64 synth_stereo_x86_64"
|
|
1107
|
+
s_arm="synth_arm"
|
|
1108
|
+
s_neon="$s_neon synth_neon synth_stereo_neon"
|
|
1109
|
+
fi
|
|
1110
|
+
|
|
1111
|
+
dnl CPU specific compiler flags and sources
|
|
1112
|
+
case $cpu_type in
|
|
1113
|
+
generic)
|
|
1114
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_GENERIC -DREAL_IS_FLOAT"
|
|
1115
|
+
more_sources="$s_fpu"
|
|
1116
|
+
ccalign=no
|
|
1117
|
+
;;
|
|
1118
|
+
generic_dither)
|
|
1119
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_GENERIC_DITHER -DREAL_IS_FLOAT"
|
|
1120
|
+
more_sources="$s_fpu $s_dither"
|
|
1121
|
+
ccalign=no
|
|
1122
|
+
;;
|
|
1123
|
+
dnl Not disabling buffer for float mode... check that this is OK now!
|
|
1124
|
+
generic_fpu | generic_float)
|
|
1125
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_GENERIC -DREAL_IS_FLOAT"
|
|
1126
|
+
more_sources="$s_fpu"
|
|
1127
|
+
ccalign=no
|
|
1128
|
+
;;
|
|
1129
|
+
generic_nofpu)
|
|
1130
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_GENERIC -DREAL_IS_FIXED"
|
|
1131
|
+
more_sources=
|
|
1132
|
+
ccalign=no
|
|
1133
|
+
;;
|
|
1134
|
+
ppc_nofpu)
|
|
1135
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_PPC -DREAL_IS_FIXED"
|
|
1136
|
+
more_sources=
|
|
1137
|
+
ccalign=no
|
|
1138
|
+
;;
|
|
1139
|
+
arm_nofpu)
|
|
1140
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_ARM -DREAL_IS_FIXED"
|
|
1141
|
+
more_sources="$s_arm"
|
|
1142
|
+
ccalign=no
|
|
1143
|
+
;;
|
|
1144
|
+
altivec)
|
|
1145
|
+
ADD_CFLAGS="$ADD_CFLAGS -maltivec"
|
|
1146
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DREAL_IS_FLOAT -DOPT_ALTIVEC"
|
|
1147
|
+
more_sources="$s_altivec $s_fpu"
|
|
1148
|
+
AC_MSG_CHECKING([if $CC accepts -faltivec])
|
|
1149
|
+
touch conftest.c
|
|
1150
|
+
if $CC -faltivec -c -o conftest.o conftest.c >/dev/null 2>&1; then
|
|
1151
|
+
ADD_CFLAGS="$ADD_CFLAGS -faltivec"
|
|
1152
|
+
AC_MSG_RESULT([yes])
|
|
1153
|
+
else
|
|
1154
|
+
AC_MSG_RESULT([no])
|
|
1155
|
+
fi
|
|
1156
|
+
rm -f conftest.o conftest.c
|
|
1157
|
+
;;
|
|
1158
|
+
neon)
|
|
1159
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_NEON -DREAL_IS_FLOAT"
|
|
1160
|
+
more_sources="$s_neon $s_fpu"
|
|
1161
|
+
;;
|
|
1162
|
+
i386)
|
|
1163
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_I386 -DREAL_IS_FLOAT"
|
|
1164
|
+
more_sources="$s_fpu $s_i386"
|
|
1165
|
+
ccalign=no
|
|
1166
|
+
;;
|
|
1167
|
+
i386_fpu)
|
|
1168
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_I386 -DREAL_IS_FLOAT"
|
|
1169
|
+
more_sources="$s_fpu $s_i386"
|
|
1170
|
+
ccalign=no
|
|
1171
|
+
;;
|
|
1172
|
+
i386_nofpu)
|
|
1173
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_I386 -DREAL_IS_FIXED"
|
|
1174
|
+
more_sources="$s_i386"
|
|
1175
|
+
ccalign=no
|
|
1176
|
+
;;
|
|
1177
|
+
i486)
|
|
1178
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_I486 -DREAL_IS_FLOAT"
|
|
1179
|
+
more_sources="$s_fpu $s_i486"
|
|
1180
|
+
ccalign=no
|
|
1181
|
+
;;
|
|
1182
|
+
i586)
|
|
1183
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_I586 -DREAL_IS_FLOAT"
|
|
1184
|
+
more_sources="$s_fpu $s_i586"
|
|
1185
|
+
;;
|
|
1186
|
+
i586_dither)
|
|
1187
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_I586_DITHER -DREAL_IS_FLOAT"
|
|
1188
|
+
more_sources="$s_fpu $s_i586d $s_dither"
|
|
1189
|
+
;;
|
|
1190
|
+
3dnow)
|
|
1191
|
+
# legacy 3dnow had the 3dnow paired with i586...
|
|
1192
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_MULTI -DOPT_I586 -DOPT_3DNOW -DREAL_IS_FLOAT"
|
|
1193
|
+
more_sources="$s_fpu $s_i586 $s_3dnow $s_x86multi "
|
|
1194
|
+
;;
|
|
1195
|
+
3dnow_alone)
|
|
1196
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_3DNOW -DREAL_IS_FLOAT"
|
|
1197
|
+
more_sources="$s_fpu $s_3dnow"
|
|
1198
|
+
;;
|
|
1199
|
+
3dnowext_alone)
|
|
1200
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_3DNOWEXT -DREAL_IS_FLOAT"
|
|
1201
|
+
more_sources="$s_fpu $s_3dnowext"
|
|
1202
|
+
;;
|
|
1203
|
+
3dnowext)
|
|
1204
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_MULTI -DOPT_3DNOW -DOPT_3DNOWEXT -DREAL_IS_FLOAT"
|
|
1205
|
+
more_sources="$s_fpu $s_3dnowext $s_3dnow $s_x86multi"
|
|
1206
|
+
;;
|
|
1207
|
+
mmx_alone|mmx)
|
|
1208
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_MMX -DREAL_IS_FLOAT"
|
|
1209
|
+
more_sources="$s_fpu $s_mmx"
|
|
1210
|
+
;;
|
|
1211
|
+
sse_alone|sse)
|
|
1212
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_SSE -DREAL_IS_FLOAT"
|
|
1213
|
+
more_sources="$s_fpu $s_sse"
|
|
1214
|
+
;;
|
|
1215
|
+
x86|x86_dither)
|
|
1216
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_MULTI -DOPT_GENERIC -DOPT_GENERIC_DITHER -DOPT_I386 -DOPT_I586 -DOPT_I586_DITHER -DOPT_MMX -DOPT_3DNOW -DOPT_3DNOWEXT -DOPT_SSE -DREAL_IS_FLOAT"
|
|
1217
|
+
more_sources="$s_fpu $s_i386 $s_i586 $s_i586d $s_mmx $s_3dnow $s_3dnowext $s_sse $s_x86multi $s_dither"
|
|
1218
|
+
;;
|
|
1219
|
+
x86-64)
|
|
1220
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_X86_64 -DREAL_IS_FLOAT"
|
|
1221
|
+
more_sources="$s_fpu $s_x86_64"
|
|
1222
|
+
;;
|
|
1223
|
+
x86-64_all|x86-64_dither)
|
|
1224
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DOPT_MULTI -DOPT_X86_64 -DOPT_GENERIC -DOPT_GENERIC_DITHER -DREAL_IS_FLOAT"
|
|
1225
|
+
more_sources="$s_fpu $s_x86_64 $s_dither"
|
|
1226
|
+
;;
|
|
1227
|
+
*)
|
|
1228
|
+
AC_MSG_ERROR([Unknown CPU type '$cpu_type'])
|
|
1229
|
+
;;
|
|
1230
|
+
esac
|
|
1231
|
+
|
|
1232
|
+
# Mac OS X specific linker flags
|
|
1233
|
+
case $cpu_type in
|
|
1234
|
+
3dnow|3dnow_alone|3dnowext|3dnowext_alone|mmx|mmx_alone|sse|sse_alone|x86|x86_dither)
|
|
1235
|
+
case $host in
|
|
1236
|
+
i386-apple-darwin8*|*-apple-darwin10*)
|
|
1237
|
+
ADD_LDFLAGS="$ADD_LDFLAGS -Wl,-read_only_relocs,suppress"
|
|
1238
|
+
;;
|
|
1239
|
+
i386-apple-darwin9*)
|
|
1240
|
+
ADD_CFLAGS="$ADD_CFLAGS -mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
|
|
1241
|
+
ADD_LDFLAGS="$ADD_LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -Wl,-classic_linker -Wl,-read_only_relocs,suppress"
|
|
1242
|
+
;;
|
|
1243
|
+
esac
|
|
1244
|
+
;;
|
|
1245
|
+
esac
|
|
1246
|
+
|
|
1247
|
+
# Check if we want feature report function.
|
|
1248
|
+
AC_MSG_CHECKING([if we want feature report function])
|
|
1249
|
+
feature_report=enabled
|
|
1250
|
+
AC_ARG_ENABLE(feature_report,
|
|
1251
|
+
[ --disable-feature_report Disable feature report function ],
|
|
1252
|
+
[
|
|
1253
|
+
if test "x$enableval" = xno; then
|
|
1254
|
+
AC_MSG_RESULT([no])
|
|
1255
|
+
feature_report=disabled
|
|
1256
|
+
else
|
|
1257
|
+
AC_MSG_RESULT([yes])
|
|
1258
|
+
fi
|
|
1259
|
+
],
|
|
1260
|
+
[AC_MSG_RESULT([yes])])
|
|
1261
|
+
|
|
1262
|
+
if test "x$feature_report" = xenabled; then
|
|
1263
|
+
more_sources="$more_sources feature"
|
|
1264
|
+
fi
|
|
1265
|
+
|
|
1266
|
+
for i in $more_sources
|
|
1267
|
+
do
|
|
1268
|
+
# Echo make sure every file is only once in the list.
|
|
1269
|
+
echo "$DECODER_OBJ" | $GREP -v -w "$i\.\$(OBJEXT)" > /dev/null && DECODER_OBJ="$DECODER_OBJ $i.\$(OBJEXT)"
|
|
1270
|
+
echo "$DECODER_LOBJ" | $GREP -v -w "$i\.lo" > /dev/null && DECODER_LOBJ="$DECODER_LOBJ $i.lo"
|
|
1271
|
+
done
|
|
1272
|
+
|
|
1273
|
+
AC_SUBST(DECODER_OBJ)
|
|
1274
|
+
AC_SUBST(DECODER_LOBJ)
|
|
1275
|
+
|
|
1276
|
+
dnl Finally insert the code switch for alignment, above cpu selection having possibly changed the setting.
|
|
1277
|
+
if test x"$ccalign" = xyes; then
|
|
1278
|
+
AC_DEFINE(CCALIGN, 1, [ Define if __attribute__((aligned(16))) shall be used ])
|
|
1279
|
+
fi
|
|
1280
|
+
|
|
1281
|
+
|
|
1282
|
+
dnl ############## Output module choice
|
|
1283
|
+
|
|
1284
|
+
# The full list of supported modules to check, first come, first serve.
|
|
1285
|
+
check_modules="alsa oss coreaudio sndio sun win32 os2 esd jack portaudio pulse sdl nas arts openal dummy"
|
|
1286
|
+
# The final list.
|
|
1287
|
+
output_modules=
|
|
1288
|
+
|
|
1289
|
+
check_forced=no
|
|
1290
|
+
check_failed=no
|
|
1291
|
+
if test "x$with_audio" != "x"; then
|
|
1292
|
+
check_modules="`echo $with_audio|tr , ' '` dummy"
|
|
1293
|
+
echo "Limiting outputs to build according to your preference: $check_modules"
|
|
1294
|
+
check_forced=yes
|
|
1295
|
+
fi
|
|
1296
|
+
|
|
1297
|
+
PKG_PROG_PKG_CONFIG([])
|
|
1298
|
+
|
|
1299
|
+
# Now go through the modules to check and do the chores.
|
|
1300
|
+
for m in $check_modules
|
|
1301
|
+
do
|
|
1302
|
+
case "$m" in
|
|
1303
|
+
dummy)
|
|
1304
|
+
AC_MSG_CHECKING([if you are too dumbing dumb for the dummy])
|
|
1305
|
+
AC_MSG_RESULT([no])
|
|
1306
|
+
output_modules="$output_modules dummy"
|
|
1307
|
+
HAVE_DUMMY=yes
|
|
1308
|
+
;;
|
|
1309
|
+
oss)
|
|
1310
|
+
AC_CHECK_HEADERS([sys/soundcard.h linux/soundcard.h machine/soundcard.h])
|
|
1311
|
+
if test "x${ac_cv_header_sys_soundcard_h}" = "xyes" \
|
|
1312
|
+
-o "x${ac_cv_header_linux_soundcard_h}" = "xyes" \
|
|
1313
|
+
-o "x${ac_cv_header_machine_soundcard_h}" = "xyes";
|
|
1314
|
+
then
|
|
1315
|
+
output_modules="$output_modules oss"
|
|
1316
|
+
HAVE_OSS="yes"
|
|
1317
|
+
else
|
|
1318
|
+
check_failed=yes
|
|
1319
|
+
fi
|
|
1320
|
+
;;
|
|
1321
|
+
alsa)
|
|
1322
|
+
ALSA_LIBS="-lasound"
|
|
1323
|
+
# Check for ALSA
|
|
1324
|
+
AC_CHECK_LIB( [asound], [snd_pcm_open],
|
|
1325
|
+
[ AC_CHECK_HEADER( [alsa/asoundlib.h],
|
|
1326
|
+
[ output_modules="$output_modules alsa" HAVE_ALSA="yes"],
|
|
1327
|
+
[ AC_MSG_WARN([Found ALSA library but NOT header files on your system]) ] )
|
|
1328
|
+
]
|
|
1329
|
+
)
|
|
1330
|
+
if test "x$HAVE_ALSA" != xyes; then
|
|
1331
|
+
check_failed=yes
|
|
1332
|
+
fi
|
|
1333
|
+
;;
|
|
1334
|
+
jack)
|
|
1335
|
+
PKG_CHECK_MODULES(JACK, jack, output_modules="$output_modules jack" HAVE_JACK="yes", HAVE_JACK="no" check_failed=yes)
|
|
1336
|
+
;;
|
|
1337
|
+
pulse)
|
|
1338
|
+
PKG_CHECK_MODULES(PULSE, libpulse-simple, output_modules="$output_modules pulse" HAVE_PULSE="yes", HAVE_PULSE="no" check_failed=yes)
|
|
1339
|
+
;;
|
|
1340
|
+
esd)
|
|
1341
|
+
PKG_CHECK_MODULES(ESD, esound, output_modules="$output_modules esd" HAVE_ESD="yes", HAVE_ESD="no" check_failed=yes)
|
|
1342
|
+
;;
|
|
1343
|
+
portaudio)
|
|
1344
|
+
# Remember: This looks only insane because you chose an insane tab width!
|
|
1345
|
+
PORTAUDIO_LIBS="-lportaudio"
|
|
1346
|
+
PORTAUDIO_CFLAGS=
|
|
1347
|
+
case $host in
|
|
1348
|
+
*-*-mingw32)
|
|
1349
|
+
# We tested portaudio with MME
|
|
1350
|
+
if test "x$HAVE_PORTAUDIO" != "xyes"; then
|
|
1351
|
+
AC_CHECK_LIB( [portaudio], [Pa_Initialize],
|
|
1352
|
+
[ AC_CHECK_HEADER( [portaudio.h],
|
|
1353
|
+
[ output_modules="$output_modules portaudio" HAVE_PORTAUDIO_WINMM="yes" HAVE_PORTAUDIO="yes" ],
|
|
1354
|
+
[ AC_MSG_WARN([Found PortAudio library but NOT header files on your system]) ] )
|
|
1355
|
+
PORTAUDIO_LIBS="$PORTAUDIO_LIBS -lwinmm"
|
|
1356
|
+
],
|
|
1357
|
+
[ HAVE_PORTAUDIO="no"],
|
|
1358
|
+
[ -lwinmm ]
|
|
1359
|
+
)
|
|
1360
|
+
fi
|
|
1361
|
+
;;
|
|
1362
|
+
*)
|
|
1363
|
+
AC_CHECK_LIB( [portaudio], [Pa_Initialize],
|
|
1364
|
+
[ AC_CHECK_HEADER( [portaudio.h],
|
|
1365
|
+
[ output_modules="$output_modules portaudio" HAVE_PORTAUDIO="yes" ],
|
|
1366
|
+
[ AC_MSG_WARN([Found PortAudio library but NOT header files on your system]) ] )
|
|
1367
|
+
]
|
|
1368
|
+
)
|
|
1369
|
+
;;
|
|
1370
|
+
esac
|
|
1371
|
+
if test "x$HAVE_PORTAUDIO" != xyes; then
|
|
1372
|
+
check_failed=yes
|
|
1373
|
+
else
|
|
1374
|
+
# See if we have v19 or v18
|
|
1375
|
+
AC_CHECK_LIB( [portaudio], [Pa_GetVersion], [:], [AC_DEFINE( [PORTAUDIO18], 1, [Define if portaudio v18 API is wanted.]) ], [$PORTAUDIO_LIBS] )
|
|
1376
|
+
fi
|
|
1377
|
+
;;
|
|
1378
|
+
sdl)
|
|
1379
|
+
PKG_CHECK_MODULES(SDL, sdl, output_modules="$output_modules sdl" HAVE_SDL="yes", HAVE_SDL="no" check_failed=yes)
|
|
1380
|
+
;;
|
|
1381
|
+
nas)
|
|
1382
|
+
NAS_LIBS=-laudio
|
|
1383
|
+
AC_CHECK_LIB( [audio], [AuOpenServer],
|
|
1384
|
+
[ AC_CHECK_HEADER( [audio/audiolib.h],
|
|
1385
|
+
[ output_modules="$output_modules nas" HAVE_NAS="yes"],
|
|
1386
|
+
[ AC_MSG_WARN([Found NAS library but NOT header files on your system]) ] )
|
|
1387
|
+
]
|
|
1388
|
+
)
|
|
1389
|
+
if test "x$HAVE_NAS" != xyes; then
|
|
1390
|
+
check_failed=yes
|
|
1391
|
+
fi
|
|
1392
|
+
;;
|
|
1393
|
+
win32)
|
|
1394
|
+
# Check for windows ... and win32 audio
|
|
1395
|
+
# Does not work... instead just check for header
|
|
1396
|
+
# AC_CHECK_LIB( [winmm], [waveOutOpen] )
|
|
1397
|
+
WIN32_LIBS=-lwinmm
|
|
1398
|
+
AC_CHECK_HEADERS([windows.h], output_modules="$output_modules win32" HAVE_WIN32=yes, HAVE_WIN32=no check_failed=yes)
|
|
1399
|
+
;;
|
|
1400
|
+
sndio)
|
|
1401
|
+
SNDIO_LIBS=-lsndio
|
|
1402
|
+
AC_CHECK_LIB([sndio], [sio_open],
|
|
1403
|
+
[AC_CHECK_HEADERS([sndio.h],
|
|
1404
|
+
[output_modules="$output_modules sndio" HAVE_SNDIO="yes"])
|
|
1405
|
+
]
|
|
1406
|
+
)
|
|
1407
|
+
if test "x$HAVE_SNDIO" != xyes; then
|
|
1408
|
+
check_failed=yes
|
|
1409
|
+
fi
|
|
1410
|
+
;;
|
|
1411
|
+
sun)
|
|
1412
|
+
AC_CHECK_HEADERS([sun/audioio.h sys/audioio.h asm/audioio.h sys/audio.h])
|
|
1413
|
+
if test "x${ac_cv_header_sun_audioio_h}" = "xyes" \
|
|
1414
|
+
-o "x${ac_cv_header_sys_audioio_h}" = "xyes" \
|
|
1415
|
+
-o "x${ac_cv_header_asm_audioio_h}" = "xyes";
|
|
1416
|
+
then
|
|
1417
|
+
output_modules="$output_modules sun"
|
|
1418
|
+
HAVE_SUN="yes"
|
|
1419
|
+
else
|
|
1420
|
+
check_failed=yes
|
|
1421
|
+
fi
|
|
1422
|
+
;;
|
|
1423
|
+
coreaudio)
|
|
1424
|
+
COREAUDIO_LIBS="-framework AudioToolbox -framework AudioUnit -framework CoreServices"
|
|
1425
|
+
AC_CHECK_HEADERS([AudioUnit/AudioUnit.h CoreServices/CoreServices.h AudioToolbox/AudioToolbox.h])
|
|
1426
|
+
if test "x${ac_cv_header_AudioUnit_AudioUnit_h}" = "xyes" \
|
|
1427
|
+
-a "x${ac_cv_header_CoreServices_CoreServices_h}" = "xyes" \
|
|
1428
|
+
-a "x${ac_cv_header_AudioToolbox_AudioToolbox_h}" = "xyes";
|
|
1429
|
+
then
|
|
1430
|
+
if test x"$modules" = xdisabled; then
|
|
1431
|
+
AC_MSG_WARN([Disabling buffer because of directly linked CoreAudio! Use the module if you need the buffer.])
|
|
1432
|
+
buffer=disabled
|
|
1433
|
+
fi
|
|
1434
|
+
output_modules="$output_modules coreaudio"
|
|
1435
|
+
HAVE_COREAUDIO="yes"
|
|
1436
|
+
else
|
|
1437
|
+
check_failed=yes
|
|
1438
|
+
fi
|
|
1439
|
+
;;
|
|
1440
|
+
arts)
|
|
1441
|
+
AC_MSG_CHECKING([for artsc])
|
|
1442
|
+
if artsc-config; then
|
|
1443
|
+
AC_MSG_RESULT([yes])
|
|
1444
|
+
output_modules="$output_modules arts"
|
|
1445
|
+
HAVE_ARTS=yes
|
|
1446
|
+
ARTS_LIBS=`artsc-config --libs`
|
|
1447
|
+
ARTS_CFLAGS=`artsc-config --cflags`
|
|
1448
|
+
else
|
|
1449
|
+
AC_MSG_RESULT([no])
|
|
1450
|
+
check_failed=yes
|
|
1451
|
+
fi
|
|
1452
|
+
;;
|
|
1453
|
+
openal)
|
|
1454
|
+
AC_CHECK_HEADERS([OpenAL/al.h OpenAL/alc.h AL/al.h AL/alc.h al.h alc.h])
|
|
1455
|
+
if test "x${ac_cv_header_OpenAL_al_h}" = "xyes" \
|
|
1456
|
+
-a "x${ac_cv_header_OpenAL_alc_h}" = "xyes";
|
|
1457
|
+
then #Mac OS X
|
|
1458
|
+
output_modules="$output_modules openal"
|
|
1459
|
+
OPENAL_LIBS="-framework OpenAL"
|
|
1460
|
+
OPENAL_CFLAGS="-DOPENAL_SUBDIR_OPENAL"
|
|
1461
|
+
HAVE_OPENAL="yes"
|
|
1462
|
+
elif test "x${ac_cv_header_AL_al_h}" = "xyes" \
|
|
1463
|
+
-a "x${ac_cv_header_AL_alc_h}" = "xyes";
|
|
1464
|
+
then #Linux
|
|
1465
|
+
output_modules="$output_modules openal"
|
|
1466
|
+
OPENAL_LIBS="-lopenal"
|
|
1467
|
+
OPENAL_CFLAGS="-DOPENAL_SUBDIR_AL"
|
|
1468
|
+
HAVE_OPENAL="yes"
|
|
1469
|
+
elif test "x${ac_cv_header_al_h}" = "xyes" \
|
|
1470
|
+
-a "x${ac_cv_header_alc_h}" = "xyes";
|
|
1471
|
+
then #Windows?
|
|
1472
|
+
output_modules="$output_modules openal"
|
|
1473
|
+
OPENAL_LIBS="-lopenal"
|
|
1474
|
+
OPENAL_CFLAGS=""
|
|
1475
|
+
HAVE_OPENAL="yes"
|
|
1476
|
+
else
|
|
1477
|
+
check_failed=yes
|
|
1478
|
+
fi
|
|
1479
|
+
;;
|
|
1480
|
+
os2)
|
|
1481
|
+
OS2_LIBS="-los2me -lmmpm2 -lsocket"
|
|
1482
|
+
AC_CHECK_HEADERS([os2.h])
|
|
1483
|
+
# os2me.h depends on os2.h
|
|
1484
|
+
# Yes, that way of coding it is ugly.
|
|
1485
|
+
if test "x${ac_cv_header_os2_h}" = xyes
|
|
1486
|
+
then
|
|
1487
|
+
# We mimick exactly the way how the header will be used.
|
|
1488
|
+
# It seems to be picky...
|
|
1489
|
+
AC_CHECK_HEADERS([os2me.h], [], [], [#define INCL_OS2MM
|
|
1490
|
+
#define INCL_DOS
|
|
1491
|
+
#define INCL_VIO
|
|
1492
|
+
#define INCL_KBD
|
|
1493
|
+
#include <os2.h>
|
|
1494
|
+
#])
|
|
1495
|
+
fi
|
|
1496
|
+
if test "x${ac_cv_header_os2_h}" = xyes \
|
|
1497
|
+
-a "x${ac_cv_header_os2me_h}" = xyes
|
|
1498
|
+
then
|
|
1499
|
+
output_modules="$output_modules os2"
|
|
1500
|
+
HAVE_OS2=yes
|
|
1501
|
+
else
|
|
1502
|
+
check_failed=yes
|
|
1503
|
+
fi
|
|
1504
|
+
;;
|
|
1505
|
+
# from here on only forced tests, untested code
|
|
1506
|
+
hp)
|
|
1507
|
+
# What's the deal with that and alib?
|
|
1508
|
+
UNSUPPORTED_AUDIO=yes
|
|
1509
|
+
AC_CHECK_HEADER([sys/audio.h], [output_modules="$output_modules hp" HAVE_HP=yes], [check_failed=yes])
|
|
1510
|
+
;;
|
|
1511
|
+
alib)
|
|
1512
|
+
UNSUPPORTED_AUDIO=yes
|
|
1513
|
+
# ALIB_CFLAGS="-I/opt/audio/include"
|
|
1514
|
+
ALIB_LIBS=-lAlib
|
|
1515
|
+
# These headers may not be all about audio but they are used.
|
|
1516
|
+
AC_CHECK_HEADERS([ Alib.h CUlib.h netdb.h netinet/in.h netinet/tcp.h])
|
|
1517
|
+
if test "x${ac_cv_header_Alib_h}" = xyes \
|
|
1518
|
+
-a "x${ac_cv_header_CUlib_h}" = xyes \
|
|
1519
|
+
-a "x${ac_cv_header_netdb_h}" = xyes \
|
|
1520
|
+
-a "x${ac_cv_header_netinet_in_h}" = xyes \
|
|
1521
|
+
-a "x${ac_cv_header_netinet_tcp_h}" = xyes
|
|
1522
|
+
then
|
|
1523
|
+
output_modules="$output_modules alib"
|
|
1524
|
+
HAVE_ALIB=yes
|
|
1525
|
+
else
|
|
1526
|
+
check_failed=yes
|
|
1527
|
+
fi
|
|
1528
|
+
;;
|
|
1529
|
+
mint)
|
|
1530
|
+
UNSUPPORTED_AUDIO=yes
|
|
1531
|
+
AC_CHECK_HEADERS([audios.h], [output_modules="$output_modules mint" HAVE_MINT=yes], [check_failes=yes])
|
|
1532
|
+
;;
|
|
1533
|
+
aix)
|
|
1534
|
+
UNSUPPORTED_AUDIO=yes
|
|
1535
|
+
AC_CHECK_HEADERS([sys/audio.h], [output_modules="$output_modules aix" HAVE_AIX=yes], [check_failed=yes])
|
|
1536
|
+
;;
|
|
1537
|
+
sgi)
|
|
1538
|
+
UNSUPPORTED_AUDIO=yes
|
|
1539
|
+
SGI_LIBS=-laudio
|
|
1540
|
+
AC_CHECK_HEADER([dmedia/audio.h], [output_modules="$output_modules sgi" HAVE_SGI=yes], [check_failed=yes])
|
|
1541
|
+
;;
|
|
1542
|
+
*)
|
|
1543
|
+
AC_MSG_ERROR([Unsupported/-known output '$m' demanded!])
|
|
1544
|
+
;;
|
|
1545
|
+
esac
|
|
1546
|
+
done
|
|
1547
|
+
|
|
1548
|
+
if test "x$check_forced" = xyes -a "x$UNSUPPORTED_AUDIO" = xyes; then
|
|
1549
|
+
AC_MSG_WARN([You requested bulding of an unsupported audio module. Be prepared for happy hacking and please tell us about your experience!])
|
|
1550
|
+
fi
|
|
1551
|
+
|
|
1552
|
+
if test "x$check_forced" = xyes -a "x$check_failed" = "xyes"; then
|
|
1553
|
+
AC_MSG_ERROR([One/some of your requested audio modules failed the test!])
|
|
1554
|
+
fi
|
|
1555
|
+
|
|
1556
|
+
# When you extend check_modules, you should extend this:
|
|
1557
|
+
#for i in alsa oss coreaudio sndio sun win32 esd jack portaudio pulse sdl nas aix alib arts hp os2 sgi mint openal dummy; do echo $i; done |
|
|
1558
|
+
#perl -ne 'chomp; $big = uc($_); print <<EOT;
|
|
1559
|
+
#AC_SUBST(${big}_LIBS)
|
|
1560
|
+
#AC_SUBST(${big}_LDFLAGS)
|
|
1561
|
+
#AC_SUBST(${big}_CFLAGS)
|
|
1562
|
+
#AM_CONDITIONAL( [HAVE_$big], [test "x\$HAVE_$big" = xyes] )
|
|
1563
|
+
#EOT
|
|
1564
|
+
#'
|
|
1565
|
+
AC_SUBST(ALSA_LIBS)
|
|
1566
|
+
AC_SUBST(ALSA_LDFLAGS)
|
|
1567
|
+
AC_SUBST(ALSA_CFLAGS)
|
|
1568
|
+
AM_CONDITIONAL( [HAVE_ALSA], [test "x$HAVE_ALSA" = xyes] )
|
|
1569
|
+
AC_SUBST(OSS_LIBS)
|
|
1570
|
+
AC_SUBST(OSS_LDFLAGS)
|
|
1571
|
+
AC_SUBST(OSS_CFLAGS)
|
|
1572
|
+
AM_CONDITIONAL( [HAVE_OSS], [test "x$HAVE_OSS" = xyes] )
|
|
1573
|
+
AC_SUBST(COREAUDIO_LIBS)
|
|
1574
|
+
AC_SUBST(COREAUDIO_LDFLAGS)
|
|
1575
|
+
AC_SUBST(COREAUDIO_CFLAGS)
|
|
1576
|
+
AM_CONDITIONAL( [HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = xyes] )
|
|
1577
|
+
AC_SUBST(SNDIO_LIBS)
|
|
1578
|
+
AC_SUBST(SNDIO_LDFLAGS)
|
|
1579
|
+
AC_SUBST(SNDIO_CFLAGS)
|
|
1580
|
+
AM_CONDITIONAL( [HAVE_SNDIO], [test "x$HAVE_SNDIO" = xyes] )
|
|
1581
|
+
AC_SUBST(SUN_LIBS)
|
|
1582
|
+
AC_SUBST(SUN_LDFLAGS)
|
|
1583
|
+
AC_SUBST(SUN_CFLAGS)
|
|
1584
|
+
AM_CONDITIONAL( [HAVE_SUN], [test "x$HAVE_SUN" = xyes] )
|
|
1585
|
+
AC_SUBST(WIN32_LIBS)
|
|
1586
|
+
AC_SUBST(WIN32_LDFLAGS)
|
|
1587
|
+
AC_SUBST(WIN32_CFLAGS)
|
|
1588
|
+
AM_CONDITIONAL( [HAVE_WIN32], [test "x$HAVE_WIN32" = xyes] )
|
|
1589
|
+
AC_SUBST(ESD_LIBS)
|
|
1590
|
+
AC_SUBST(ESD_LDFLAGS)
|
|
1591
|
+
AC_SUBST(ESD_CFLAGS)
|
|
1592
|
+
AM_CONDITIONAL( [HAVE_ESD], [test "x$HAVE_ESD" = xyes] )
|
|
1593
|
+
AC_SUBST(JACK_LIBS)
|
|
1594
|
+
AC_SUBST(JACK_LDFLAGS)
|
|
1595
|
+
AC_SUBST(JACK_CFLAGS)
|
|
1596
|
+
AM_CONDITIONAL( [HAVE_JACK], [test "x$HAVE_JACK" = xyes] )
|
|
1597
|
+
AC_SUBST(PORTAUDIO_LIBS)
|
|
1598
|
+
AC_SUBST(PORTAUDIO_LDFLAGS)
|
|
1599
|
+
AC_SUBST(PORTAUDIO_CFLAGS)
|
|
1600
|
+
AM_CONDITIONAL( [HAVE_PORTAUDIO], [test "x$HAVE_PORTAUDIO" = xyes] )
|
|
1601
|
+
AC_SUBST(PULSE_LIBS)
|
|
1602
|
+
AC_SUBST(PULSE_LDFLAGS)
|
|
1603
|
+
AC_SUBST(PULSE_CFLAGS)
|
|
1604
|
+
AM_CONDITIONAL( [HAVE_PULSE], [test "x$HAVE_PULSE" = xyes] )
|
|
1605
|
+
AC_SUBST(SDL_LIBS)
|
|
1606
|
+
AC_SUBST(SDL_LDFLAGS)
|
|
1607
|
+
AC_SUBST(SDL_CFLAGS)
|
|
1608
|
+
AM_CONDITIONAL( [HAVE_SDL], [test "x$HAVE_SDL" = xyes] )
|
|
1609
|
+
AC_SUBST(NAS_LIBS)
|
|
1610
|
+
AC_SUBST(NAS_LDFLAGS)
|
|
1611
|
+
AC_SUBST(NAS_CFLAGS)
|
|
1612
|
+
AM_CONDITIONAL( [HAVE_NAS], [test "x$HAVE_NAS" = xyes] )
|
|
1613
|
+
AC_SUBST(AIX_LIBS)
|
|
1614
|
+
AC_SUBST(AIX_LDFLAGS)
|
|
1615
|
+
AC_SUBST(AIX_CFLAGS)
|
|
1616
|
+
AM_CONDITIONAL( [HAVE_AIX], [test "x$HAVE_AIX" = xyes] )
|
|
1617
|
+
AC_SUBST(ALIB_LIBS)
|
|
1618
|
+
AC_SUBST(ALIB_LDFLAGS)
|
|
1619
|
+
AC_SUBST(ALIB_CFLAGS)
|
|
1620
|
+
AM_CONDITIONAL( [HAVE_ALIB], [test "x$HAVE_ALIB" = xyes] )
|
|
1621
|
+
AC_SUBST(ARTS_LIBS)
|
|
1622
|
+
AC_SUBST(ARTS_LDFLAGS)
|
|
1623
|
+
AC_SUBST(ARTS_CFLAGS)
|
|
1624
|
+
AM_CONDITIONAL( [HAVE_ARTS], [test "x$HAVE_ARTS" = xyes] )
|
|
1625
|
+
AC_SUBST(HP_LIBS)
|
|
1626
|
+
AC_SUBST(HP_LDFLAGS)
|
|
1627
|
+
AC_SUBST(HP_CFLAGS)
|
|
1628
|
+
AM_CONDITIONAL( [HAVE_HP], [test "x$HAVE_HP" = xyes] )
|
|
1629
|
+
AC_SUBST(OS2_LIBS)
|
|
1630
|
+
AC_SUBST(OS2_LDFLAGS)
|
|
1631
|
+
AC_SUBST(OS2_CFLAGS)
|
|
1632
|
+
AM_CONDITIONAL( [HAVE_OS2], [test "x$HAVE_OS2" = xyes] )
|
|
1633
|
+
AC_SUBST(SGI_LIBS)
|
|
1634
|
+
AC_SUBST(SGI_LDFLAGS)
|
|
1635
|
+
AC_SUBST(SGI_CFLAGS)
|
|
1636
|
+
AM_CONDITIONAL( [HAVE_SGI], [test "x$HAVE_SGI" = xyes] )
|
|
1637
|
+
AC_SUBST(MINT_LIBS)
|
|
1638
|
+
AC_SUBST(MINT_LDFLAGS)
|
|
1639
|
+
AC_SUBST(MINT_CFLAGS)
|
|
1640
|
+
AM_CONDITIONAL( [HAVE_MINT], [test "x$HAVE_MINT" = xyes] )
|
|
1641
|
+
AC_SUBST(OPENAL_LIBS)
|
|
1642
|
+
AC_SUBST(OPENAL_LDFLAGS)
|
|
1643
|
+
AC_SUBST(OPENAL_CFLAGS)
|
|
1644
|
+
AM_CONDITIONAL( [HAVE_OPENAL], [test "x$HAVE_OPENAL" = xyes] )
|
|
1645
|
+
AC_SUBST(DUMMY_LIBS)
|
|
1646
|
+
AC_SUBST(DUMMY_LDFLAGS)
|
|
1647
|
+
AC_SUBST(DUMMY_CFLAGS)
|
|
1648
|
+
AM_CONDITIONAL( [HAVE_DUMMY], [test "x$HAVE_DUMMY" = xyes] )
|
|
1649
|
+
|
|
1650
|
+
# Did user choose default audio subsystem ?
|
|
1651
|
+
if test "x$with_default_audio" != "x"; then
|
|
1652
|
+
default_output_module=$with_default_audio
|
|
1653
|
+
else
|
|
1654
|
+
default_output_module=`echo "$output_modules" | $AWK '{ print $1 }'`
|
|
1655
|
+
fi
|
|
1656
|
+
|
|
1657
|
+
# That's (beginning of) the list for mpg123's internal default.
|
|
1658
|
+
default_output_modules=$default_output_module
|
|
1659
|
+
|
|
1660
|
+
OUTPUT_OBJ=
|
|
1661
|
+
OUTPUT_MOD=
|
|
1662
|
+
OUTPUT_CFLAGS=
|
|
1663
|
+
OUTPUT_LIBS=
|
|
1664
|
+
OUTPUT_LDFLAGS=
|
|
1665
|
+
|
|
1666
|
+
# Setup the static build.
|
|
1667
|
+
if test "x$modules" = xdisabled
|
|
1668
|
+
then
|
|
1669
|
+
echo "Preparing static output $default_output_module"
|
|
1670
|
+
OUTPUT_MOD="$default_output_module"
|
|
1671
|
+
OUTPUT_OBJ="output/$default_output_module.\$(OBJEXT)"
|
|
1672
|
+
OUTPUT_CFLAGS=
|
|
1673
|
+
OUTPUT_LIBS=
|
|
1674
|
+
# That feels stupid... what about hashed arrays?
|
|
1675
|
+
case $OUTPUT_MOD in
|
|
1676
|
+
# Here's a script for that tedious list, perhaps to be outsourced together with the one in src/output/Makefile.am
|
|
1677
|
+
#for i in alsa coreaudio esd jack nas oss portaudio pulse sdl sndio sun win32 aix alib arts hp os2 sgi mint; do echo $i; done |
|
|
1678
|
+
#perl -ne 'chomp; $big = uc($_); print <<EOT;
|
|
1679
|
+
# $_)
|
|
1680
|
+
# OUTPUT_LIBS="\$${big}_LIBS"
|
|
1681
|
+
# OUTPUT_LDFLAGS="\$${big}_LDFLAGS"
|
|
1682
|
+
# OUTPUT_CFLAGS="\$${big}_CFLAGS"
|
|
1683
|
+
# ;;
|
|
1684
|
+
#EOT
|
|
1685
|
+
#'
|
|
1686
|
+
alsa)
|
|
1687
|
+
OUTPUT_LIBS="$ALSA_LIBS"
|
|
1688
|
+
OUTPUT_LDFLAGS="$ALSA_LDFLAGS"
|
|
1689
|
+
OUTPUT_CFLAGS="$ALSA_CFLAGS"
|
|
1690
|
+
;;
|
|
1691
|
+
coreaudio)
|
|
1692
|
+
OUTPUT_LIBS="$COREAUDIO_LIBS"
|
|
1693
|
+
OUTPUT_LDFLAGS="$COREAUDIO_LDFLAGS"
|
|
1694
|
+
OUTPUT_CFLAGS="$COREAUDIO_CFLAGS"
|
|
1695
|
+
;;
|
|
1696
|
+
esd)
|
|
1697
|
+
OUTPUT_LIBS="$ESD_LIBS"
|
|
1698
|
+
OUTPUT_LDFLAGS="$ESD_LDFLAGS"
|
|
1699
|
+
OUTPUT_CFLAGS="$ESD_CFLAGS"
|
|
1700
|
+
;;
|
|
1701
|
+
jack)
|
|
1702
|
+
OUTPUT_LIBS="$JACK_LIBS"
|
|
1703
|
+
OUTPUT_LDFLAGS="$JACK_LDFLAGS"
|
|
1704
|
+
OUTPUT_CFLAGS="$JACK_CFLAGS"
|
|
1705
|
+
;;
|
|
1706
|
+
nas)
|
|
1707
|
+
OUTPUT_LIBS="$NAS_LIBS"
|
|
1708
|
+
OUTPUT_LDFLAGS="$NAS_LDFLAGS"
|
|
1709
|
+
OUTPUT_CFLAGS="$NAS_CFLAGS"
|
|
1710
|
+
;;
|
|
1711
|
+
oss)
|
|
1712
|
+
OUTPUT_LIBS="$OSS_LIBS"
|
|
1713
|
+
OUTPUT_LDFLAGS="$OSS_LDFLAGS"
|
|
1714
|
+
OUTPUT_CFLAGS="$OSS_CFLAGS"
|
|
1715
|
+
;;
|
|
1716
|
+
portaudio)
|
|
1717
|
+
OUTPUT_LIBS="$PORTAUDIO_LIBS"
|
|
1718
|
+
OUTPUT_LDFLAGS="$PORTAUDIO_LDFLAGS"
|
|
1719
|
+
OUTPUT_CFLAGS="$PORTAUDIO_CFLAGS"
|
|
1720
|
+
;;
|
|
1721
|
+
pulse)
|
|
1722
|
+
OUTPUT_LIBS="$PULSE_LIBS"
|
|
1723
|
+
OUTPUT_LDFLAGS="$PULSE_LDFLAGS"
|
|
1724
|
+
OUTPUT_CFLAGS="$PULSE_CFLAGS"
|
|
1725
|
+
;;
|
|
1726
|
+
sdl)
|
|
1727
|
+
OUTPUT_LIBS="$SDL_LIBS"
|
|
1728
|
+
OUTPUT_LDFLAGS="$SDL_LDFLAGS"
|
|
1729
|
+
OUTPUT_CFLAGS="$SDL_CFLAGS"
|
|
1730
|
+
;;
|
|
1731
|
+
sndio)
|
|
1732
|
+
OUTPUT_LIBS="$SNDIO_LIBS"
|
|
1733
|
+
OUTPUT_LDFLAGS="$SNDIO_LDFLAGS"
|
|
1734
|
+
OUTPUT_CFLAGS="$SNDIO_CFLAGS"
|
|
1735
|
+
;;
|
|
1736
|
+
sun)
|
|
1737
|
+
OUTPUT_LIBS="$SUN_LIBS"
|
|
1738
|
+
OUTPUT_LDFLAGS="$SUN_LDFLAGS"
|
|
1739
|
+
OUTPUT_CFLAGS="$SUN_CFLAGS"
|
|
1740
|
+
;;
|
|
1741
|
+
win32)
|
|
1742
|
+
OUTPUT_LIBS="$WIN32_LIBS"
|
|
1743
|
+
OUTPUT_LDFLAGS="$WIN32_LDFLAGS"
|
|
1744
|
+
OUTPUT_CFLAGS="$WIN32_CFLAGS"
|
|
1745
|
+
;;
|
|
1746
|
+
aix)
|
|
1747
|
+
OUTPUT_LIBS="$AIX_LIBS"
|
|
1748
|
+
OUTPUT_LDFLAGS="$AIX_LDFLAGS"
|
|
1749
|
+
OUTPUT_CFLAGS="$AIX_CFLAGS"
|
|
1750
|
+
;;
|
|
1751
|
+
alib)
|
|
1752
|
+
OUTPUT_LIBS="$ALIB_LIBS"
|
|
1753
|
+
OUTPUT_LDFLAGS="$ALIB_LDFLAGS"
|
|
1754
|
+
OUTPUT_CFLAGS="$ALIB_CFLAGS"
|
|
1755
|
+
;;
|
|
1756
|
+
arts)
|
|
1757
|
+
OUTPUT_LIBS="$ARTS_LIBS"
|
|
1758
|
+
OUTPUT_LDFLAGS="$ARTS_LDFLAGS"
|
|
1759
|
+
OUTPUT_CFLAGS="$ARTS_CFLAGS"
|
|
1760
|
+
;;
|
|
1761
|
+
hp)
|
|
1762
|
+
OUTPUT_LIBS="$HP_LIBS"
|
|
1763
|
+
OUTPUT_LDFLAGS="$HP_LDFLAGS"
|
|
1764
|
+
OUTPUT_CFLAGS="$HP_CFLAGS"
|
|
1765
|
+
;;
|
|
1766
|
+
os2)
|
|
1767
|
+
OUTPUT_LIBS="$OS2_LIBS"
|
|
1768
|
+
OUTPUT_LDFLAGS="$OS2_LDFLAGS"
|
|
1769
|
+
OUTPUT_CFLAGS="$OS2_CFLAGS"
|
|
1770
|
+
;;
|
|
1771
|
+
sgi)
|
|
1772
|
+
OUTPUT_LIBS="$SGI_LIBS"
|
|
1773
|
+
OUTPUT_LDFLAGS="$SGI_LDFLAGS"
|
|
1774
|
+
OUTPUT_CFLAGS="$SGI_CFLAGS"
|
|
1775
|
+
;;
|
|
1776
|
+
mint)
|
|
1777
|
+
OUTPUT_LIBS="$MINT_LIBS"
|
|
1778
|
+
OUTPUT_LDFLAGS="$MINT_LDFLAGS"
|
|
1779
|
+
OUTPUT_CFLAGS="$MINT_CFLAGS"
|
|
1780
|
+
;;
|
|
1781
|
+
openal)
|
|
1782
|
+
OUTPUT_LIBS="$OPENAL_LIBS"
|
|
1783
|
+
OUTPUT_LDFLAGS="$OPENAL_LDFLAGS"
|
|
1784
|
+
OUTPUT_CFLAGS="$OPENAL_CFLAGS"
|
|
1785
|
+
;;
|
|
1786
|
+
esac
|
|
1787
|
+
else
|
|
1788
|
+
# Now make a comma-separated list again... eliminating the possible duplicate and dummy.
|
|
1789
|
+
for i in $output_modules
|
|
1790
|
+
do
|
|
1791
|
+
if test $i != $default_output_module && test $i != dummy; then
|
|
1792
|
+
default_output_modules=$default_output_modules,$i
|
|
1793
|
+
fi
|
|
1794
|
+
done
|
|
1795
|
+
fi
|
|
1796
|
+
|
|
1797
|
+
AC_DEFINE_UNQUOTED( DEFAULT_OUTPUT_MODULE, "$default_output_modules", [The default audio output module(s) to use] )
|
|
1798
|
+
|
|
1799
|
+
|
|
1800
|
+
AC_SUBST(OUTPUT_OBJ)
|
|
1801
|
+
AC_SUBST(OUTPUT_MOD)
|
|
1802
|
+
AC_SUBST(OUTPUT_CFLAGS)
|
|
1803
|
+
AC_SUBST(OUTPUT_LIBS)
|
|
1804
|
+
AC_SUBST(OUTPUT_LDFLAGS)
|
|
1805
|
+
|
|
1806
|
+
dnl ############## Compiler Optimizations
|
|
1807
|
+
|
|
1808
|
+
CFLAGS="$ADD_CFLAGS $CFLAGS"
|
|
1809
|
+
if test x"$buffer" = xdisabled; then
|
|
1810
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DNOXFERMEM"
|
|
1811
|
+
fi
|
|
1812
|
+
if test x"$newoldwritesample" = xenabled; then
|
|
1813
|
+
ADD_CPPFLAGS="$ADD_CPPFLAGS -DNEWOLD_WRITE_SAMPLE"
|
|
1814
|
+
fi
|
|
1815
|
+
CPPFLAGS="$ADD_CPPFLAGS $CPPFLAGS"
|
|
1816
|
+
LDFLAGS="$ADD_LDFLAGS $LDFLAGS"
|
|
1817
|
+
|
|
1818
|
+
# None chosen?
|
|
1819
|
+
if test "x$with_optimization" = "x"; then
|
|
1820
|
+
if test x"$debugging" = xenabled; then
|
|
1821
|
+
with_optimization="0"
|
|
1822
|
+
else
|
|
1823
|
+
# enable (gcc specific) default opts only with gcc
|
|
1824
|
+
if test "x$GCC" = xyes; then
|
|
1825
|
+
with_optimization="2"
|
|
1826
|
+
else
|
|
1827
|
+
with_optimization="0"
|
|
1828
|
+
fi
|
|
1829
|
+
fi
|
|
1830
|
+
fi
|
|
1831
|
+
|
|
1832
|
+
case $with_optimization in
|
|
1833
|
+
0)
|
|
1834
|
+
# No Optimizations
|
|
1835
|
+
CFLAGS="$CFLAGS"
|
|
1836
|
+
;;
|
|
1837
|
+
1)
|
|
1838
|
+
CFLAGS="-O $CFLAGS"
|
|
1839
|
+
;;
|
|
1840
|
+
2)
|
|
1841
|
+
CFLAGS="-O2 -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math $CFLAGS"
|
|
1842
|
+
;;
|
|
1843
|
+
3)
|
|
1844
|
+
CFLAGS="-O3 -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math $CFLAGS"
|
|
1845
|
+
;;
|
|
1846
|
+
4)
|
|
1847
|
+
CFLAGS="-O4 -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math $CFLAGS"
|
|
1848
|
+
;;
|
|
1849
|
+
*)
|
|
1850
|
+
AC_MSG_ERROR([Unknown optimizations level '$with_optimization'])
|
|
1851
|
+
;;
|
|
1852
|
+
esac
|
|
1853
|
+
|
|
1854
|
+
dnl If using gcc, prevent a bad alignment option from breaking things.
|
|
1855
|
+
dnl Let's default to safe 16-byte alignment for any special x86 or altivec stuff.
|
|
1856
|
+
if test "x$GCC" = xyes && echo "$CFLAGS" | $GREP 'mpreferred-stack-boundary=' > /dev/null; then
|
|
1857
|
+
case $cpu_type in
|
|
1858
|
+
x86 | i586* | mmx | sse | 3dnow* | altivec)
|
|
1859
|
+
AC_MSG_WARN( [ You are trying to mess with stack alignment. I know better. ] )
|
|
1860
|
+
CFLAGS="$CFLAGS -mpreferred-stack-boundary=4"
|
|
1861
|
+
;;
|
|
1862
|
+
esac
|
|
1863
|
+
fi
|
|
1864
|
+
|
|
1865
|
+
dnl ############## Seektable size
|
|
1866
|
+
|
|
1867
|
+
if test "x$with_seektable" = "x"; then
|
|
1868
|
+
seektable=1000
|
|
1869
|
+
else
|
|
1870
|
+
seektable=$with_seektable
|
|
1871
|
+
fi
|
|
1872
|
+
|
|
1873
|
+
if test "$seektable" -gt 0; then
|
|
1874
|
+
AC_DEFINE(FRAME_INDEX, 1, [ Define if frame index should be used. ])
|
|
1875
|
+
fi
|
|
1876
|
+
# Define that always... also without frame index enabled.
|
|
1877
|
+
AC_DEFINE_UNQUOTED(INDEX_SIZE, $seektable, [size of the frame index seek table])
|
|
1878
|
+
|
|
1879
|
+
dnl ############## Win32 function checks
|
|
1880
|
+
# Check if we want Unicode for Win32. Cygwin does not need _wopen
|
|
1881
|
+
win32_specific_codes=disabled
|
|
1882
|
+
win32_unicode=unneeded
|
|
1883
|
+
win32_sockets=disabled
|
|
1884
|
+
win32_sockets_working=no
|
|
1885
|
+
win32_wide_working=no
|
|
1886
|
+
win32_winver_bump=no
|
|
1887
|
+
AC_CHECK_HEADERS([windows.h], [win32_specific_codes=enabled])
|
|
1888
|
+
if test "x$win32_specific_codes" = xenabled && test "x$host_os" != "xcygwin"; then
|
|
1889
|
+
|
|
1890
|
+
#### Check for Wide functions
|
|
1891
|
+
AC_CHECK_FUNC([_wopen], [win32_unicode=enabled],[win32_unicode=disabled])
|
|
1892
|
+
AC_MSG_CHECKING([if we want Unicode File Open for Win32])
|
|
1893
|
+
if test "x$win32_unicode" = xenabled; then
|
|
1894
|
+
AC_MSG_RESULT([yes])
|
|
1895
|
+
AC_MSG_CHECKING([if Unicode functions working])
|
|
1896
|
+
AC_LINK_IFELSE([AC_LANG_SOURCE([
|
|
1897
|
+
#include <windows.h>
|
|
1898
|
+
#include <stdlib.h>
|
|
1899
|
+
int main()
|
|
1900
|
+
{
|
|
1901
|
+
MultiByteToWideChar (0, 0, NULL, 0, NULL, 0);
|
|
1902
|
+
WideCharToMultiByte (0, 0, NULL, 0, NULL, 0, NULL, NULL);
|
|
1903
|
+
return 0;
|
|
1904
|
+
}
|
|
1905
|
+
])], [win32_wide_working=yes], [win32_winver_bump=yes])
|
|
1906
|
+
if test "x$win32_wide_working" = xno; then
|
|
1907
|
+
AC_LINK_IFELSE([AC_LANG_SOURCE([
|
|
1908
|
+
#define WINVER 0x501
|
|
1909
|
+
#define _WIN32_WINNT 0x501
|
|
1910
|
+
#include <windows.h>
|
|
1911
|
+
#include <stdlib.h>
|
|
1912
|
+
int main()
|
|
1913
|
+
{
|
|
1914
|
+
MultiByteToWideChar (0, 0, NULL, 0, NULL, 0);
|
|
1915
|
+
WideCharToMultiByte (0, 0, NULL, 0, NULL, 0, NULL, NULL);
|
|
1916
|
+
return 0;
|
|
1917
|
+
}
|
|
1918
|
+
])], [win32_wide_working=yes], [AC_MSG_RESULT([no])])
|
|
1919
|
+
fi
|
|
1920
|
+
if test "x$win32_wide_working" = xyes; then
|
|
1921
|
+
AC_MSG_RESULT([yes])
|
|
1922
|
+
AC_DEFINE([WANT_WIN32_UNICODE], [1], [ Define to use Unicode for Windows ])
|
|
1923
|
+
fi
|
|
1924
|
+
else
|
|
1925
|
+
AC_MSG_WARN([Unicode File Open for Win32 disabled])
|
|
1926
|
+
fi
|
|
1927
|
+
|
|
1928
|
+
#### Check for Network functions
|
|
1929
|
+
AC_CHECK_HEADERS([ws2tcpip.h], [win32_sockets=enabled], [AC_MSG_WARN([Please update your headers to support winsock 2.2.])])
|
|
1930
|
+
AC_MSG_CHECKING([if we want Win32 sockets])
|
|
1931
|
+
if test "x$win32_sockets" = "xenabled" && test "x$network" != "xdisabled"; then
|
|
1932
|
+
AC_MSG_RESULT([yes])
|
|
1933
|
+
AC_MSG_CHECKING([if winsock2 API is available])
|
|
1934
|
+
wsoldlibs="$LIBS"
|
|
1935
|
+
LIBS="$LIBS -lws2_32"
|
|
1936
|
+
AC_LINK_IFELSE([AC_LANG_SOURCE([
|
|
1937
|
+
#include <winsock2.h>
|
|
1938
|
+
#include <ws2tcpip.h>
|
|
1939
|
+
#include <stdlib.h>
|
|
1940
|
+
int main()
|
|
1941
|
+
{
|
|
1942
|
+
getaddrinfo(NULL, NULL, NULL, NULL);
|
|
1943
|
+
freeaddrinfo(NULL);
|
|
1944
|
+
return 0;
|
|
1945
|
+
}
|
|
1946
|
+
])], [win32_sockets_working=yes], [win32_winver_bump=yes])
|
|
1947
|
+
if test "x$win32_sockets_working" = "xno"; then
|
|
1948
|
+
AC_MSG_CHECKING([deeper if winsock2 API is available])
|
|
1949
|
+
AC_LINK_IFELSE([AC_LANG_SOURCE([
|
|
1950
|
+
#define WINVER 0x501
|
|
1951
|
+
#define _WIN32_WINNT 0x501
|
|
1952
|
+
#include <winsock2.h>
|
|
1953
|
+
#include <ws2tcpip.h>
|
|
1954
|
+
#include <stdlib.h>
|
|
1955
|
+
int main()
|
|
1956
|
+
{
|
|
1957
|
+
getaddrinfo(NULL, NULL, NULL, NULL);
|
|
1958
|
+
freeaddrinfo(NULL);
|
|
1959
|
+
return 0;
|
|
1960
|
+
}
|
|
1961
|
+
])], [win32_sockets_working=yes], [AC_MSG_RESULT([no])])
|
|
1962
|
+
fi
|
|
1963
|
+
if test "x$win32_sockets_working" = "xyes"; then
|
|
1964
|
+
AC_MSG_RESULT([yes])
|
|
1965
|
+
AC_DEFINE([WANT_WIN32_SOCKETS], [1], [ Define to use Win32 sockets ])
|
|
1966
|
+
network_type=Winsock2
|
|
1967
|
+
have_network=yes
|
|
1968
|
+
have_ipv6=yes
|
|
1969
|
+
else
|
|
1970
|
+
LIBS="$wsoldlibs"
|
|
1971
|
+
AC_MSG_WARN([Please update your headers to support winsock 2.2.])
|
|
1972
|
+
fi
|
|
1973
|
+
else
|
|
1974
|
+
AC_MSG_RESULT([no])
|
|
1975
|
+
fi
|
|
1976
|
+
|
|
1977
|
+
#### Check for Win32 Named Pipe functions
|
|
1978
|
+
win32_fifo_working=no
|
|
1979
|
+
if test x$win32_specific_codes = xenabled; then
|
|
1980
|
+
AC_MSG_CHECKING([if we have Named Pipes])
|
|
1981
|
+
if test "x$fifo" != "xdisabled"; then
|
|
1982
|
+
AC_LINK_IFELSE([AC_LANG_SOURCE([
|
|
1983
|
+
#include <windows.h>
|
|
1984
|
+
int main(){
|
|
1985
|
+
CreateNamedPipeA(NULL,PIPE_ACCESS_DUPLEX|FILE_FLAG_OVERLAPPED,PIPE_TYPE_BYTE,1,255,255,0,NULL);
|
|
1986
|
+
CreateNamedPipeW(NULL,PIPE_ACCESS_DUPLEX|FILE_FLAG_OVERLAPPED,PIPE_TYPE_BYTE,1,255,255,0,NULL);
|
|
1987
|
+
return 0;
|
|
1988
|
+
}])],[win32_fifo_working=yes],[win32_winver_bump=yes])
|
|
1989
|
+
if test "x$win32_fifo_working" != "xyes"; then
|
|
1990
|
+
AC_LINK_IFELSE([AC_LANG_SOURCE([
|
|
1991
|
+
#define WINVER 0x501
|
|
1992
|
+
#define _WIN32_WINNT 0x501
|
|
1993
|
+
#include <windows.h>
|
|
1994
|
+
int main(){
|
|
1995
|
+
CreateNamedPipeA(NULL,PIPE_ACCESS_DUPLEX|FILE_FLAG_OVERLAPPED,PIPE_TYPE_BYTE,1,255,255,0,NULL);
|
|
1996
|
+
CreateNamedPipeW(NULL,PIPE_ACCESS_DUPLEX|FILE_FLAG_OVERLAPPED,PIPE_TYPE_BYTE,1,255,255,0,NULL);
|
|
1997
|
+
return 0;
|
|
1998
|
+
}])],[win32_fifo_working=yes],[win32_fifo_working=no])
|
|
1999
|
+
fi
|
|
2000
|
+
fi
|
|
2001
|
+
have_mkfifo=$win32_fifo_working
|
|
2002
|
+
if test "x$win32_fifo_working" = "xyes"; then
|
|
2003
|
+
AC_MSG_RESULT([yes])
|
|
2004
|
+
AC_DEFINE([WANT_WIN32_FIFO], [1], [ Define to use Win32 named pipes ])
|
|
2005
|
+
else
|
|
2006
|
+
AC_MSG_RESULT([no])
|
|
2007
|
+
fi
|
|
2008
|
+
fi
|
|
2009
|
+
|
|
2010
|
+
#### WINVER Bump
|
|
2011
|
+
if test x$win32_specific_codes = xenabled; then
|
|
2012
|
+
AC_MSG_CHECKING([if WINVER and _WIN32_WINNT needs version bumps])
|
|
2013
|
+
if test "x$win32_winver_bump" = "xyes"; then
|
|
2014
|
+
AC_MSG_RESULT([yes])
|
|
2015
|
+
AC_DEFINE([WINVER], [0x0501], [ WinXP and above for ipv6 ])
|
|
2016
|
+
AC_DEFINE([_WIN32_WINNT], [0x0501], [ WinXP and above for ipv6 ])
|
|
2017
|
+
# getaddrinfo and freeaddrinfo are available for Win2K and above
|
|
2018
|
+
# Bug: MinGW.org w32api ws2tcpip.h incorrectly wants (_WIN32_WINNT >= 0x0501) for getaddrinfo and freeaddrinfo
|
|
2019
|
+
# MultiByteToWideChar and WideCharToMultiByte are available for Win2K and above
|
|
2020
|
+
else
|
|
2021
|
+
AC_MSG_RESULT([no])
|
|
2022
|
+
fi
|
|
2023
|
+
fi
|
|
2024
|
+
|
|
2025
|
+
fi #END OF WIN32 CHECKS
|
|
2026
|
+
|
|
2027
|
+
#### Use Win32 support codes
|
|
2028
|
+
AM_CONDITIONAL([WIN32_CODES], [ test "x$win32_specific_codes" = xenabled ])
|
|
2029
|
+
|
|
2030
|
+
if test x"$network" = xauto; then
|
|
2031
|
+
if test x"$have_network" = xyes; then
|
|
2032
|
+
network=enabled
|
|
2033
|
+
else
|
|
2034
|
+
network=disabled
|
|
2035
|
+
fi
|
|
2036
|
+
fi
|
|
2037
|
+
if test x"$ipv6" = xauto; then
|
|
2038
|
+
if test x"$have_ipv6" = xyes; then
|
|
2039
|
+
ipv6=enabled
|
|
2040
|
+
else
|
|
2041
|
+
ipv6=disabled
|
|
2042
|
+
fi
|
|
2043
|
+
fi
|
|
2044
|
+
|
|
2045
|
+
dnl ############## FIFO enable
|
|
2046
|
+
|
|
2047
|
+
if test x"$fifo" = xauto; then
|
|
2048
|
+
if test x"$have_mkfifo" = xyes; then
|
|
2049
|
+
fifo=enabled
|
|
2050
|
+
else
|
|
2051
|
+
fifo=disabled
|
|
2052
|
+
fi
|
|
2053
|
+
fi
|
|
2054
|
+
|
|
2055
|
+
if test x"$fifo" = xenabled; then
|
|
2056
|
+
AC_DEFINE(FIFO, 1, [ Define if FIFO support is enabled. ])
|
|
2057
|
+
if test x"$have_mkfifo" = xno; then
|
|
2058
|
+
AC_MSG_WARN( [ You forced FIFO code while I think there is no mkfifo() available! ] )
|
|
2059
|
+
fi
|
|
2060
|
+
fi
|
|
2061
|
+
|
|
2062
|
+
dnl ############## Network enable
|
|
2063
|
+
if test x"$network" = xenabled; then
|
|
2064
|
+
AC_DEFINE(NETWORK, 1, [ Define if network support is enabled. ])
|
|
2065
|
+
if test x"$have_network" = xno; then
|
|
2066
|
+
AC_MSG_WARN( [ You forced network code while I think there is support missing! ] )
|
|
2067
|
+
fi
|
|
2068
|
+
fi
|
|
2069
|
+
|
|
2070
|
+
if test x"$ipv6" = xenabled; then
|
|
2071
|
+
AC_DEFINE(IPV6, 1, [ Define if IPV6 support is enabled. ])
|
|
2072
|
+
if test x"$have_ipv6" = xno; then
|
|
2073
|
+
AC_MSG_WARN( [ You forced IPv6 code while I think there is no getaddrinfo() available! ] )
|
|
2074
|
+
fi
|
|
2075
|
+
fi
|
|
2076
|
+
|
|
2077
|
+
dnl ############## Final Output
|
|
2078
|
+
|
|
2079
|
+
# Do that here to prevent the above tests usign -lltdl...
|
|
2080
|
+
if test "x$modules" = xenabled; then
|
|
2081
|
+
LIBS="-lltdl $LIBS"
|
|
2082
|
+
fi
|
|
2083
|
+
|
|
2084
|
+
AC_CONFIG_FILES([
|
|
2085
|
+
Makefile
|
|
2086
|
+
libmpg123.pc
|
|
2087
|
+
mpg123.spec
|
|
2088
|
+
doc/Makefile
|
|
2089
|
+
src/Makefile
|
|
2090
|
+
src/output/Makefile
|
|
2091
|
+
src/libmpg123/Makefile
|
|
2092
|
+
src/libmpg123/mpg123.h
|
|
2093
|
+
])
|
|
2094
|
+
|
|
2095
|
+
AC_OUTPUT
|
|
2096
|
+
|
|
2097
|
+
|
|
2098
|
+
|
|
2099
|
+
dnl ############## Display Message
|
|
2100
|
+
|
|
2101
|
+
echo "
|
|
2102
|
+
$PACKAGE_NAME $PACKAGE_VERSION
|
|
2103
|
+
|
|
2104
|
+
Install path ............ $prefix
|
|
2105
|
+
CPU Optimization ........ $cpu_type
|
|
2106
|
+
Compiler Optimization ... $with_optimization
|
|
2107
|
+
Gapless Support ......... $gapless
|
|
2108
|
+
Debugging ............... $debugging
|
|
2109
|
+
Seek table size ......... $seektable
|
|
2110
|
+
FIFO support ............ $fifo
|
|
2111
|
+
Buffer .................. $buffer
|
|
2112
|
+
Network (http streams) .. $network
|
|
2113
|
+
Network Sockets ......... $network_type
|
|
2114
|
+
IPv6 (getaddrinfo) ...... $ipv6"
|
|
2115
|
+
if test x"$LARGEFILE_BITS" = x; then
|
|
2116
|
+
echo " File offsets ............ default"
|
|
2117
|
+
else
|
|
2118
|
+
echo " File offsets ............ $LARGEFILE_BITS"
|
|
2119
|
+
echo " The lib will (try to) support default offset size, too."
|
|
2120
|
+
fi
|
|
2121
|
+
echo " LFS alias symbols ....... $lfs_alias ($LFS_ALIAS_BITS)"
|
|
2122
|
+
|
|
2123
|
+
echo " Alignment checks ........ $aligncheck"
|
|
2124
|
+
if test x"$aligncheck" = xenabled; then
|
|
2125
|
+
if test x"$ccalign" != xyes; then
|
|
2126
|
+
echo " (without effect since special alignment is not employed)"
|
|
2127
|
+
fi
|
|
2128
|
+
if test x"$GCC" = xyes; then
|
|
2129
|
+
echo " (note that newer gcc 4.x versions do not use/need the align check)"
|
|
2130
|
+
fi
|
|
2131
|
+
fi
|
|
2132
|
+
echo -n "
|
|
2133
|
+
Core libmpg123 features:
|
|
2134
|
+
Integer conversion ...... $integers
|
|
2135
|
+
New/old WRITE_SAMPLE .... $newoldwritesample
|
|
2136
|
+
Layer I ................. $layer1
|
|
2137
|
+
Layer II ................ $layer2
|
|
2138
|
+
Layer III ............... $layer3
|
|
2139
|
+
NtoM resampling ......... $ntom
|
|
2140
|
+
downsampled decoding .... $downsample
|
|
2141
|
+
Feeder/buffered input ... $feeder
|
|
2142
|
+
ID3v2 parsing ........... $id3v2
|
|
2143
|
+
String API .............. $string
|
|
2144
|
+
ICY parsing/conversion .. $icy
|
|
2145
|
+
Error/warning messages .. $messages
|
|
2146
|
+
Win32 Unicode File Open.. $win32_unicode
|
|
2147
|
+
Feature Report Function.. $feature_report
|
|
2148
|
+
Output formats (nofpu will disable all but 16 or 8 bit!):
|
|
2149
|
+
8 bit integer ........... $int8
|
|
2150
|
+
16 bit integer .......... $int16
|
|
2151
|
+
32/24 bit integer ....... $int32
|
|
2152
|
+
real (32 bit float) ..... $real
|
|
2153
|
+
|
|
2154
|
+
Note: Disabling core features is not commonly done and some combinations might not build/work. If you encounter such a case, help yourself (and provide a patch) or just poke the maintainers.
|
|
2155
|
+
"
|
|
2156
|
+
# just an empty line
|
|
2157
|
+
echo
|
|
2158
|
+
|
|
2159
|
+
echo " Modules ................. $modules"
|
|
2160
|
+
echo " Module suffix ........... $with_module_suffix"
|
|
2161
|
+
echo " Checked audio modules ... $check_modules
|
|
2162
|
+
Detected audio support ..$output_modules
|
|
2163
|
+
Default output module ... $default_output_module
|
|
2164
|
+
"
|
|
2165
|
+
if test x"$modules" = xdisabled; then
|
|
2166
|
+
echo "The _single_ active output module is being statically linked in.
|
|
2167
|
+
"
|
|
2168
|
+
fi
|
|
2169
|
+
if test x"$with_optimization" = x0; then
|
|
2170
|
+
echo "No optimization flags chosen, make sure you have something basic in your CFLAGS at least...
|
|
2171
|
+
"
|
|
2172
|
+
fi
|
|
2173
|
+
if test x"$debugging" = xenabled; then
|
|
2174
|
+
echo "CFLAGS='$CFLAGS'"
|
|
2175
|
+
echo "LIBS='$LIBS'"
|
|
2176
|
+
else
|
|
2177
|
+
echo "Next type 'make' and then 'make install'."
|
|
2178
|
+
fi
|